Přeskočit na obsah
Modely 3 min čtení

EXAONE 4.5 přišla v GGUF o posuvnou pozornost kvůli pořadí metadat

Oficiální GGUF modelu EXAONE 4.5 obsahuje 65 bloků včetně jedné hlavy pro předpověď více tokenů, ale llama.cpp kontrolovalo počet vrstev dřív, než tuto hlavu odečetlo. Posuvná pozornost proto zůstala vypnutá, ačkoli se hodnota 4 096 tokenů objevila v logu.

Do hlavní větve llama.cpp se 11. srpna dostala oprava pro EXAONE 4.5. Program dosud u oficiálních souborů GGUF přečetl velikost posuvného okna, ale nezapnul režim, který ji používá. Nešlo o chybějící údaj v modelu. Rozhodoval okamžik, kdy si načítací kód údaje přečetl.

Paměťové moduly počítače položené na stole
Posuvná pozornost omezuje, jak velkou část předchozího textu zpracuje lokální vrstva najednou. Snímek je ilustrační. Foto: Charlie Belvin Designs, StockSnap (CC0)

Model měl 65 bloků, kód čekal 64 vrstev

Commit s opravou popisuje přesnou posloupnost. Oficiální GGUF pro EXAONE 4.5 nese hodnotu block_count=65. Šedesát čtyři bloků patří běžným vrstvám modelu a poslední je hlava MTP, část určená k předpovědi více tokenů v jednom kroku.

Funkce load_arch_hparams se ptala na počet vrstev ještě předtím, než načetla údaj nextn=1 o přidané hlavě. Výpočet počtu vrstev ji měl odečíst: 65 minus 1 dává očekávaných 64. Protože však nextn v té chvíli zůstával na výchozí nule, kód viděl 65. Podmínku pro 64vrstvovou variantu přeskočil a typ posuvné pozornosti nechal nastavený na NONE.

Model se přesto načetl jako správná 32miliardová textová část. Než se program dostal k pozdějšímu výběru typu modelu, údaj o MTP hlavě už měl a výpočet tentokrát vrátil 64. Chyba proto nebyla nápadná jako pád nebo hlášení o neznámém modelu.

Log ukázal 4 096, režim ale zůstal vypnutý

Velikost okna se načítala bez ohledu na předchozí podmínku. Funkce llama_model_n_swa() tak vracela 4 096 a stejné číslo mohlo skončit v logu. Samostatná volba swa_type však zůstala vypnutá. Kontrola pouhého čísla okna chybu neodhalila.

Posuvná pozornost znamená, že lokální vrstva neprochází při každém novém tokenu celý dosavadní kontext, ale jen pevně velkou poslední část. Nezávislá implementace EXAONE v Transformerssliding_window=4096 a vzor 4. Z něj vytváří tři vrstvy s lokální pozorností a potom jednu s plnou pozorností. Vzor opakuje a poslední vrstvu nechává vždy plnou.

Dokumentace Transformers uvádí, že EXAONE 4.5 přidala mechanismus MTP a podporuje kontext až 256 tisíc tokenů. Textová konfigurace multimodálního modelu používá architekturu EXAONE 4. Kombinace původních 64 vrstev a nové MTP hlavy vytvořila stav, který starší EXAONE 4.0 neměla.

Oprava přesunula tři řádky

Změna v llama.cpp načte počet vrstev MTP a zkontroluje jeho platnost ještě před rozhodováním o posuvné pozornosti. Samotné čtení nepřidává, jen je přesouvá výš. Ve výsledném commitu se změnil jediný soubor src/models/exaone4.cpp: tři řádky přibyly před podmínkou a stejné tři zmizely z pozdějšího místa.

Historie commitu obsahuje také pokus o regresní test se syntetickým modelem o 65 blocích a jedné MTP hlavě. Před sloučením byl ale test vrácen zpět, stejně jako vedlejší úprava načítače metadat. Konečná změna opravuje pořadí, ale popsaný test v ní není. Důvod z veřejného záznamu nevyčteme.

Autoři nepublikovali měření rychlosti, spotřeby paměti ani rozdílu ve výstupech před opravou a po ní. Z kódu lze doložit jen to, že zamýšlený typ posuvné pozornosti zůstával vypnutý, zatímco velikost okna se načetla. Číselný dopad na konkrétní počítač by bez stejného modelu, kvantizace a stejně dlouhého vstupu byl odhad.

Oprava v hlavní větvi ještě neznamená opravu všude

Chyba se podle popisu změny týká i oficiálního vydání GGUF od LGAI-EXAONE. Starší EXAONE 4.0 tento konkrétní problém nemá: neobsahuje MTP hlavu, takže jeho počet bloků byl 64 už při první kontrole.

Kdo spouští EXAONE 4.5 přímo z nového sestavení llama.cpp, může hledat commit 14e78dd nebo novější. U Ollamy, LM Studia a dalších nadstaveb je potřeba počkat, až si opravenou revizi převezmou; oprava v hlavní větvi jejich zabalenou knihovnu sama nezmění. Jak rychle se čísla sestavení llama.cpp mění, jsme měřili v článku o 229 vydáních za měsíc.

Praktická kontrola přes log má ještě jednu podmínku: nestačí v něm najít číslo 4 096. To se vypisovalo i v chybné variantě. Rozhodující je verze zdrojového kódu, protože problém vznikl mezi dvěma poli načtenými z téhož souboru. Šest přesunutých řádků je v tomto případě spolehlivější údaj než zdánlivě správný výpis.

Diskuse

Zatím tu nikdo nediskutuje. Můžete být první.

Napsat příspěvek

Diskutovat můžete i bez účtu. S registrací se ale příspěvek zveřejní hned a nemusíte pokaždé vyplňovat jméno. Účet už máte? Přihlaste se.

Nezveřejňujeme ho, slouží jen redakci.

Podporuje zápis Texy: **tučně**, *kurzíva*, odrážky, odkazy.

Dál k tématu

  1. Modely

    Mach-1 sbalil váhy Qwen3.6-35B na 7,5 GB, běžný nástroj je ale nepřečte

    Syzygy Research vydala Mach-1 Additive 35B, ternární balení modelu Qwen3.6-35B-A3B, které srazí 71,9 GB vah na 7,53 GB. Vlastní měření vydavatele mu přisuzuje 95 %…

  2. Modely

    Pokee-Isaac slibuje kontext deseti milionů tokenů na jedné kartě, váhy ale nezveřejnil

    Pokee AI ohlásila 8. srpna 2026 model Pokee-Isaac 28B, který má zvládnout kontext deseti milionů tokenů a vejít se na jedinou grafickou kartu. Váhy ale nezveřejnila;…

  3. Modely

    Nová řada modelů zkouší vštípit hodnoty už při předtrénování

    Skupina model-raising zveřejnila 9. srpna rodinu malých jazykových modelů ke studii Synthetic Persona Pretraining. Ta zkouší vepsat modelu hodnoty už do předtrénování,…

  4. Modely

    Ve vlastním testu Nvidie dokončil VoiceChat 11B třetinu nástrojových úloh

    Nvidia vydala 3. srpna hlasový model VoiceChat 11B pro průběžný rozhovor a volání nástrojů. V jejím měření na FDB-v3 vybral správný nástroj v 82,5 % případů, správné…