Modèles de décision ouverts, mesurés à périmètre égal
Kahn1 4B, Clef-flash, Tev1, Laya et JEV sur les mêmes 14 663 exemples réservés et les 231 exemples publics de JevBench, sur un seul GPU : les chiffres, la méthode de test, et les biais que l'on connaît, y compris les nôtres.
Mis à jour le 2 octobre 2026
01 · En bref
Clef-flash, un modèle de 9B, est le plus précis sur notre holdout (74,8 %), devant JEV (73,2 %) et Kahn1 4B (72,4 %), grâce à Choice. Sur JevBench, Kahn1 4B, Jev, JevK5 et Clef-flash tiennent en 4 points, et aucun écart entre Kahn1 4B et l'un d'eux n'est significatif. Tev1 (Together AI, 4B, la même base que Kahn1) est au niveau de Kahn1 4B sur le holdout (72,0 %, écart non significatif), le meilleur en Noul (80,5 %) et le mieux calibré (ECE 0,060), mais loin derrière sur JevBench (76,2 %, niveau difficile 52,3 %). Laya, un encodeur de 421M, est loin derrière sur les deux, alors que ses données d'entraînement couvrent les six sources du holdout.
| Groupe | Exemples | Kahn1 4B | Clef-flash | JEV 1.13.0 | Tev1 4B | Laya |
|---|---|---|---|---|---|---|
| Global | 14 663 | 72,4 % | 74,8 % | 73,2 % | 72,0 % | 59,1 % |
| Choice | 6 050 | 92,3 % | 98,6 % | 94,5 % | 93,0 % | 83,2 % |
| Score | 6 210 | 51,9 % | 53,7 % | 52,0 % | 48,4 % | 29,5 % |
| Noul | 2 403 | 75,5 % | 69,7 % | 74,4 % | 80,5 % | 74,8 % |
ECE (0 est parfait) : Kahn1 4B 0,072, Clef-flash 0,101, JEV 0,113, Tev1 0,060, Laya 0,184. Chaque système est mesuré tel qu'il est livré : Kahn1 avec sa calibration par température, Laya avec la sienne, Clef-flash en softmax brute, Tev1 par les probabilités de ses lettres d'option (qu'il ne présente pas comme une confiance), JEV tel que l'API répond.
02 · Holdout Kahn1, par dataset
14 663 exemples issus des splits de test de six datasets publics : intentions (BANKING77, MASSIVE), échelles à 5 niveaux (SST-5, avis d'applications), implication (RTE, SciTail). Une question par requête, mêmes options pour tous : chaque question Choice liste la bonne intention et 7 distracteurs tirés de l'état, 8 options en tout.
| Groupe | Exemples | Kahn1 4B | Clef-flash | JEV 1.13.0 | Tev1 4B | Laya |
|---|---|---|---|---|---|---|
| Global | 14 663 | 72,4 % | 74,8 % | 73,2 % | 72,0 % | 59,1 % |
| Choice | 6 050 | 92,3 % | 98,6 % | 94,5 % | 93,0 % | 83,2 % |
| Score | 6 210 | 51,9 % | 53,7 % | 52,0 % | 48,4 % | 29,5 % |
| Noul | 2 403 | 75,5 % | 69,7 % | 74,4 % | 80,5 % | 74,8 % |
| BANKING77 | 3 076 | 91,8 % | 99,3 % | 94,8 % | 94,3 % | 86,1 % |
| MASSIVE | 2 974 | 92,9 % | 97,8 % | 94,1 % | 91,6 % | 80,1 % |
| SST-5 | 2 210 | 55,0 % | 58,2 % | 57,7 % | 57,0 % | 40,4 % |
| App reviews | 4 000 | 50,2 % | 51,2 % | 48,9 % | 43,6 % | 23,5 % |
| SciTail | 2 126 | 74,1 % | 67,6 % | 72,4 % | 79,4 % | 74,5 % |
| RTE | 277 | 85,9 % | 85,9 % | 89,9 % | 88,8 % | 77,3 % |
Apparié à Kahn1 4B, exemple par exemple (test exact de McNemar) : Clef-flash réussit 1 187 exemples que Kahn1 rate, Kahn1 836 que Clef-flash rate (p = 6 × 10−15) ; JEV 930 contre 819 (p = 0,01) ; Laya 1 010 contre 2 969 (p = 6 × 10−221) ; Tev1 802 contre 861 (p = 0,15). Clef-flash et JEV sont donc significativement devant Kahn1 4B sur ce holdout.
La formulation de Noul change beaucoup les résultats. Posée comme la phrase brute (la forme native de Jev), la question devient « est-ce vrai en général ? » : JEV tombe à 48,7 %, Clef-flash à 53,4 %, Laya à 69,5 %. Les tableaux utilisent The text supports this statement: {statement}, la formulation la plus favorable aux trois, celle que Kahn1 pose lui-même.
03 · JevBench, par niveau
JevBench est un benchmark public indépendant pour les modèles de classe Jev, avec des rubriques longues et des décisions difficiles. Clef-flash, Tev1 et Laya ont reçu les questions et les états JevBench natifs, descriptions des critères comprises, comme le runner de JevBench les envoie à Jev.
| Niveau | Exemples | Kahn1 4B | JEV 1.13.0 | JevK5 v0.2 | Clef-flash | Tev1 4B | Laya |
|---|---|---|---|---|---|---|---|
| Tous | 231 | 87,4 % | 86,6 % | 86,1 % | 83,5 % | 76,2 % | 57,6 % |
| Standard | 72 | 97,2 % | 98,6 % | 95,8 % | 97,2 % | 97,2 % | 70,8 % |
| Facile | 48 | 100,0 % | 100,0 % | 100,0 % | 100,0 % | 100,0 % | 95,8 % |
| Difficile | 111 | 75,7 % | 73,0 % | 73,9 % | 67,6 % | 52,3 % | 32,4 % |
Apparié à Kahn1 4B : Clef-flash 12 contre 21 (p = 0,16, non significatif), Laya 8 contre 77 (p = 3 × 10−15), Tev1 7 contre 33 (p = 4 × 10−5), Jev 11 contre 13 (p = 0,84), JevK5 10 contre 13 (p = 0,68). Trois exécutions sur les mêmes exemples : la nôtre pour Kahn1, Clef-flash, Tev1 et Laya, celle de JevBench pour Jev, celle des auteurs de JevK5 pour JevK5 (l'exécution de JevBench donne 85,3 % à JevK5 v0.2).
04 · Comment chaque système a tourné
- Mêmes exemples, mêmes options, mêmes labels. Choice sur les 8 mêmes options que Kahn1, Score sur les mêmes niveaux, Noul dans la formulation ci-dessus. Les questions sont envoyées dans les champs de Jev (
type,instructions,criteria), le format natif de Clef-flash et Laya. - Kahn1 4B :
Okura66/Kahn1-Qwen3.5-4B, vLLM, bf16, k = 3 ordres d'options moyennés, calibration par température, ses prédictions enregistrées. - Clef-flash :
Cloudflare/clef-flashavec son code de publication (joint_schema_model.py), transformers, softmax par question. Poids en int8 (bitsandbytes) : en bf16, ses 18,8 Go ne tiennent pas dans les 16 Go de notre carte. Texte seul. - Tev1 :
togethercomputer/Tev1-4B-experimental, vLLM, bf16, son prompt système recommandé et sa décision JSON (état, question, options étiquetées par lettres), thinking désactivé. Sa réponse est la lettre la plus probable au premier token, celle qu'il génère en greedy ; les probabilités des lettres servent de confiance. Score passe par ses options, dans l'ordre des niveaux ; Noul par deux options, oui et non. - Laya :
convaiinnovations/laya0.3.23, sonRouterrecommandé (il choisit le checkpoint anglais ou multilingue), sa calibration livrée. - JEV 1.13.0 : l'API TypeSafe, appelée par nous avec les mêmes exemples (holdout) ; sur JevBench, les résultats publiés par JevBench.
- Matériel : une RTX 5070 Ti (16 Go), WSL2. Statistiques : test exact de McNemar apparié, ECE sur 15 tranches de pmax. Une seule exécution par système : tous sont déterministes à l'inférence.
05 · Biais connus et limites
- Le holdout est le nôtre. Nous avons choisi ses six sources et sa forme (8 options en Choice). Elles ont été écartées de l'entraînement de Kahn1, mais Kahn1 a été entraîné sur des tâches voisines : intentions (CLINC150, qui contient des intentions bancaires), sentiment (Yelp, Amazon, IMDB), NLI (MNLI, ANLI, WANLI…).
- Laya a été entraîné sur les six sources du holdout (BANKING77, MASSIVE, SST-5, SciTail, RTE, app_reviews, selon sa fiche) : ses chiffres de holdout sont in-distribution, pas zero-shot, et pourtant derrière.
- Les données d'entraînement de Clef-flash ne sont pas publiées (« internal synthetic datasets »). BANKING77 figure dans les benchmarks de son éditeur. Voir la section suivante.
- Tev1 a été entraîné sur BANKING77 et SST-5 (et MultiNLI, BoolQ, AG News, plus des règles synthétiques, selon son
DATA_SOURCES.md) : ses chiffres sur ces deux sources sont in-distribution. Pas sur JevBench, qu'il déclare n'avoir pas utilisé. Sa licence de poids est encore « en cours de finalisation ». - Clef-flash a tourné en int8, pas en bf16 comme publié : ses chiffres peuvent bouger un peu en bf16.
- Laya lit 512 tokens avec son checkpoint anglais : 57 des 231 états JevBench sont tronqués. Lu en entier par son checkpoint multilingue (8 192 tokens), il fait moins bien (46,8 %) : la troncature n'explique pas son score.
- Réglages livrés : Kahn1 moyenne 3 ordres d'options et se calibre, les autres répondent en une passe, Tev1 avec les options dans l'ordre donné. L'ECE compare donc des systèmes tels que livrés, pas après une recalibration commune.
- Trois runners sur JevBench ; seule la moitié publique de JevBench a pu être testée ici.
06 · Un système a-t-il vu les sources du test ?
Deux tests. D'abord une sonde : 2 000 exemples tirés des splits train de cinq sources, posés exactement comme le holdout. Un modèle qui a mémorisé ces exemples fait mieux sur train que sur test ; un modèle qui n'a jamais vu la source fait pareil sur les deux. Kahn1, qui n'a vu aucune de ces sources, sert de témoin ; Noul y est posé comme la phrase brute pour Clef-flash et Laya, des deux côtés.
| Source | Kahn1 4B, test → train | Clef-flash, test → train | Tev1 4B, test → train | Laya, test → train |
|---|---|---|---|---|
| BANKING77 | 91,8 % → 91,5 % (-0,3 pt) | 99,3 % → 99,2 % (-0,1 pt) | 94,3 % → 94,8 % (+0,5 pt) | 86,1 % → 84,7 % (-1,4 pt) |
| MASSIVE | 92,9 % → 93,4 % (+0,5 pt) | 97,8 % → 98,7 % (+0,9 pt) | 91,6 % → 92,3 % (+0,7 pt) | 80,1 % → 81,3 % (+1,2 pt) |
| SST-5 | 55,0 % → 55,4 % (+0,4 pt) | 58,2 % → 60,5 % (+2,3 pt) | 57,0 % → 57,9 % (+0,9 pt) | 40,4 % → 36,6 % (-3,8 pt) |
| SciTail | 74,1 % → 72,0 % (-2,2 pt) | 50,3 % → 48,2 % (-2,1 pt) | 60,3 % → 58,1 % (-2,3 pt) | 68,3 % → 66,8 % (-1,6 pt) |
| RTE | 85,9 % → 87,3 % (+1,4 pt) | 77,3 % → 77,1 % (-0,2 pt) | 81,6 % → 81,9 % (+0,3 pt) | 78,0 % → 73,7 % (-4,3 pt) |
Aucun système ne montre d'écart au-delà de celui du témoin, ni Laya ni Tev1, qui déclarent pourtant avoir été entraînés sur ces sources (toutes pour Laya, BANKING77 et SST-5 pour Tev1). La sonde détecte la mémorisation, pas l'exposition : un modèle entraîné sur un split train sans sur-apprentissage fait aussi bien sur le test. Elle ne prouve donc pas qu'un système n'a pas vu ces données.
Ensuite, le gain par rapport au modèle de base, à k = 1 sans calibration : ce que le fine-tuning ajoute au modèle brut.
| Groupe | Qwen3.5-4B (base) | Kahn1 4B, k = 1 | Tev1 4B | Qwen3.5-9B (base, fp8) | Clef-flash |
|---|---|---|---|---|---|
| Global | 62,2 % | 72,0 % | 72,0 % | 66,3 % | 74,8 % |
| Choice | 88,3 % | 92,1 % | 93,0 % | 92,0 % | 98,6 % |
| Score | 39,3 % | 51,2 % | 48,4 % | 45,2 % | 53,7 % |
| Noul | 55,7 % | 75,2 % | 80,5 % | 55,9 % | 69,7 % |
| BANKING77 | 87,9 % | 91,2 % | 94,3 % | 91,8 % | 99,3 % |
| MASSIVE | 88,7 % | 93,1 % | 91,6 % | 92,3 % | 97,8 % |
Sur BANKING77, Clef-flash supprime 92 % des erreurs de son modèle de base (de 8,2 % à 0,7 % d'erreurs), et 71 % sur MASSIVE ; Kahn1 4B en supprime 27 % et 39 % (Kahn1 n'a vu aucun des deux), et Tev1, qui a vu BANKING77 mais pas MASSIVE, 53 % et 26 %. Un gain aussi fort sur les intentions est ce que donne un entraînement sur des données d'intention, qu'il s'agisse de ces datasets ou de datasets proches, et ces deux tests ne permettent pas de trancher. Lecture honnête : l'avance de Clef-flash en Choice est réelle sur ces exemples, mais on ne peut pas affirmer qu'elle est zero-shot. Les modèles de base sont lus avec le format de prompt de Kahn1, en fp8 pour le 9B.
07 · Données et reproduction
Résultats par exemple : open_models_heldout.csv (holdout, juste ou faux et confiance pour chaque système) et open_models_jevbench.csv. L'index d'exemple renvoie à data/eval.jsonl, que training/build_dataset.py reconstruit à l'identique.
Scripts : scripts/jev_models_eval.py (Clef-flash, Laya, rapport), scripts/contamination_probe.py (sonde), scripts/eval_base.py (modèles de base). Rapports : OPEN_DECISION_MODELS.md, CONTAMINATION_PROBE.md.
Comparaisons détaillées : Kahn1 vs Clef-flash, Kahn1 vs Laya. Une erreur dans la façon dont un système a été lancé ? Ouvrez une issue, on relance.