Kev-8B (Qwen3)
Génération précédente (Qwen3). Ce checkpoint est conservé comme l’option rapide sur Apple Silicon (son backbone à attention seule exécute la passe avant groupée à pleine vitesse sur MPS). Pour l’exactitude et la calibration, utilise Kev-9B : sur le test verrouillé, il obtient 0.837 contre 0.780 hors domaine face à ce modèle sur les mêmes éléments. Poids :
jaredpalmer/kev-8b.
Kev-8B est un modèle de décision : un document (l’état) et un ensemble de questions typées en entrée, une distribution de probabilité par question en sortie, en une seule passe avant. Aucune génération de texte. C’est un adaptateur LoRA (r=16) plus une tête pointeur sur Qwen/Qwen3-8B-Base (révision 49e3418f), qui sert le contrat public /v1/systemone de TypeSafe.
Le Kev le plus exact. Le meilleur checkpoint, toutes tailles confondues, sous un protocole gelé et vérifié par somme de contrôle : meilleure exactitude en distribution, meilleure exactitude hors domaine (0.796 sur transfer-v4 dev, à six points de Jev), meilleur raisonnement sur règles tenues à l’écart de tous les Kev à 8B. Même recette sur deux graines : 0.796 / 0.774 ; ce checkpoint est la graine sélectionnée sur la partition de développement.
- Hub :
jaredpalmer/kev-8b(ce dépôt ; essaiv7-final/00-trial-0) - Code, suites, chaque essai avec les hachages et les bootstraps appariés : github.com/jaredpalmer/kev —
PLAN.md(enregistrement complet à l’étiquette gitresearch-archive-2026-09-24),runs/leaderboard.md
Résultats (mêmes éléments gelés pour chaque ligne)
| Kev-0.5B (prototype) | Kev-0.6B | Kev-4B | Kev-8B | Jev | |
|---|---|---|---|---|---|
| exactitude en distribution (decision-v4 dev, 1 200 q) | 0.712 | 0.801 | 0.854 | 0.863 | 0.845 |
| exactitude hors domaine (transfer-v4 dev, 560 q) | 0.561 | 0.620 | 0.790 | 0.796 | 0.857 |
| Brier hors domaine | 0.50 | 0.536 | 0.328 | 0.337 | 0.211 |
| erreurs confiantes hors domaine (p ≥ 0.9 et faux) | – | 10.8% | 8.2% | 9.9% | 3.7% |
| structures de politique tenues à l’écart, les deux jumeaux corrects | – | 0.08 | 0.73 | 0.69 | 0.86 |
| taux de bascule selon l’ordre des options | 0.21 | 0.02 | 0.00 | 0.00 | 0.00 |
Exactitude hors domaine par source (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 (arithmétique de dates à 3 niveaux) 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.
Graines : deux graines sur decision-v7 : transfert 0.796 / 0.774, paires de règles tenues à l’écart 0.69 / 0.64 (Jev 0.86) ; ce checkpoint est la graine 0. Entraîné sur decision-v7 (10k enregistrements publics + 896 enregistrements de politique sur neuf familles de gabarits, dont quatre familles de seuils Score ordinaux + 1 680 enregistrements issus de 60 structures de règles aléatoires avec négation n’importe où) ; les éléments de développement/test sont identiques au byte près à v4, donc chaque chiffre ici est comparable avec les checkpoints antérieurs.
Test verrouillé, lu une fois (runs/locked/kev-8b-v7-preview-ungated/) : en distribution 0.870 (Brier 0.193), hors domaine 0.780 (Brier 0.327, erreurs confiantes 7.6%, paires tenues à l’écart 0.62). Cette partition ne sera plus lue pour ce checkpoint.
Ce que nous avons appris en le construisant
- La capacité domine hors domaine. À nombre d’exemples publics et budget synthétique égaux, 0.6B → 4B fait +14–19 pp ; 4B → 8B fait +1–7 pp.
- Le fine-tuning érode les capacités de base, et le taux d’apprentissage le contrôle. La base 4B, en zero-shot avec une lecture par lettre, obtient 0.688 sur les mêmes éléments MMLU et 0.787 sur PAWS ; la recette par défaut (lr 2e-4) s’est entraînée jusqu’à 0.60–0.66 / 0.56–0.71. Abaisser le lr à 5e-5 en récupère l’essentiel et constitue la plus grande amélioration de recette que nous ayons trouvée ; moins de modules cibles LoRA et des rangs plus petits aident moins.
- Plus de données d’entraînement publiques augmente l’exactitude en distribution et abaisse le transfert à 4B (10k contre 3.4k enregistrements : −3 pp). Les sources de QCM de connaissances (ARC, OpenBookQA, CommonsenseQA) portent l’exactitude en distribution à 0.86 sans bouger le transfert.
- Les paires de politique contrastives programmatiques enseignent les structures de règles entraînées (les deux corrects 0.85–1.0) mais ne se transfèrent que partiellement aux structures inédites (0.5–0.6 à 4B, 0.03–0.11 à 0.6B).
Limites connues
- Le raisonnement sur politiques tenues à l’écart (compositions de règles inédites, arithmétique de dates avec délais de grâce) est loin de Jev.
- Les questions de forme produit sans analogue à l’entraînement ne sont pas garanties ; mesure sur tes propres entrées.
- Les probabilités hors domaine sont utilisables mais non calibrées (ECE brute 0.128) ; une température ajustée en distribution ne se transfère pas.
- 8B en fp32 a besoin d’~33 GB et ne tient pas dans un Mac 32 GB ;
KEV_DTYPE=bf16(~17 GB) si. L’entraînement a pris ~70 min sur un H100.
Entraînement
Suite gelée evals/v6/decision-v6 (octets de développement/test identiques à v4) : 13 000 enregistrements publics (1 000 par source : les dix sources v4 plus ARC-Challenge, OpenBookQA, CommonsenseQA) plus deux bras de politique programmatiques de 448 enregistrements, deux époques, LoRA r=16 sur les projections d’attention et de MLP, tête pointeur à partir de zéro, entropie croisée sur la distribution des options, lr 5e-5 (OneCycle), batch effectif 8, autocast bf16 avec poids maîtres fp32, gradient checkpointing, un H100 (~70 min). Augmentation : permutation des options, insertion de none-of-the-above, distracteurs, paires minimales none sur 25 % des enregistrements Choice. Aucune sortie de Jev n’a servi à l’entraînement.
Protocole d’évaluation
Les partitions de développement sélectionnent les modèles ; la partition de test verrouillée est lue au plus une fois par candidat. Chaque chiffre porte le hachage de suite, les hachages de code et le commit git dans result.json. Voir PLAN.md à l’étiquette git research-archive-2026-09-24 (« Evidence and corrections ») pour les corrections apportées à nos propres affirmations antérieures.
Utilisation
uv run --extra serve python -m kev.serve --run jaredpalmer/kev-8b --port 8008 # KEV_DTYPE=bf16 on a 32 GB Mac
N’importe quel client compatible TypeSafe fonctionne : TypeSafeClient(api_key="local", base_url="http://127.0.0.1:8008", model="kev-latest").
Licence
Apache-2.0 pour l’adaptateur et la tête ; la base Qwen3 est Apache-2.0 ; les jeux de données portent leurs propres licences.