Een gegenereerde titelkaart voor Intern-Decision-2B met de tekst 'Stilletjes uitgebracht, niet aangekondigd', met de badges 'de GitHub-link ging vandaag live' en '2.213.241.664 parameters', met het OrcaRouter-logo in de hoek samengevoegd.
Engineering & Research

Intern-Decision-2B is stilletjes uitgebracht op Hugging Face. De GitHub-link op zijn kaart geeft net geen 404 meer

Auteur

Rowan Sterling

Publicatiedatum

Nieuwste modellen · 20Bekijk alle modellen →
Benchmarks: Artificial Analysis · dagelijks bijgewerkt
Terug naar alle berichten

Eerder vandaag wees de modelkaart voor internlm/Intern-Decision-2B naar drie plekken voor meer informatie, en twee daarvan waren dood: de demo-Space antwoordde HTTP 401, en github.com/internlm/Intern-Decision gaf 404 aan iedereen die erop klikte. Sinds 08:58 UTC bestaat de repository achter die tweede link — openbaar, drie commits diep, met trainingscode, twee inference-backends, een evaluatiebundel met 10.751 testrijen, een kalibratiebenchmark met 96 gevallen en de reproductiegids. Dat is het enige dat aan dit model is veranderd sinds het op 26 september 2026 om 05:36 UTC op Hugging Face verscheen, en het is genoeg om Intern-Decision-2B te verplaatsen van "een checkpoint met een ontoegankelijke README" naar "een checkpoint dat je daadwerkelijk kunt inspecteren, reproduceren en waarover je kunt discussiëren."

De gewichten zelf zijn ongewijzigd en eenduidig. Intern-Decision-2B is een multimodaal gestructureerd beslissingsmodel met 2.213.241.664 parameters, fijn afgestemd op Qwen/Qwen3.5-2B — de Alibaba-basis van 28 februari 2026 — uitgebracht onder Apache-2.0, met daarnaast de upstream Qwen-licentie bewaard als LICENSE-QWEN. Het is de middelste van drie groottes die InternLM in veertig seconden uitbracht: Intern-Decision-0.8B om 05:35:57, deze om 05:36:19, en Intern-Decision-4B om 05:36:37. Er is nog steeds geen enkele aankondiging achter een van hen.

Wat de middelgrote variant een eigen stuk waard maakt, is dat dit het punt is waarop de familie ophoudt zich voorspelbaar te gedragen. Volgens de eigen cijfers van InternLM is het de snelste van de drie en de slechtst gekalibreerde van de drie, en beide feiten zijn het waard om te begrijpen voordat je viereneenhalve gigabyte van wat dan ook downloadt.

Wat is bevestigd, en wat is alleen de leverancier die praat?

Twee categorieën, en die moeten uit elkaar gehouden worden.

Bevestigd, omdat het een bestandslijst of een HTTP-respons is: het aantal parameters (2.592 F32 plus 2.213.239.072 BF16-gewichten); de shardkaart (een taalshard van 3,76 GB, een vision tower van 612,5 MB, een projector van 50,3 MB, ongeveer 4,43 GB aan tensors en ruwweg 4,46 GB aan repository); het licentiepaar; het basismodel; de onderliggende architectuur (een Qwen3_5ForConditionalGeneration met 24 lagen, verborgen grootte 2.048, 8 query-heads tegenover 2 key-value-heads, head-dimensie 256, een zich herhalend patroon van drie linear-attention-lagen op één full-attention-laag, één behouden multi-token-prediction-laag, en een embeddingplafond van 262.144 posities); het bestaan van de repository; en het feit dat de modelcollectie op huggingface.co/collections/internlm/intern-decision nu wordt gevonden en alle drie de checkpoints vermeldt.

