jevkt-checkpoints / README.md
Unggi's picture
README: 2026-11-07 Pod B backup (e33, e35, e41-e45, e16/pykt remainders)
58509c6 verified
|
Raw History Blame Contribute Delete
6.57 kB
---
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.