Kev-0.6B (Qwen3)
Vorherige Generation (Qwen3). Bleibt als schnelle kleine Option auf Apple Silicon erhalten (0.12 s pro Anfrage mit fünf Fragen gegenüber 0.33 s für Kev-0.8B). Für Genauigkeit verwende Kev-0.8B: Im gesperrten Test erreicht es außerhalb der Domäne 0.668 gegenüber 0.642 für dieses Modell auf denselben Items. Gewichte:
jaredpalmer/kev-0.6b.
Kev-0.6B 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-0.6B-Base und bedient den öffentlichen /v1/systemone-Vertrag von TypeSafe.
Das kleine Mitglied der Kev-Familie. Es ist der beste 0.6B-Checkpoint unter einem eingefrorenen, prüfsummierten Evaluationsprotokoll: die Daten des 4B/8B-Rezepts (decision-v7) bei lr 1e-4, drei Seeds (Transfer 0.613 / 0.605 / 0.620), nachdem acht Ein-Knopf-Mutationen und drei Seeds der vorherigen Daten nichts Besseres als 0.61 fanden. Außerhalb der Domäne ist es ein 0.6B-Modell – verwende Kev-4B für Genauigkeit; verwende dieses, wo Speicher oder Latenz das 4B ausschließen, und miss an deinen eigenen Daten.
- Hub:
jaredpalmer/kev-0.6b(dieses Repo; Versuchv7-06b/02-trial-2, Seed 2 von 3) - Code, Suites, Ergebnisse und das vollständige Forschungslog: github.com/jaredpalmer/kev — siehe
PLAN.md(vollständige Aufzeichnung am Git-Tagresearch-archive-2026-09-24),runs/leaderboard.mdundevals/v4/*/manifest.json
Was sich seit Kev-0.5B geändert hat
| Kev-0.5B | Kev-0.6B (dieses) | |
|---|---|---|
| Backbone | Qwen2.5-0.5B | Qwen3-0.6B-Base |
| Trainingsdatensätze | 9,000 (sechs Quellen) | 12,576 (zehn öffentliche Quellen + 896 Policy-Minimalpaare + 1,680 Datensätze aus 60 zufälligen Regelstrukturen) |
| None-of-the-above | nur Augmentierungs-Fix | + Minimalpaare: derselbe Zustand gerendert, einmal mit der richtigen Option vorhanden und einmal entfernt |
| In-Distributions-Genauigkeit (decision-v4 dev) | 0.712 | 0.801 |
| Out-of-Domain-Genauigkeit (transfer-v4 dev) | 0.561 | 0.620 |
| None-Option vorhanden, Genauigkeit | 0.25 (transfer-v1) | 0.80 |
| Seeds hinter der Zahl | 1 | 3 (Transfer 0.605–0.620) |
Jev (typesafe-ai/jev über Vercel AI Gateway) auf denselben eingefrorenen Development-Sets: 0.845 In-Distribution, 0.857 Out-of-Domain. Transfer-Genauigkeit pro Quelle für diesen Checkpoint: QNLI 0.85, SciQ 0.93, TweetEval-offensive 0.69, PAWS 0.59, Emotion 0.49, MMLU 0.50; zurückgehaltene Policy-Strukturen nahe dem Zufall.
Bekannte Grenzen
- Außerhalb der Domäne ist es ein 0.6B-Modell. Die Transfer-Genauigkeit ist über jeden von uns versuchten Hyperparameter flach bei ~0.60 (acht Ein-Knopf-Mutationen, drei Seeds). Dasselbe Rezept erreicht bei 4B 0.72–0.75 und bei 8B 0.74–0.77; die Kapazität, nicht die Daten, ist bei dieser Größe der Engpass.
- Zurückgehaltenes Policy-Reasoning scheitert: Bei programmatischen Policy-Paaren, deren Regelstruktur nie trainiert wurde, liegt both-siblings-correct bei 6–11% (Kev-4B 0.73, Jev 0.86).
- Ordinal-Hedging: Bei 3-stufigen Score-Fragen mit Datumsarithmetik kollabiert es auf die mittlere Stufe.
- Die Rate sicherer Fehler außerhalb der Domäne liegt bei 11% (≥0.9 Konfidenz und falsch); rohes ECE 0.09 In-Domain, 0.15 Out-of-Domain. Wahrscheinlichkeiten sind In-Domain brauchbar; behandle sie anderswo als Hinweis.
- Gesperrter Test, einmal gelesen (
runs/locked/kev-06b-v7-ungated/): In-Distributions-Genauigkeit 0.808 (Brier 0.266, ECE 0.089), Out-of-Domain 0.642 (Brier 0.483, ECE 0.128, sichere Fehler 7.9%). Diese Partition wird für diesen Checkpoint nicht erneut gelesen.
Architektur
Prefill-only kausales LM mit einer block-kausalen Attention-Maske: ein geteiltes Zustandspräfix, ein isolierter Branch pro Frage und ein Pointer-Readout über Optionsgrenzen-Token. Fragen, die in eine Anfrage gepackt werden, erhalten genau die Wahrscheinlichkeiten, die sie allein erhalten würden (gemessene maximale Abweichung 4e-6). Details in der README des Repos.
Training
Eingefrorene Suite evals/v7/decision-v7 (das Manifest pinnt Datensatz- und Basismodell-Revisionen): 10,000 öffentliche Datensätze (1,000 pro Quelle), 896 Policy-Minimalpaar-Datensätze über neun Template-Familien und 1,680 Datensätze aus 60 zufällig generierten Regelstrukturen, zwei Epochen, LoRA r=16 auf Attention- und MLP-Projektionen bei lr 1e-4, Pointer-Head von Grund auf, Cross-Entropy auf der Optionsverteilung, bf16-Autocast mit fp32-Master-Gewichten auf einer H100 (~12 min). Augmentierung: Optionspermutation, None-of-the-above-Einfügung, Distraktoren und 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; es existiert eine gesperrte Test-Partition, die höchstens einmal pro befördertem Kandidaten gelesen wird. Jede obige Zahl trägt den Suite-Hash, Code-Hashes und Git-Commit in result.json. Vergleiche verwenden einen record-geclusterten gepaarten Bootstrap. 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
from typesafe import TypeSafeClient # any TypeSafe-compatible client
client = TypeSafeClient(api_key="local", base_url="http://127.0.0.1:8008", model="kev-latest")
Bediene es aus dem Repo mit uv run --extra serve python -m kev.serve --run jaredpalmer/kev-0.6b --port 8008.
Lizenz
Apache-2.0 für den Adapter und den Head. Das Basismodell steht unter Apache-2.0 (Qwen3). Trainingsdatensätze tragen ihre eigenen Lizenzen.