Door de leverancier gemeld en niet gereproduceerd: elk nauwkeurigheidscijfer, elke latentiewaarde en de kalibratietemperatuur. Er is geen paper, geen arXiv-vermelding, geen lanceringsbericht, geen changelog en geen onafhankelijke evaluatie — een zoekopdracht naar de tekenreeks "Intern-Decision" levert niets op dat over dit model gaat. De demo-Space antwoordt nog steeds met 401, wat betekent dat deze niet openbaar is, niet dat deze kapot is. De 2B-checkpoint heeft één like en nul downloads. Niemand buiten InternLM heeft het gedraaid.

A screenshot of the Hugging Face model card for internlm/Intern-Decision-2B, showing the internlm organisation, the tags image-text-to-text, Transformers, Safetensors, qwen3_5, decision-making and multimodal, the Demo, Model Weights and GitHub links, and the card text stating the model is 'a multimodal structured decision model fine-tuned from Qwen3.5-2B' that 'accepts a shared state, a schema of named questions, and optional images, and returns an answer distribution for every question in one model forward pass', followed by the five-step 'How inference works' list.

Het inferentiecontract, in de volgorde waarin het gebeurt

Het meest informatieve bestand in de repository is niet de kaart. Het is src/inference/engine.pyen de meegeleverde inference.py op de Hub, want samen beschrijven ze een contract in plaats van een prompt.

• Je levert state — het te beoordelen materiaal — een questions-schema, en optioneel tot acht afbeeldingen. Een tot zestien vragen, elk met maximaal 62 opties.

• De opties van elke vraag worden toegewezen aan single-token-symbolen: A–Z, dan a–z, dan 0–9. Het maximum van 62 opties is geen ontwerpvoorkeur, het is precies het aantal single-token-symbolen dat het contract kan adresseren.

• De systeemprompt, de toestand, het schema en een volledig JSON-skelet voor de assistent worden met één <decision> plaatsaanduiding per veld weergegeven. De chattemplate en het lege denkblok van het checkpoint blijven ongewijzigd.

• Eén causale forward pass wordt uitgevoerd. Logits worden afgelezen op de positie direct vóór elke placeholder — niet erna, niet bij een gegenereerd token.

• Er wordt alleen een softmax toegepast over de toegestane kandidaatsymbolen van dat veld, de kalibratie van het checkpoint wordt toegepast, en de symbolen worden teruggezet naar je oorspronkelijke optiewaarden.

De kaart is onverbloemd over wat dit is: "Deze API voert gestructureerde kandidaatscoring uit. Er wordt geen generate() aangeroepen en er wordt geen vrije tekst gesampled." Een DecisionEngine(max_length=8192) weigert te grote invoer in plaats van deze af te kappen, dus een verzoek dat niet past mislukt luidruchtig in plaats van stilletjes de laatste alinea te verliezen. De lijst met backends is ook eerlijk — backend="hf" is de standaard en de enige die is geïmplementeerd in de Hugging Face-repository, wat goed is om te weten, want de GitHub-release levert ook een XTuner-backend mee en de twee zijn niet numeriek identiek. De eigen evaluatiegids van InternLM zegt het: "Verschillen in kernel en BF16 kunnen waarschijnlijkheden en soms labels veranderen."

De anomalie in het midden

Zet de drie checkpoints naast elkaar op de eigen tabel van InternLM, en de vorm is vreemd genoeg om het verhaal te zijn.

• Gemiddelde over zeven suites — Intern-Decision-0.8B 79,38, Intern-Decision-2B 84,68, Intern-Decision-4B 90,02. Op volgorde, zoals je zou verwachten bij het vergroten van de gewichten.

• Latentie op één RTX 4090 — 33,98 ms gemiddeld voor de 0,8B, 33,28 ms voor de 2B, 44,16 ms voor de 4B. De middelste maat is de snelste van de drie, met een marge die klein genoeg is om ruis te zijn op één GPU, maar consistent over gemiddelde, mediaan (33,15 ms) en P95 (33,55 ms).

