Kev-8B (Qwen3)
Vorherige Generation (Qwen3). Dieser Checkpoint bleibt als schnelle Option auf Apple Silicon erhalten (sein reines Attention-Backbone führt den gepackten Vorwärtspass mit voller Geschwindigkeit auf MPS aus). Für Genauigkeit und Kalibrierung verwende Kev-9B: Im gesperrten Test erreicht es außerhalb der Domäne 0.837 gegenüber 0.780 für dieses Modell auf denselben Items. Gewichte:
jaredpalmer/kev-8b.
Kev-8B ist ein Entscheidungsmodell: ein Dokument (der Zustand) und eine Menge typisierter Fragen hinein, eine Wahrscheinlichkeitsverteilung pro Frage heraus, in einem einzigen Vorwärtspass. Keine Textgenerierung. Es ist ein LoRA-Adapter (r=16) plus ein Pointer-Head auf Qwen/Qwen3-8B-Base (Revision 49e3418f) und bedient den öffentlichen /v1/systemone-Vertrag von TypeSafe.
Der genaueste Kev. Der beste Checkpoint jeder Größe unter einem eingefrorenen, prüfsummierten Protokoll: beste In-Distributions-Genauigkeit, beste Out-of-Domain-Genauigkeit (0.796 auf transfer-v4 dev, sechs Punkte von Jev entfernt), bestes zurückgehaltenes Regel-Reasoning jedes Kev bei 8B. Dasselbe Rezept mit zwei Seeds: 0.796 / 0.774; dieser Checkpoint ist der auf der Development-Partition ausgewählte Seed.
- Hub:
jaredpalmer/kev-8b(dieses Repo; Versuchv7-final/00-trial-0) - Code, Suites, jeder Versuch mit Hashes und gepaarten Bootstraps: github.com/jaredpalmer/kev —
PLAN.md(vollständige Aufzeichnung am Git-Tagresearch-archive-2026-09-24),runs/leaderboard.md
Ergebnisse (für jede Zeile dieselben eingefrorenen Items)
| Kev-0.5B (Prototyp) | Kev-0.6B | Kev-4B | Kev-8B | Jev | |
|---|---|---|---|---|---|
| In-Distributions-Genauigkeit (decision-v4 dev, 1,200 q) | 0.712 | 0.801 | 0.854 | 0.863 | 0.845 |
| Out-of-Domain-Genauigkeit (transfer-v4 dev, 560 q) | 0.561 | 0.620 | 0.790 | 0.796 | 0.857 |
| Out-of-Domain-Brier | 0.50 | 0.536 | 0.328 | 0.337 | 0.211 |
| Sichere Fehler außerhalb der Domäne (p ≥ 0.9 und falsch) | – | 10.8% | 8.2% | 9.9% | 3.7% |
| Zurückgehaltene Policy-Strukturen, beide Geschwister korrekt | – | 0.08 | 0.73 | 0.69 | 0.86 |
| Optionsreihenfolgen-Kipprate | 0.21 | 0.02 | 0.00 | 0.00 | 0.00 |
Out-of-Domain-Genauigkeit pro Quelle (Kev-8B / Jev): QNLI 0.91 / 0.93, SciQ 1.00 / 0.99, TweetEval-offensive 0.79 / 0.81, PAWS 0.78 / 0.79, MMLU 0.70 / 0.90, Emotion 0.56 / 0.59, deadline (3-stufige Datumsarithmetik) 0.60 / 0.93, (A and B) or not C 0.91 / 0.97, if A then not B else C 0.59 / 0.78.
Seeds: zwei Seeds auf decision-v7: Transfer 0.796 / 0.774, zurückgehaltene Regelpaare 0.69 / 0.64 (Jev 0.86); dieser Checkpoint ist Seed 0. Trainiert auf decision-v7 (10k öffentliche Datensätze + 896 Policy-Datensätze über neun Template-Familien inkl. vier ordinaler Score-Schwellenfamilien + 1,680 Datensätze aus 60 zufälligen Regelstrukturen mit Negation an beliebiger Stelle); Development-/Test-Items sind byte-identisch zu v4, daher ist jede Zahl hier mit früheren Checkpoints vergleichbar.
Gesperrter Test, einmal gelesen (runs/locked/kev-8b-v7-preview-ungated/): In-Distribution 0.870 (Brier 0.193), Out-of-Domain 0.780 (Brier 0.327, sichere Fehler 7.6%, zurückgehaltene Paare 0.62). Diese Partition wird für diesen Checkpoint nicht erneut gelesen.
Was wir beim Bauen gelernt haben
- Kapazität dominiert außerhalb der Domäne. Bei gleichem Budget an öffentlichen Beispielen und synthetischen Daten ist 0.6B → 4B +14–19 pp; 4B → 8B ist +1–7 pp.
- Feinabstimmung erodiert die Fähigkeit der Basis, und die Lernrate steuert das. Die 4B-Basis erreicht zero-shot mit einem Buchstaben-Readout 0.688 auf denselben MMLU-Items und 0.787 auf PAWS; das Standardrezept (lr 2e-4) trainierte auf 0.60–0.66 / 0.56–0.71 herunter. Die Lernrate auf 5e-5 zu senken holt das meiste davon zurück und ist die größte einzelne Rezeptverbesserung, die wir gefunden haben; weniger LoRA-Zielmodule und kleinere Ränge helfen weniger.
- Mehr öffentliche Trainingsdaten heben die In-Distributions-Genauigkeit und senken den Transfer bei 4B (10k vs. 3.4k Datensätze: −3 pp). Wissens-MCQ-Quellen (ARC, OpenBookQA, CommonsenseQA) heben die In-Distributions-Genauigkeit auf 0.86, ohne den Transfer zu bewegen.
- Programmatische kontrastive Policy-Paare lehren die trainierten Regelstrukturen (both-correct 0.85–1.0), übertragen sich aber nur teilweise auf ungesehene Strukturen (0.5–0.6 bei 4B, 0.03–0.11 bei 0.6B).
Bekannte Grenzen
- Zurückgehaltenes Policy-Reasoning (ungesehene Regelkompositionen, Datumsarithmetik mit Kulanzfristen) ist weit von Jev entfernt.
- Produktförmige Fragen ohne Trainingsanalogon sind nicht garantiert; miss an deinen eigenen Eingaben.
- Out-of-Domain-Wahrscheinlichkeiten sind brauchbar, aber nicht kalibriert (rohes ECE 0.128); eine In-Domain gefittete Temperatur überträgt sich nicht.
- 8B fp32 braucht ~33 GB und passt nicht auf einen 32-GB-Mac;
KEV_DTYPE=bf16(~17 GB) passt. Das Training dauerte ~70 min auf einer H100.
Training
Eingefrorene Suite evals/v6/decision-v6 (Development-/Test-Bytes identisch zu v4): 13,000 öffentliche Datensätze (1,000 pro Quelle: die zehn v4-Quellen plus ARC-Challenge, OpenBookQA, CommonsenseQA) plus zwei programmatische Policy-Arme mit 448 Datensätzen, zwei Epochen, LoRA r=16 auf Attention- und MLP-Projektionen, Pointer-Head von Grund auf, Cross-Entropy auf der Optionsverteilung, lr 5e-5 (OneCycle), effektiver Batch 8, bf16-Autocast mit fp32-Master-Gewichten, Gradient Checkpointing, eine H100 (~70 min). Augmentierung: Optionspermutation, None-of-the-above-Einfügung, Distraktoren, None-Minimalpaare bei 25% der Choice-Datensätze. Es wurden keine Jev-Ausgaben für das Training verwendet.
Evaluationsprotokoll
Development-Partitionen wählen Modelle aus; die gesperrte Test-Partition wird höchstens einmal pro Kandidat gelesen. Jede Zahl trägt Suite-Hash, Code-Hashes und Git-Commit in result.json. Siehe PLAN.md am Git-Tag research-archive-2026-09-24 („Evidence and corrections”) für die Korrekturen, die wir an unseren eigenen früheren Behauptungen vorgenommen haben.
Verwendung
uv run --extra serve python -m kev.serve --run jaredpalmer/kev-8b --port 8008 # KEV_DTYPE=bf16 on a 32 GB Mac
Jeder TypeSafe-kompatible Client funktioniert: TypeSafeClient(api_key="local", base_url="http://127.0.0.1:8008", model="kev-latest").
Lizenz
Apache-2.0 für den Adapter und den Head; die Qwen3-Basis steht unter Apache-2.0; Datensätze tragen ihre eigenen Lizenzen.