Kev-9B
Modellzusammenfassung
Kev-9B ist ein Entscheidungsmodell. Es liest ein Dokument (den Zustand) und eine Menge typisierter Fragen darüber und gibt eine kalibrierte Wahrscheinlichkeitsverteilung über die mit jeder Frage gelieferten Optionen zurück, in einem einzigen Vorwärtspass und ohne Text zu erzeugen. Es ist für Entwickler gedacht, die Dokumente klassifizieren, routen, triagieren oder prüfen und Wahrscheinlichkeiten brauchen, die sich als Schwellenwert nutzen lassen, etwa um unsichere Fälle zur menschlichen Prüfung zu schicken. Es implementiert die öffentliche System One API von TypeSafe (POST /v1/systemone), sodass das TypeSafe-SDK unverändert damit funktioniert. Es ist ein LoRA-Adapter und ein Pointer-Head auf Qwen3.5-9B-Base und passt auf eine GPU der 24-GB-Klasse. Diese Karte beschreibt Version 2, veröffentlicht am 2026-09-30 und in Kev 1.0 enthalten.
Modelldetails
| Entwickler | Jared Palmer (github.com/jaredpalmer/kev) |
| Modelltyp | Entscheidungsmodell: ein kausales Sprachmodell-Backbone, nur als Prefill ausgeführt, mit einem Pointer-Head über die Optionen |
| Backbone | Qwen/Qwen3.5-9B-Base (Revision 68c46c4b): 32 Schichten, 24 Gated DeltaNet (lineare Attention) und 8 volle Attention, Hidden Size 4,096; eingefroren |
| Adapter | LoRA, Rang 16, α 32, auf den Attention-, MLP- und DeltaNet-Projektionen (45.4M Parameter) |
| Head | Pointer-Head: zwei Projektionen bewerten das Schluss-Token jeder Option gegen das finale Token der Frage; ein Softmax liefert die Wahrscheinlichkeiten |
| Präzision | Trainiert mit bf16-Autocast über fp32-Gewichte; in bf16 bedient (der Adapter wird beim Laden in die Basis gemerged); in fp32 evaluiert |
| Kontext | Zustände von bis zu 65,536 Token werden bedient, plus mindestens 8,192 Token pro Frage. Trainingszustände waren höchstens 7,552 Token. |
| Validierte Kontextlänge | 8,192 Token (siehe Lange Dokumente) |
| Kalibrierung | Eine Temperatur, T = 2.19, in head.pt gespeichert und beim Laden angewandt |
| Sprachen | Englisch |
| Lizenz | Apache-2.0 (Adapter und Head); das Basismodell steht unter Apache-2.0 |
| Version | v2 (Kev 1.0): main von jaredpalmer/kev-9b, Revision b5d8c18e (veröffentlicht 2026-09-30) |
| Frühere Version | v1, dasselbe Rezept ohne die Dokument- und Skill-Stufe (T = 2.30), am Tag v1; seine Karte ist die README an diesem Tag |
Eingabe. Ein Zustand (Text oder ein JSON-Objekt oder -Array, als beschrifteter Text gerendert) und beliebig viele benannte Fragen, jede von einem von drei Typen:
| Typ | Optionen | Ausgabe |
|---|---|---|
choice |
1–255 benannte Optionen, jede mit einer optionalen Beschreibung | eine Wahrscheinlichkeit pro Option, die wahrscheinlichste Option und eine Konfidenz |
score |
1–255 geordnete Stufen | eine Wahrscheinlichkeit pro Stufe und der erwartete Stufenindex |
noul |
Ja / Nein, mit optionalen Beschreibungen | die Wahrscheinlichkeit für Ja |
Jede Frage wird als ihre eigene Zeile beantwortet, die vom geteilten Zustand fortfährt, sodass Fragen sich nicht gegenseitig beeinflussen können; der Zustand wird einmal berechnet und gecacht.
Beabsichtigte Verwendungen
- Typisierte Entscheidungen über Dokumente von einigen tausend Token: Klassifikation, Routing, Triage, Extraktionsentscheidungen, Policy- und Berechtigungsprüfungen und Beurteilung einer vorgeschlagenen Antwort gegen angegebene Kriterien.
- Workflows, die auf Konfidenz reagieren: die sicheren Fälle automatisieren und den Rest in die Warteschlange stellen, mit Schwellenwerten, die an einer beschrifteten Stichprobe der eigenen Arbeitslast des Nutzers fixiert werden.
- Ein selbst gehosteter Drop-in-Ersatz für einen System-One-Endpunkt auf einer einzelnen GPU der 24-GB-Klasse und ein Startpunkt für Feinabstimmung auf den eigenen Labels des Nutzers (
kev.train --init_from jaredpalmer/kev-9b).
Verwendungen außerhalb des Umfangs
- Textgenerierung, Chat, Zusammenfassung oder offene Fragebeantwortung. Das Modell bewertet nur die Optionen, die ihm gegeben werden.
- Vollautomatische Entscheidungen mit rechtlichen, medizinischen, finanziellen, beschäftigungsbezogenen oder ähnlichen Folgen für Menschen, ohne menschliche Prüfung.
- Fragen, deren Antwort von Fakten abhängt, die nicht im Zustand und kein Allgemeinwissen sind, und wissensintensive Prüfungen (siehe Grenzen).
- Datumsarithmetik mit Tagesgenauigkeit ohne den
KEV_DATE_FACTS=1-Präprozessor, Zustände länger als 65,536 Token und andere Sprachen als Englisch.
Verwendung
Bediene es mit dem Kev-Repo. Unter CUDA läuft es in bf16 mit fusionierten DeltaNet-Kernels und CUDA-Graphen (eine L40S oder H100; etwa 22 GB resident); auf Apple Silicon bedient derselbe Befehl es über MLX, automatisch gewählt.
git clone https://github.com/jaredpalmer/kev.git && cd kev && uv sync --extra serve
uv run --extra serve python -m kev.serve --run jaredpalmer/kev-9b --port 8008 # v2, Kev 1.0 (this card)
uv run --extra serve python -m kev.serve --run jaredpalmer/kev-9b@v1 --port 8008 # v1
from typesafe_sdk import Choice, Noul, TypeSafeClient
client = TypeSafeClient(api_key="local", base_url="http://127.0.0.1:8008", model="kev-latest")
response = client.system_one(
state="I was charged twice for order 1182. Please refund one of the charges.",
questions={
"team": Choice(instructions="Which team should handle this?",
criteria={"billing": "Charges and refunds", "shipping": "Deliveries", "returns": "Exchanges"}),
"urgent": Noul(instructions="Does this need a reply today?"),
},
)
print(response.choices["team"].choice, response.nouls["urgent"].noul)
Die kalibrierte Temperatur wird standardmäßig angewandt; KEV_TEMPERATURE=1.0 gibt die rohen Wahrscheinlichkeiten zurück. KEV_DTYPE=fp32 wählt den exakten Pfad, der zur Evaluation verwendet wird. KEV_DATE_FACTS=1 hängt die Anzahl der Tage zwischen jedem im Zustand gefundenen Datumspaar an, was zu nutzen das Modell trainiert wurde. Ein Zustand über 65,536 Token wird mit einem 422 abgelehnt, der seine Token-Anzahl nennt.
Trainingsdaten
| Stufe | Datensätze | Inhalt und Labels |
|---|---|---|
Basisrezept (decision-v7) |
12,576 | 10,000 Datensätze aus zehn öffentlichen Klassifikationsdatensätzen (je 1,000, in den Metadaten dieser Karte aufgeführt) mit ihren nativen Labels; 896 generierte Policy-Minimalpaare über neun Template-Familien; 1,680 Datensätze aus 60 zufällig generierten Regelstrukturen in vier Renderings; Labels von Code berechnet |
| Daten und fehlende Evidenz | 1,425 | Generiert: 900 datumsbehaftete Policy-Fälle (schlicht, mit einem Tageszahl-Satz oder mit einem date_facts-Feld); 255 Fälle mit entfernter entscheidender Aussage und einem uniformen Ziel, plus 270 intakte Kontrollen |
| Dokumente und Skills, eine Stufe | 16,539 | documents-v1-Train: 5,219 US-Verbraucherfinanz-Beschwerdeerzählungen (CFPB, bis zu etwa 7k Token) mit 7,488 Fragen, Labels behalten, wo zwei offene Gewichtungs-Lehrer mit der eigenen Einreichung des Verbrauchers übereinstimmten. hard-v1-Train: 6,000 programmatisch beschriftete Datensätze in sieben Skill-Familien (lange Policies, Abwägungen, Wahrscheinlichkeit, Multi-Hop, Daten und Arithmetik, Beurteilung einer vorgeschlagenen Antwort, Abstention bei fehlendem Fakt), Templates 0–3. devtools-v1-Train: 5,320 Datensätze aus CodeReviewer, CommitPackFT, FlakeFlagger und Aegis mit den eigenen Labels jedes Datensatzes |
Die beiden Feinabstimmungsstufen wiederholen 2,000 und 10,000 Datensätze aus decision-v7. Es wurde keine Ausgabe von Jev (TypeSafes gehostetem Entscheidungsmodell) verwendet. CodeReviewer und FlakeFlagger stammen von Zenodo; die CFPB-Erzählungen sind Werke der US-Regierung; Lizenzen und Revisionen pro Quelle sind in den Suite-Manifesten festgehalten. Die rein zur Evaluation dienenden Suites unten (breadth-v1, tasksource-heldout-v1, transfer-v4, longdoc-v1 sowie die When2Call- und Prompt-Injection-Quellen von devtools-v1) gehen nie ins Training ein.
Trainingsverfahren
- Basisrezept. Zwei Epochen auf
decision-v7von der Basis: LoRA-Rang 16, α 32; Lernrate 5e-5, One-Cycle-Zeitplan; effektiver Batch 8 (4 × 2 Akkumulation); bf16-Autocast, Gradient Checkpointing. Der Verlust ist Cross-Entropy über die Optionen jeder Frage. Die Optionsreihenfolge wird gemischt, “none of the above”-Optionen und Distraktoren werden zufällig eingefügt, und ein Viertel der Choice-Datensätze ergibt zusätzlich ein Minimalpaar (die Frage mit einer “none of the above”-Option, einmal mit vorhandener richtiger Option und einmal mit entfernter). - Daten und fehlende Evidenz. Eine Epoche von Stufe 1 bei Lernrate 2e-5 mit 2,000 wiederholten Datensätzen. Das ist v1.
- Dokumente und Skills. Eine Epoche von v1 auf allen drei Trainingssets zusammen bei Lernrate 2e-5 mit 10,000 wiederholten Datensätzen; Batch 2 × 4 Akkumulation; Zustände von höchstens 7,552 Token; Seed 1; 3,318 Optimizer-Schritte.
- Kalibrierung. Eine einzige Temperatur, T = 2.19, die die negative Log-Likelihood auf 648 Fragen aus zurückgehaltenen Datensätzen minimiert: 448 aus dem Kalibrierungs-Split von transfer-r3 (sechs öffentliche Datensätze, QNLI, SciQ, TweetEval-offensive, PAWS, MMLU und Emotion, plus zwei zurückgehaltene Familien generierter Policy-Datensätze) und 200 MMLU-Pro-Fragen (transfer-v9-Development). Der Pool wurde vor dem Fit gegen die Trainings-Suites des Checkpoints geprüft.
Evaluation
Methodik. Jeder Vergleich erfolgt gegen Kev-9B v1 auf identischen Items, jedes Modell bei seiner eigenen bedienten Temperatur (v1: 2.30). Die Vergleiche und ihre Messlatten wurden vor den Bestätigungs-Reads registriert; Test-Partitionen wurden einmal für diesen Checkpoint gelesen; der transfer-v4-Test ist gesperrt (einmal pro Kandidat gelesen). Gepaarte Intervalle sind 95-%-Bootstraps, die ganze Datensätze neu ziehen (2,000 Resamples), sodass Fragen, die sich einen Zustand teilen, sich gemeinsam bewegen. Differenzen sind in Prozentpunkten (pp). Jev (TypeSafes gehostetes Modell, über Vercel AI Gateway abgefragt) wird gezeigt, wo es auf denselben Items gelesen wurde. Die Suites:
- breadth-v1: 14 zurückgehaltene öffentliche Datensätze in fünf Bereichen (Wissen, Sprache, Retrieval, Tools, Kunst), nie trainiert.
- transfer-v4: Out-of-Domain-Entscheidungen aus sechs nie trainierten öffentlichen Quellen plus zurückgehaltene Policy- und Regelstrukturen.
- transfer-r3: ein Kurzzustands-Panel aus denselben acht zurückgehaltenen Quellen wie der Kalibrierungspool.
- hard-v1: die obigen Skill-Familien; der Test-Split hält Templates trainierter Generatoren zurück.
- devtools-v1: Entwickler-Tooling-Entscheidungen aus sechs lizenzgeprüften Quellen (vier trainiert, zwei nur zur Evaluation).
- documents-v1 / documents-v2: CFPB-Beschwerdeerzählungen; v2 ist ein privates zurückgehaltenes Test-Set.
- longdoc-v1: CUAD-Handelsverträge und generierte Vereinbarungsbündel, mit Zuständen von 4k bis 64k Token.
devtools-v1-Headline-Panels schließen zwei Aufgaben aus, deren Labels der Zustand nicht bestimmt (flakeflagger, Commit-Änderungstyp); dieselben Zeilen verlassen beide Seiten.
Ergebnisse gegen v1 (registrierte Bestätigung).
| Panel (Fragen) | Kev-9B v2 | Kev-9B v1 | Δ [95 % CI] |
|---|---|---|---|
| hard-v1 + devtools-v1-Development, auditiert (1,855) | 0.821 | 0.628 | +19.3 [+17.2, +21.6] |
| documents-v1-Development (920) | 0.902 | 0.833 | +7.0 [+4.8, +9.2] |
Kurze Zustände: transfer-v4-Development + transfer-r3-Test, ohne emotion (1,586) |
0.871 | 0.871 | +0.1 [−1.1, +1.2] |
| hard-v1 + devtools-v1-Test, auditiert (1,859) | 0.822 | 0.635 | +18.7 [+16.7, +20.8] |
| documents-v1-Test (936) | 0.900 | 0.829 | +7.1 [+4.7, +9.2] |
| Out-of-Domain, gesperrter transfer-v4-Test (656): Genauigkeit | 0.852 | 0.852 | +0.0 [−1.7, +1.8] |
| Gesperrter transfer-v4-Test: bedienter Brier | 0.199 | 0.224 | −0.025 [−0.047, −0.007] |
Zurückgehaltene Daten (nie trainiert).
| Panel (Fragen) | Kev-9B v2 | Kev-9B v1 | Jev |
|---|---|---|---|
| breadth-v1-Development, alle 14 Datensätze (3,075) | 0.700 | 0.697 | 0.757 |
| breadth-v1-Test, alle 14 Datensätze (3,089) | 0.698 | 0.692 | 0.757 |
| breadth-v1-Test, zufallskorrigierter Index¹ [95 % CI] | 41.0 [38.8, 43.9] | 40.0 [38.1, 43.0] | 54.0 [51.2, 57.0] |
| Out-of-Domain, transfer-v4-Development (656): Genauigkeit / Brier | 0.820 / 0.262 | 0.822 / 0.264 | 0.857 / 0.211 |
| Gesperrter transfer-v4-Test: ECE / sichere Fehler (p ≥ 0.9 und falsch) / Abdeckung bei ≤ 5 % Fehler | 0.034 / 1.4% / 0.742 | 0.042 / 3.2% / 0.645 | – |
| Kurze Zustände, transfer-r3-Test (1,150) | 0.847 | 0.847 | – |
| MMLU-Pro, 10 Optionen (transfer-v9-Development) | 0.590 | 0.515 | 0.840 |
| Unbeantwortbare Items mit p ≥ 0.9 beantwortet (niedriger ist besser) | 0.00 | 0.00 | 0.09 |
Gegen v1 beträgt die breadth-v1-Genauigkeitsdifferenz +0.3 [−0.7, +1.3] im Development und +0.6 [−0.4, +1.6] im Test. tasksource-heldout-v1-Development wurde für diesen Checkpoint gelesen, sein Read-out ist aber nicht abgeschlossen; es wird hier nicht berichtet.
Trainierte Familien (zurückgehaltene Items und Templates).
| Panel (Fragen) | Kev-9B v2 | Kev-9B v1 | Jev |
|---|---|---|---|
| hard-v1-Development (1,083) / -Test (1,088) | 0.813 / 0.834 | 0.574 / 0.584 | 0.777 / – |
| devtools-v1-Development (1,072) / -Test (1,071), alle Quellen | 0.772 / 0.791 | 0.631 / 0.637 | 0.713 / – |
| documents-v1-Development (920) / -Test (936) | 0.902 / 0.900 | 0.833 / 0.829 | 0.868 / – |
| documents-v2, privater zurückgehaltener Test (953) | 0.900 | 0.821 | – |
| decision-v7-Development (1,264) / gesperrter Test (1,200) | 0.874 / 0.873 | 0.872 / – | 0.845 / – |
| Zurückgehaltene Domänen generierter Entscheidungen, ood-v2 (4,988) | 0.889 | – | – |
Testdifferenzen gegen v1: hard-v1 +25.0 [+22.0, +28.1], devtools-v1 (alle Quellen) +15.4 [+11.0, +19.4], documents-v2 +8.0 [+5.9, +10.2].
Lange Dokumente.
- Validierte Kontextlänge: 8,192 Token, die trainierte Länge. Der 16k-Bucket liegt außerhalb der Toleranz: Seine Untergrenze ist −3.7 pp, unter −3 pp, daher ist keine längere Länge validiert.
- Regel, vor dem Read festgelegt: Die validierte Länge ist die nominelle Größe des größten Buckets ab 16,384 Token aufwärts, sodass er und jeder Bucket zwischen ihm und 8,192 innerhalb der Toleranz liegt. Innerhalb der Toleranz bedeutet, dass die CUAD-Genauigkeitsdifferenz zum 8k-Bucket (Zustände von 6,553–7,618 Token, die trainierte Länge), gepaart auf demselben Vertrag, Repeat und derselben Frage, eine 95-%-Untergrenze von mindestens −3 pp hat und jeder Datensatz beantwortet wurde. Wenn der 16k-Bucket scheitert, ist die validierte Länge 8,192 Token.
CUAD-Genauigkeit, ECE und die gepaarte Differenz zum 8k-Bucket nach nomineller Zustandslänge (longdoc-v1-Development):
| Nominelle Zustandslänge | CUAD-Fragen | Genauigkeit | ECE | Δ vs. 8k, pp [95 % CI] |
|---|---|---|---|---|
| 4k | 443 | 0.876 | 0.049 | – |
| 8k | 453 | 0.850 | 0.051 | Referenz |
| 16k | 452 | 0.839 | 0.033 | −1.4 [−3.7, +0.9] |
| 32k | 454 | 0.819 | 0.041 | −3.6 [−6.4, −0.9] |
| 64k | 452 | 0.801 | 0.056 | −5.2 [−7.9, −2.5] |
ECE bei der ausgelieferten T = 2.19. Δ ist gepaart auf den 445–447 Fragen, die zu denselben Verträgen in beiden Längen gestellt wurden. Der 4k-Bucket enthält andere Verträge und ist keine Referenz für die Regel. Quelle: runs/r28-readout/context.json (registriertes Read-out von Runde 28, runs/r29-9b-r18a-longdoc).
Kalibrierung (erwarteter Kalibrierungsfehler, ECE, wie bedient; niedriger ist besser):
| Panel | Kev-9B v2 (T = 2.19) | Kev-9B v1 (T = 2.30) |
|---|---|---|
| breadth-v1-Test, alle 14 Datensätze | 0.034 | 0.044 |
| transfer-v4-Development / gesperrter Test | 0.041 / 0.034 | 0.042 / 0.042 |
| hard-v1-Test | 0.054 | 0.075 |
| devtools-v1-Test, alle Quellen | 0.098 | 0.147 |
| documents-v1-Test | 0.017 | 0.103 |
Das 90-%-Bootstrap-Intervall der Temperatur ist [2.05, 2.41]. v1s 2.30 wurde auf Development-Zeilen seiner eigenen Trainingsverteilung gefittet; v2 ist das erste 9B, das bei einer auf zurückgehaltenen Datensätzen gefitteten Temperatur bedient wird.
Weitere Ergebnisse.
| Suite | Kev-9B v2 | Jev |
|---|---|---|
Datumsarithmetik, deadline-Policy (transfer-v9-Development) |
0.725 | 0.95 |
| MMLU, 4 Optionen (transfer-v9-Development) | 0.725 | 0.90 |
| SemIf (144 verfasste Entscheidungen; nahe der Sättigung, nur berichtet) | 0.917 | 0.965 |
Serving. CUDA, bf16 mit fusionierten Kernels und CUDA-Graphen; Modellzeit pro Anfrage (Median aus 20) für einen neuen / wiederholten Zustand, gemessen an v1 (dieselbe Architektur und Adapterform):
| GPU | 6 Fragen, kurzer Zustand | 5 Fragen, 2,200-Token-Zustand | Anfragen/s, 64 Clients |
|---|---|---|---|
| L40S | 66.4 / 42.7 ms | 235.6 / 57.5 ms | 32.7 |
| H100 | 24.0 / 16.6 ms | 88.5 / 26.4 ms | 79.5 |
Der residente GPU-Speicher beträgt 21.9 GB. Bediente Wahrscheinlichkeiten bleiben auf 280 Fragen innerhalb von 0.017 des fp32-Evaluationspfads, mit keinen geänderten Antworten. Auf dem fp32-Evaluationspfad (H100, v2) brauchen Zustände von 16k / 32k / 64k Token 5.1 / 10.9 / 25.4 s und 4.6 / 9.1 / 18.2 GiB über den Gewichten.
Apple Silicon (MLX): Die für Kev-0.8B und Kev-4B gemachten Langzustands-Messungen wurden in dieser Größe nicht gemacht; auf dem für sie verwendeten 32-GB-M5 passten das 19.3-GB-bf16-Backbone und sein Arbeitsset nicht in den verfügbaren Speicher.
¹ Der zufallskorrigierte Index des Community Decision Index 0.2: pro Datensatz (Score − Zufall) / (1 − Zufall), gemittelt innerhalb jedes Bereichs, dann 100 × der Mittelwert der fünf Bereiche. Jevs Index stammt aus einem separaten Read derselben Test-Items.
Grenzen und Kompromisse
- Auswahl. Dieser Checkpoint wurde in einer früheren Runde auf Development-Daten trainiert und gelesen und unter einer späteren Regel neu ausgewählt, wobei diese Zahlen bekannt waren. Die Test-Partitionen und der gesperrte Read, jeweils einmal für ihn gelesen, sind der Schutz; behandle die Development-Margen als optimistisch.
- Seine großen Zugewinne liegen in der Verteilung. Die Trainings-Splits von hard-v1, devtools-v1 und documents-v1 sind in seinen Trainingsdaten; diese Zugewinne sind zurückgehaltene Items und Templates trainierter Familien, kein Transfer auf neue Aufgaben.
- Er ist bei neuer Arbeit nicht besser als v1. breadth-v1-Test +0.6 pp [−0.4, +1.6], transfer-v4-Development −0.2 pp [−2.4, +1.8], transfer-r3-Test +0.0 pp [−1.2, +1.2]. Kev-27B liegt 11 Punkte vor ihm beim breadth-v1-Index, Jev 13.
- Wissen wird von der Basis bestimmt. MMLU-Pro liegt bei 0.590, gegenüber Kev-27Bs 0.675 und Jevs 0.840.
- Datumsarithmetik ist seine schwächste Familie: 0.725 bei den
deadline-Policy-Fragen gegenüber Jevs 0.95; derKEV_DATE_FACTS=1-Präprozessor hilft. - Kalibrierung. devtools-v1 ist seine am schlechtesten kalibrierte Suite (Test-ECE 0.098). Das Intervall der Temperatur ist [2.05, 2.41]. Die Temperatur wurde mit aufgezeichnetem Grund in
head.ptaus dem registrierten Pool-Fit geschrieben, weil das Kalibrierungsskript die Quellen der kombinierten Trainingsdatei nicht auflisten kann, um den Pool selbst zu prüfen; die eigene Prüfung der Runde hatte ihn abgedeckt. Diese Prüfung deckt nicht die Daten- und Fehlende-Evidenz-Daten von v1 ab, deren Manifest keine Quellen auflistet; diese Datensätze sind vier generierte Familien, keine davon im Pool. - Untrainierte Längen. Trainingszustände waren höchstens 7,552 Token. Längere Zustände werden bis zu 65,536 Token bedient; wie weit die Genauigkeit hält, ist die obige validierte Kontextlänge.
- Die Optionsreihenfolge kann eine Antwort ändern; die Fragenisolation verhindert das nicht.
Bias, Risiken und ethische Überlegungen
- Kalibrierte Wahrscheinlichkeiten können unberechtigtes Vertrauen erzeugen. Die Temperatur wurde auf öffentlichen zurückgehaltenen Datensätzen gefittet und überträgt sich nicht auf jede Arbeitslast; miss Genauigkeit und Kalibrierung an einer beschrifteten Stichprobe deiner eigenen Daten und fitte die Temperatur dort neu (
python -m kev.calibrate), bevor du Schwellenwerte setzt. - Genauigkeit und Kalibrierung verschieben sich bei Domänenwechsel. Überwache die Produktionsfehlerraten, statt dich auf die obigen Zahlen zu verlassen.
- Verwende es nicht für folgenreiche automatisierte Entscheidungen über Menschen ohne menschliche Prüfung. Verzerrungen des Basismodells und der Trainingsdaten (einschließlich von anderen Modellen erzeugter Labels) werden nicht gemessen.
- Zustände können persönliche oder vertrauliche Daten enthalten. Self-Hosting hält Eingaben auf deiner eigenen Hardware; der Server ist offen, sofern
KEV_API_KEYnicht gesetzt ist, also wende deine eigene Zugriffskontrolle und Datenbehandlungspolitik an.
Compute
- Basisrezept und Datumsstufe (v1): einzelne NVIDIA-H100-GPUs.
- Dokument- und Skill-Stufe: 2.6 Stunden auf einer NVIDIA H200 (Peak 74.1 GB).
- Evaluations- und Serving-Prüfungen: einzelne H100-/H200-/L40S-GPUs auf Modal.
Herkunft und Reproduzierbarkeit
- Code, Suites und Evaluationsberichte: github.com/jaredpalmer/kev. Release-Zahlen:
runs/release/kev-9b-r27.json(scripts/release_numbers.py --release kev-9b-r27); registrierte Regel und Verdictsexperiments/rounds/r27.json,runs/r27-readout/,runs/r27-verdict/; die Familien-Reads vom 2026-09-30runs/fam-9bnew-breadth/,runs/fam-9b-breadth/undruns/fam-breadth-test-report/; ood-v2runs/r29-9b-r18a-ood/; Servingruns/serve-9b-l40s/,runs/serve-9b-h100/,runs/long-state-9b-h100/. - Stufen: Basisversuch
q35-9b/01-trial-1(Tagv7-base); Datennight2-9b-du/00-trial-0(v1, Tagv1); Dokumente und Skills Runde 18 Arm (a)r18-9b/00-trial-0(experiments/round18/joint.json), ausgewählt und bestätigt als9b-r18avon Runde 27. - Veröffentlichte Gewichte: Hub-Commit
b5d8c18e; Adapter sha2562b2a70cf4ef4440b6c22899e1f72c2f8ea5c6f65b19aa344539b4b8971d1f13d,head.ptsha2568e1dab2c…(T = 2.1936). - Verifikation: anonym vom Hub geladen, reproduzierte es die Antworten der Vorab-Evaluation auf 252 von 252 SemIf-Zeilen und 764 von 764 transfer-v4-Development-Zeilen bei T = 2.19 (
runs/rel9-public/).
Zitat
@misc{palmer2026kev9b,
title = {Kev-9B: a calibrated decision model on Qwen3.5-9B},
author = {Palmer, Jared},
year = {2026},
howpublished = {\url{https://huggingface.co/jaredpalmer/kev-9b}},
note = {Version 2, released 2026-09-30; Kev 1.0}
}
Kontakt
Fragen und Issues: github.com/jaredpalmer/kev/issues.