• Brier-score, hoe lager, hoe beter — 0,530, 0,437, 0,347. Monotoon met de grootte, zoals een correcte scoreregel gewoonlijk is.

• Verwachte kalibratiefout, lager is beter — 0,066 voor de 0,8B, 0,100 voor deze 2B, 0,065 voor de 4B. De middelste grootte is het slechtst, en die is slechter dan het model dat half zo groot is.

Die laatste regel is de interessante, en de gefitte temperaturen bevestigen die eerder dan dat ze die verklaren. Elk checkpoint heeft zijn eigen op NLL gefitte temperatuur: 2,747760550703 voor de 0,8B, 2,100509348278 voor de 2B, 1,992418 voor de 4B. Elk ervan werd gefit op 1.728 aangewezen kalibratiecases, met 1.693 achtergehouden, door de negatieve log-likelihood te minimaliseren over een zoektocht naar de inverse temperatuur in [0,01, 100], waarbij de labels van de testsuite doelbewust buiten de fit werden gehouden. De temperatuur van de 2B ligt tussen die van zijn twee naaste verwanten, wat je zou verwachten als de anomalie een fit-artefact was. Dat is het niet: de gefitte waarde is monotoon met de grootte, terwijl de fout na kalibratie dat niet is. Volgens de eigen meting van InternLM is het checkpoint met 2,2 miljard parameters de minst betrouwbare van de drie wanneer het je vertelt hoe zeker het is.

Twee kanttekeningen voordat dit een conclusie wordt. ECE met tien bins van gelijke breedte en max-probability-confidence is een ruisgevoelige statistiek op de kleine suite die deze tabel gebruikt — Jevbench-Hard, 111 items, dus de hele ECE-kolom rust op een honderdtal vragen en een keuze van bins. En internlm/Intern-Decision-2B is de enige van de drie kaarten die niet de extra calibratiesectie bevat die de 4B-kaart wel heeft, dus er is hier minder documentatie, niet meer. Zie de 0.100 als een reden om je eigen temperatuur te fitten in plaats van als een oordeel over de gewichten.

A rendered comparison card titled 'Three checkpoints, forty seconds' listing the Intern-Decision 0.8B, 2B and 4B columns against seven rows: upload timestamps 05:35:57 / 05:36:19 / 05:36:37 UTC; parameters 852,985,920 / 2,213,241,664 / 4,539,265,536; seven-suite average 79.38 / 84.68 / 90.02; Brier 0.530 / 0.437 / 0.347; ECE 0.066 / 0.100 / 0.065; fitted temperature 2.747761 / 2.100509 / 1.992418; and RTX 4090 mean latency 33.98 ms / 33.28 ms / 44.16 ms, with a footer noting every figure is vendor-reported and unreproduced.

Wat de repository toevoegt, en wat deze nog achterhoudt

De GitHub-release is vollediger dan de modelkaart, die op zichzelf al informatief is — een lab dat een paper-artefact op het oog had, levert gewoonlijk geen deterministische kalibratiegenerator en een hash-verifiërende evaluatiebundel mee naast de trainingslauncher.

Wat nu openbaar is: de trainingscode en de masked-next-token-doelstelling (ground-truth antwoordsymbolen komen alleen voor in labels, nooit in de invoer; het antwoord van elk veld wordt voorspeld door de logit direct vóór de bijbehorende markering, en alle velden delen één forward pass); de zeven nauwkeurigheidssuites met SHA-256-geverifieerde hashes en rijtellingen; de scoringscode; de scripts voor temperatuurfitting en replay, waarbij wordt gesteld dat replay nul beslissingen verandert; de distributiekalibratiebenchmark met 96 gevallen, met de bijbehorende generator en offline scorer; en een browserdemo die op loopback wordt geserveerd met POST /v1/decisions (alias /v1/jev).

