Nanbeige 4.2 pouští svých dvaadvacet vrstev dvakrát za sebou
Model Nanbeige4.2-3B předčí v agentních testech podstatně větší modely a přitom má jen tři miliardy parametrů mimo vloženiny. Konfigurace prozrazuje proč: dvaadvacet vrstev vah se na každém tokenu použije dvakrát po sobě. Vyrovnávací paměť pro klíče a hodnoty se ale vede pro každé kolo zvlášť.

Čínská Nanbeige LLM Lab má na Hugging Face model Nanbeige4.2-3B pod licencí Apache 2.0. Karta modelu tvrdí, že v agentních testech předčí Qwen3.5-9B i Gemma4-12B, tedy modely s dvojnásobkem až trojnásobkem parametrů. Naposledy ji laboratoř upravila 26. srpna 2026. Jak to malý model dokáže, se dá vyčíst z konfiguračního souboru: neschovává parametry navíc, ale počítá dvakrát. Magazín o témž modelu psal už dřív, tehdy z pohledu běhu v telefonu.
Dvaadvacet vrstev, dvě kola
V souboru config.json stojí num_hidden_layers na hodnotě 22 a vedle toho num_loops na hodnotě 2. Model má tedy dvaadvacet vrstev vah a každý token jimi projde dvakrát: výstup prvního kola se vrátí na vstup a týmiž vrstvami se protáhne znovu.
Architektuře se říká Looped Transformer, česky se pro ni ustálený název nepoužívá. Technická zpráva, kterou laboratoř zveřejnila 24. července 2026 a o tři dny později doplnila druhou verzí, to popisuje jednou větou: opakované použití zásobníku vrstev zvyšuje kapacitu, aniž přibývají parametry. Předtrénování podle ní spotřebovalo 28 bilionů tokenů.
Čtyři miliardy vah, tři bez slovníku
Kolik vah model doopravdy má, se dá spočítat ze seznamu souborů. Rejstřík model.safetensors.index.json uvádí celkovou velikost 8 339 601 408 bajtů a konfigurace předepisuje bfloat16, tedy dva bajty na parametr. Vychází z toho 4 169 800 704 parametrů, což je vlastní dopočet, ne údaj z karty.
Slovník má 166 144 položek a vnitřní rozměr modelu je 3 072. Vstupní tabulka vloženin tedy zabere 510 394 368 parametrů a protože tie_word_embeddings je vypnuté, výstupní hlava má vlastní tabulku téže velikosti. Po jejich odečtení zbývá 3 149 011 968 parametrů. Karta uvádí zaokrouhleně čtyři miliardy celkem a tři miliardy mimo vloženiny, takže obojí sedí.
Vyrovnávací paměť se počítá na obě kola
Smyčka nezlevní všechno. Referenční kód modeling_nanbeige.py ukládá klíče a hodnoty pozornosti pro každé kolo zvlášť: funkce _get_loop_cache_layer_idx počítá místo v paměti jako pořadí vrstvy plus pořadí kola krát počet vrstev. Vyrovnávací paměť KV má proto čtyřiačtyřicet přihrádek, ne dvaadvacet. Sdílení klíčů mezi koly kód umí, jenže volba loop_share_kv je ve výchozím stavu vypnutá a navíc vyžaduje režim LoopSplit, který tenhle model zapnutý nemá.
Na plný kontext to dělá hodně. Model má osm skupinových hlav pro klíče a hodnoty po 128 rozměrech, takže na jeden token a jednu přihrádku připadá 4 096 bajtů. Při čtyřiačtyřiceti přihrádkách je to 176 KiB na token a při ohlášeném stropu 262 144 tokenů zhruba 47 GB jen na vyrovnávací paměť. Je to horní odhad pro bfloat16 bez jakékoli komprese a taky vlastní dopočet; skutečná obsluha si cache kvantizuje a stránkuje. Odpovídá to ale tomu, na co si uživatelé v rozpravě z 13. srpna 2026 stěžují: model je pomalejší a paměťově náročnější než o něco větší Qwen3.5-4B.
Žebříček tvrdí karta, ověřit se nedal
Karta začíná zprávou, že se model dostal na první místo v posledním žebříčku malých modelů od Artificial Analysis. Vlastní stránku toho modelu na webu Artificial Analysis se nám najít nepodařilo, adresa odvozená od jména vrací chybu 404, takže tvrzení zůstává na kartě nedoložené.
Vlastní čísla laboratoře jsou v kartě uvedená i s protivníky. V testu GDPval rubrics dosáhl Nanbeige4.2-3B 74,3 bodu proti 61,9 u Qwen3.5-9B a 68,5 u Gemma4-12B, v MCP-Atlas 57,8 proti 47,4 a 30,5. Měřila je laboratoř sama a nikdo je zatím nezopakoval.
Kód modelu už obsahuje i věci, které v tomhle vydání zapnuté nejsou: dělenou smyčku LoopSplit, hloubkovou pozornost a skládané vloženiny n-gramů. Karta u nich píše, že mají jít do řady Nanbeige4.5, jejíž trénink běží a vydání se čeká ještě letos.