Instructions to use LEAP-LAB-KUS/jevkt-checkpoints with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use LEAP-LAB-KUS/jevkt-checkpoints with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
File size: 6,572 Bytes
0b6a72d 7374ac2 0b6a72d 7374ac2 0b6a72d 7374ac2 0b6a72d 7374ac2 0b6a72d 7374ac2 0b6a72d 7374ac2 0b6a72d 7374ac2 58509c6 7374ac2 58509c6 7374ac2 58509c6 7374ac2 58509c6 0b6a72d 7374ac2 58509c6 7374ac2 0b6a72d 7374ac2 3c9c77e 7374ac2 0b6a72d 7374ac2 0b6a72d 7374ac2 0b6a72d 7374ac2 0b6a72d 7374ac2 58509c6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | ---
license: apache-2.0
base_model: autotrust/JEV-9B
library_name: peft
tags:
- knowledge-tracing
- system-one
- typed-decisions
- lora
- calibration
---
# jevkt-checkpoints
Fine-tuned System-One blocks (LoRA adapter + typed decision head + calibration) on top of
**autotrust/JEV-9B** (Apache-2.0; backbone Qwen/Qwen3.5-9B), plus the pyKT / classical knowledge-tracing baselines
of the **Jev-KT** project. Training data that can be shared is in
[LEAP-LAB-KUS/jevkt-synthetic](https://huggingface.co/datasets/LEAP-LAB-KUS/jevkt-synthetic).
## Licence
- Our adapters, heads and calibration files: **Apache-2.0**. The base model's licence (autotrust/JEV-9B,
Apache-2.0; Qwen3.5-9B) applies to the combined model.
- Several arms carry extra restrictions from their training data (next section). For those arms the rule is
**research use; respect the source licences**.
## Training-data provenance and use restrictions
All E16-driver (S1) arms also mix 5 % replay rows from SargeDev/jev-distill-corpus-v3 (Apache-2.0).
**Commercial Jev teacher labels.** These arms were trained on targets that include labels from TypeSafe's
commercial Jev API, called through OpenRouter:
- `typesafe/jev-1.13-20260917`: `e16/S1-ABCLODO16-*` (A+B+C LODO), `e16/S1-G-d*` (E18 grid, except `-a100`).
- `typesafe/jev-1.14-20261014`: `e16/S1-E19-*` α 0.5 arms (`a1-n16k-1model`, `a1-n16k-nopersona`, `a2-n64k`,
`b-n64k`, `b-n128k`, `b-n256k`, `b-n4k-rt`, `b-n16k-rt`), `e16/S1-SS-hlr-n16k-syn`, `e16/S1-SS-mix-n16k-syn`,
the α 0.5 arms of `e33/`, `e35/` and `e42/` (LLM-student data, labels from `jev-latest` = 1.14).
- `e41/S1-E41-FRESH-A050-ts0-syn`: `typesafe/jev-1.13-20260917` (E18 G-d512-n16k α 0.5 rows).
- Both versions: `e16/S1-MIX-E18E19-n16k-syn`, `e16/S1-MIX3-n16k-syn`.
- Indirect, through the Jev-distilled jev-distill corpus: `e15/F3-gen`.
- Without Jev labels: E19 `-a100` / `-soft-a100` arms, `e15/F2-flat`, all `-a100` arms of `e33/` / `e35/`,
`e41/` except FRESH-A050, `e45/` (E18 α 1 rows, parametric simulator only), `e44/`, and all real-KT arms listed below.
**Backbone note (`e41/`).** E41 "fresh" arms start from the plain Qwen/Qwen3.5-9B backbone (the JEV-9B backbone
safetensors, verified bit-identical to Qwen3.5-9B's text tensors) with a NEW LoRA + head; the released JEV-9B adapter and
head were not loaded. `e41/S1-E41-FRESH-B0-syn` is the untrained step-0 export. `S1-E41-FRESH-A100NR-ts0-syn` uses no
replay rows (no Jev-derived parameter or row).
**Research use; respect the source licences.**
| Arms | Source | Licence / terms |
|---|---|---|
| `e16/S1-SS-hlr-n16k-syn`, `e16/S1-SS-mix-n16k-syn`, `e16/S1-MIX3-n16k-syn` | Duolingo HLR interaction structure | **CC BY-NC 4.0** (non-commercial) |
| `meta_only/podA/e16/S1-O1-near` | Duolingo HLR | **CC BY-NC 4.0** (config + log only) |
| `meta_only/podA/e16/S1-Dmix-oth`, `meta_only/podC/e16/S1-T-mix`, `S1-O3-syn`, `S1-O3x16-syn` | ChaosNLI (via T-cls / D-mix) | **CC BY-NC 4.0** (configs + logs only) |
| `e16/S1-E19-a2-*` | XES3G5M question text (KCQRL English translation) | unclear redistribution terms |
| `e15/F1-LODO-*`, `e15/F1-cs/*`, `e15/P`, `e16/S1-ABCLODO16-*`, `e16/S1-F1pool64-rp`, `e16/S2-*`, `pykt/*`, `classical/*`, `e43/akt*` | public KT benchmarks (ASSISTments 2009/2017, Eedi NIPS 2020 tasks 3–4, XES3G5M, DBE-KT22, KDD Cup 2010 Algebra 2005, Junyi) | each dataset's own terms |
| `meta_only/podC/e16/S1-T-seq`, `S1-P-seq`, `S1-D-seq*` | KuaiRec (CC BY-SA 4.0), Lichess / football results (CC0) | ShareAlike + attribution (configs + logs only) |
| `e16/S1-E19-*`, `e42/*`, `e33/*`, `e35/*` | simulated-student answers from Llama 3.1/3.2, Gemma 3, Qwen 2.5 (E19 / E28 students, OpenRouter) and, for `e33/` / `e35/`, up to 30 further open ≤ 9B instruct models served locally (permissive licences; Llama 3 / Gemma via ungated byte-identical copies) | Llama Community Licence and Gemma Terms of Use conditions on models trained on their outputs |
## Layout
```
e15/<arm>/train_log.jsonl, e15/<arm>/ckpt-STEP/ # E15 arms (jevkt.jev9b_ft)
e15/F1-cs/<ds>-s<seed>N<N>/ckpt-*/ # one block per cold-start cell
e16/<arm>/train_log.jsonl, e16/<arm>/ckpt-STEP/ # E16 driver (jevkt.e16_rl): S1 (incl. E17-E20, LODO), S2 RL arms
meta_only/pod{A,C}/e1x/<arm>/ # configs + train logs ONLY (weights not uploaded yet)
e33/, e35/, e41/, e42/, e45/<arm>/ckpt-16000/ # E33 / E35 student-model sets, E41 fresh init, E42 1-vs-many students, E45 kNN-line formats
e43/akt/<ds>/csN<N>-s<seed>/akt_tables.pt # LLM-KT re-implementation: the in-cell AKT embedding tables only (its LoRA is never saved)
e44/pykt/pretrain/<model>/ # pyKT pretrained on E18 synthetic learners (simulator outcomes, α 1)
pykt/<ds>/pykt-<model>-s<seed>/, pykt/<ds>/coldstart/ # pyKT DLKT baselines: qid_model.ckpt + train_info.json
classical/<model>__<ds>__s<seed>.pt # leap-kt-toolkit baselines
```
Each `ckpt-STEP/` (STEP = training rows seen) holds:
- `adapter_vllm/`: vLLM LoRA export (`adapter_config.json`, `adapter_model.safetensors`, `decision_head.json`).
- `adapter/`: the same LoRA in PEFT layout.
- `head.safetensors`: the typed decision head. PPO arms also have `value_head.safetensors`.
- `judge_config.json`: slot layout and verbalizers.
- `calibration.json`: per-kind temperature fitted on the arm's validation split.
The first line of each `train_log.jsonl` records the data path, its train sha256, the objective, the replay file
and the seed. Config files carry the training machines' absolute paths (`/workspace/jev_kt/...`, `/root/models/...`);
these are informational only.
pyKT note: some pyKT checkpoints hold dataset-level aggregates as model inputs: `gkt_graph_transition.npz` (KC×KC
transition matrix) and `dimkt_diff.json` (per-question difficulty levels). Neither contains learner sequences.
Usage with JEV-9B served by vLLM (code in the Jev-KT repo):
`python -m jevkt.jev9b_kt --ds <ds> --state h25knn --adapter <ckpt dir> --lora-name <name> --load-lora`.
## Not yet included
- Weights for 68 checkpoints that are still only on stopped training pods. Their configs and logs are in `meta_only/`.
- Arms that were still training at upload time: E27 (27B) partials are in `e27/`; E44 K1 / A arms (training later).
- 2026-11-07: every checkpoint that existed only on Pod B was added (`e15`/`e16` remainders incl. E19-b-n256k,
E19-a2-n16k-a100, S2-grpo-log, `e33`, `e35`, `e41`–`e45`, pod-trained `pykt/` models). Resume / optimizer states
are never uploaded.
|