Hopp til hovedinnhold

Søndag 8. november

 Tilbake LLM 3 min 12.14

Nvidia Dory1.0-4B lar deg velge antall runder per token, men krever egen llama.cpp-gren

mandag 19. oktober · KI-generert · Kilde: Hugging Face

Innholdet er KI-generert og kan inneholde feil. Sjekk originalkilden.

Test Nvidias Dory1.0-4B, en modell på 4 milliarder parametere der du selv velger hvor mange ganger en delt lagblokk kjøres per token, men bygg llama.cpp eller vLLM fra en åpen PR først.

61,8 på SWE-bench Verified fra en modell på 4 milliarder parametere: det oppgir Nvidia for Dory1.0-4B med fire runder, ifølge modellkortet på Hugging Face. Med én runde scorer samme sjekkpunkt 50,3, og med to runder 59,5. I Nvidias egen tabell har Qwen3.5-9B 61. Modellen kom 16. oktober under lisensen OpenMDW 1.1, som tillater kommersiell bruk.

Gevinsten er ujevn. På agentoppgaver løfter flere runder modellen tydelig, mens resonnering og kunnskap henger etter: på GPQA Diamond når Dory 72,16 med fire runder, mot 77,71 for Qwen3.5-4B. Nvidia anbefaler to runder som standard og skriver i modellkortet at mesteparten av gevinsten kommer fra den andre runden.

Nøkkeltall
12,5 → 22,2
Terminal-Bench 2.1, én mot fire runder
815 → 967
Elo på GDPval-AA v2, én mot fire runder
3,67 GB
GGUF-fila i Q5_K_M
256K
tokens kontekst, validert i vLLM

Bakgrunn

Dory er en såkalt looped eller latent-rekurrent modell. Lagstakken er delt i 8 inngangslag, en rekurrent blokk på 20 lag og 8 utgangslag. Den rekurrente blokken kjøres flere ganger per token, og inndataene føres inn på nytt i hver runde. Antallet settes når du starter serveren (n_recurrent_loops i vLLM, dory.num_loops i llama.cpp), uten ny trening eller ny modell. Ekstra regning per token skal gi færre genererte tokens, og Nvidia ber deg derfor måle total tid og kostnad på egne oppgaver.

Prisen er minne. Standardmodusen per_loop lagrer én KV-cache per runde, så cachen vokser med antall runder. Med last_loop overskriver hver runde den forrige, og cachen holder seg på størrelsen til én runde. Vektene finnes i BF16, MXFP8, NVFP4 og Q5_K_M, og på DGX Spark måler Nvidia NVFP4 til 2,17 til 2,44 ganger raskere enn BF16.

Støtten er ikke ferdig

Verken vLLM eller llama.cpp har Dory i en release. Modellkortet viser til vLLM-PR #60149 og en llama.cpp-fork fra brianchmielNV, festet til én revisjon. Oppskriften der er for Apple Silicon med Metal, mens PR #30306 til llama.cpp selv sier noe annet:

«Metal er ikke testet; full CI og kvalifisering for lang kontekst er ikke ferdig» — brianchmielNV, forfatter av PR #30306

Den norske llama.cpp-vedlikeholderen Sigbjørn Skjæret (CISC), som jobber i Hugging Face, ga PR-en en liste med fem punkter 10. oktober:

«Beklager, dette er ikke klart» — Sigbjørn Skjæret, llama.cpp

Forfatteren svarer at punktene er rettet og ber om ny review. PR-en er fortsatt åpen. Ifølge PR-teksten er koden og testene laget med gpt-6-astra, og kontekstforskyvning og mer enn fire runder støttes ikke.

Hva bør du gjøre?

  1. Start med to runder og per_loop-cache, slik Nvidia anbefaler, og sammenlign med fire runder på dine egne agentoppgaver, målt i total tid.
  2. Bytt til recurrent_kv_cache_mode last_loop hvis du er minnebegrenset, siden KV-cachen da holder seg på størrelsen til én runde.
  3. Bruk revisjonen modellkortet fester, og sjekk SHA-256 på GGUF-fila før du starter llama-server.

Pulsen · norske KI-nyheter for deg som bygger. Sakene er KI-generert fra originalkilden, som alltid lenkes.