Wat expliciet wordt uitgesloten, in de eigen woorden van de repository: "Trainingsgegevens, privérecords voor calibratie/validatie, afbeeldingen, voorbereidingspipelines en modelgewichten zijn niet inbegrepen." De repository bevat helemaal geen licentiebestand, dus de voorwaarden van de code worden niet vermeld, hoewel de gewichten Apache-2.0 zijn. En de samenstelling van de calibratie-split — welke 1.728 gevallen, waarvandaan — blijft onbekend, wat de enige omissie is die beperkt in hoeverre de ECE-cijfers kunnen worden gecontroleerd.

De formaten die we daadwerkelijk routeren, en degene die we niet routeren

Intern-Decision-2B staat niet op OrcaRouter. Onze modelpagina ervoor geeft een 404, er is nergens een gehoste endpoint voor te vinden, voor zover wij konden nagaan, en niets hier mag worden opgevat als een beschikbaarheidsclaim. De enige manier om het vandaag aan te roepen is het checkpoint te downloaden en inference.py naast de gewichten

Dat is van belang voor de beslissing waar dit artikel echt over gaat, want een scorer die niemand serveert, is een scorer die je zelf moet draaien. Als de closed-setbeslissing die je probeert te nemen qua vorm lijkt op wat deze familie doet — een toestand, getypeerde vragen, gekalibreerde waarschijnlijkheden — dan is de gehoste vergelijking TypeSafe's Jev 1.13, het model waartegen InternLM doelbewust heeft gebenchmarkt en dat op OrcaRouter beschikbaar is voor $0,042 per miljoen inputtokens, met een 65K-context en een P50-tijd-tot-eerste-token van 178 ms.

A screenshot of the OrcaRouter model page for typesafe/jev-1.13, dated 2026-09-24, showing the TypeSafe breadcrumb, the model name Jev 1.13, text input, and the description that Jev is a structured decision and evaluation model taking a state and named questions (noul / choice / score) and returning a structured answer for each, served non-streaming via POST /v1/systemone with up to about 64K input tokens.

Een checkpoint van 2,2 miljard parameters lokaal draaien en een gehoste classifier aanroepen zijn niet dezelfde aankoop, maar het is wel hetzelfde probleem, en beide op één key hebben, met de lijstprijs van de provider doorgegeven tegen 0% opslag, is de reden om de vergelijking open te houden in plaats van de architectuur op een van beide te verwedden.

Wat zou deze afbeelding veranderen?

Drie dingen, in volgorde.

Iemand buiten InternLM moet het gemiddelde van 84,68 en de ECE van 0,100 reproduceren, en de repository is nu juist wat dat mogelijk maakt — wat hier het eigenlijke nieuws is. Het examen is openbaar en hash-geverifieerd; alleen het antwoordblad ontbreekt, en het antwoordblad is de checkpoint die iedereen nu kan downloaden.

De leverancier moet zeggen waarvoor dit dient. Een model met een werkende trainingsstack, een gepubliceerde evaluatiebundel en geen aankondiging, geen licentie op de code en geen gehoste endpoint komt over als een onderzoeksrelease waarvan nog niet is besloten dat het een product wordt. De Apache-2.0-gewichten wijzen in de ene richting; de ontbrekende codelicentie en de 401 Space wijzen in de andere richting.

En de middelste maat heeft een reden nodig om te bestaan. Als het snelheidsvoordeel van de 2B ten opzichte van de 0,8B reëel maar marginaal is, en de kalibratie ervan bij elke maatstaf die InternLM publiceerde de zwakste van de drie is, dan is de eerlijke aanbeveling voor de meeste lezers om de 2,6× aan schijfruimte voor de 4B te betalen of de zwakkere nauwkeurigheid van het kleinere model te accepteren. Het pleidooi voor de 2B is dat hij toevallig de snelste van de snelle is — en dat is een dunner pleidooi dan de marketingachtige framing van de familie suggereert.