Přeskočit na obsah
U sebe doma 3 min čtení

SGLang odstranil přepínač pro kvantizaci, který v devíti vydáních jen hlásil chybu

Přepínač --torchao-config končil v SGLangu chybou ImportError, ať mu uživatel předal kteroukoli z povolených hodnot. Rozbil ho skok verze knihovny torchao, který se svezl s úpravou testovacího prostředí. Devět vydání si toho nikdo nevšiml; ve verzi 0.5.18 přepínač i s celou závislostí zmizel.

Detail ovládacího panelu s páčkovými přepínači a kontrolkou
Přepínač, který nic nepřepíná, se pozná až po zapnutí. Foto: Shixart1985, Wikimedia Commons (CC BY 2.0)

Server pro běh jazykových modelů SGLang vydal 22. srpna verzi 0.5.18 a mezi nekompatibilními změnami je jedna, která nemá nástupce. Zmizel přepínač --torchao-config, kterým se dala váha modelu při načítání převést do menší přesnosti. Podle poznámek k vydání proto, že u každé přijímané hodnoty končil chybou ImportError od chvíle, kdy projekt posunul připnutou verzi knihovny torchao na 0.17.0.

Co ten přepínač dělal, dokud fungoval

Kvantizace znamená uložit váhy modelu v menším počtu bitů, než v jakém se natrénovaly: model se tím vejde do menší paměti a počítá se s ním rychleji, za cenu jisté ztráty přesnosti. SGLang jich umí několik a torchao byla jedna z nich – knihovna od týmu PyTorche, kterou přepínač zapínal až po načtení vah, ne podle toho, co je uložené v kontrolním bodu.

Dokumentace k tomu měla vlastní oddíl s hotovým příkazem: spustit server s modelem Llama 3.1 8B a --torchao-config int4wo-128. Ten příkaz v ní stál až do 14. srpna, kdy návrh změny #34304 smazal celou funkci i s dokumentací, testy a závislostí.

Rozbilo to zvýšení verze, které mířilo jinam

Rozbor v úkolu #34295 z 10. srpna vede stopu k jedinému řádku. Návrh změny #23119 se 19. dubna 2026 jmenoval „per-job uv venv isolation and upgrade CI version to Cuda 13“, tedy úklid testovacího prostředí, a mimo jiné v něm torchao==0.9.0 vystřídalo torchao==0.17.0.

Mezi těmi dvěma verzemi je třináct měsíců vývoje – 0.9.0 vyšla 28. února 2025, 0.17.0 letos 30. března – a hlavně jedna změna rozhraní. Ve verzi 0.16.0 z 10. února 2026 torchao přejmenovalo své tovární funkce na datové třídy: soubor torchao/quantization/__init__.py vyváží ještě ve značce v0.15.0 jména jako int4_weight_only, kdežto ve značce v0.16.0 už jen Int4WeightOnlyConfig. Stará jména z něj zmizela bez náhradního aliasu. Je to vlastní porovnání obou souborů v repozitáři; poznámky k vydání torchoa tenhle bod nezmiňují.

SGLang tu verzi přeskočil. Jeho kód importoval pět starých jmen naráz jedním příkazem, takže se nerozbila část hodnot, ale všechny. Samostatný návrh #20338 „Bump up torchao to 0.16.0“ z března 2026, který by rozhraní porovnal cíleně, se do hlavní větve nikdy nedostal a v květnu ho někdo zavřel.

Devět vydání a žádné hlášení

Rozbor mluví o čtyřech měsících, což platí pro hlavní větev. Uživatelé to dostali později. Podle souboru python/pyproject.toml v jednotlivých značkách nesla verze 0.5.10.post1 z 9. dubna ještě torchao==0.9.0, kdežto 0.5.11 z 5. května už 0.17.0. Táž hodnota pak zůstala ve všech dalších vydáních až po 0.5.17 z 8. srpna – je jich devět a mezi prvním a posledním je 95 dní. Ve verzi 0.5.18 už řádek s torchoem v souboru není. Počty i data jsou vlastní odečet z těch značek.

Za celou tu dobu nikdo nezaložil hlášení o chybě. Autor rozboru to bere jako údaj o využívání: kdyby se přepínač používal, ozve se někdo první týden.

Proč to nikomu nespadlo dřív

Sešly se dvě věci. Testy k torchou existují, ale leží ve složce test/manual/, kterou si projekt sám popisuje jako testy mimo automatické kolo, určené k místnímu ladění a zvláštním sestavám. Průběžná integrace je tedy nepustí a rozbité rozhraní se v ní neprojeví.

Druhá věc je starší a působí neškodně. Návrh #17626 „Lazy import torchao“ přesunul v lednu 2026 import dovnitř funkce, až za podmínku, která se při prázdném přepínači hned vrací. Cílem bylo umlčet varování při startu a povedlo se to; vedlejším účinkem je, že chybějící jméno nezastaví server při spuštění, ale teprve toho, kdo přepínač opravdu použije. Kdo ho nezapnul, nepoznal nic.

Zrušeno bez lhůty a s jedním vedlejším nálezem

Obvyklý postup by byl označit funkci za zastaralou a po pár vydáních ji vyhodit. Rozbor to odmítá s odůvodněním, že lhůta na přechod dává smysl u něčeho, co funguje, a tady není z čeho přecházet. K tomu dodává, že torchao dnes nenabízí nic, co by SGLangu chybělo: nabídka přepínače končila u osmi a čtyř bitů celočíselně a u fp8, formáty typu NVFP4 nebo MXFP4 v ní nebyly vůbec.

Odstranění samo se neobešlo bez následku. Týž den, kdy změna prošla, musel návrh #34869 dorovnat překryvné načítání vah při startu, které si na zrušené nastavení pořád sahalo – tedy tu část serveru, u níž jsme měřili podíl na délce startu. Ve stejné opravě přibyl i test, který nastavení sestaví z aktuálních parametrů serveru, aby příští smazaná volba spadla už v automatickém kole. Do vydání 0.5.18, které kromě toho omezilo stahování vzdálených médií na 64 MiB, se tak dostala už dorovnaná verze.

Kdo má --torchao-config v příkazové řádce, dostane po přechodu na 0.5.18 chybu o neznámém parametru místo chyby o chybějícím importu. Věcně se pro něj nemění nic: kvantizovaný model nedostal ani předtím.

Zdroje

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. U sebe doma

    Převodník llama.cpp devět měsíců přehlížel doporučený postih za opakování

    Oprava z 24. srpna 2026 mění v převodníku llama.cpp jediný řádek: doporučený postih za opakování se nově čte i pod jménem repetition_penalty. Dosud se hledal jen pod…

  2. U sebe doma

    Ornith 1.5 nese v repozitáři obrazový kodér, jeho karta uvádí jen generování textu

    Tři velikosti modelu Ornith 1.5 vyšly 18. srpna 2026 s obrazovým kodérem, procesorem videa a šablonou rozhovoru, která počítá obrázky. V balíčcích GGUF k nim leží…

  3. U sebe doma

    Kalibrační text pro kvantizaci do GGUF se projeví až pod čtyřmi bity na váhu

    Vydavatel kvantizovaných kopií modelů, který na Hugging Face vystupuje jako bartowski, zveřejnil 17. srpna novou kalibrační sadu a měření, které za ní stojí. Nad zhruba…

  4. U sebe doma

    Unsloth Desktop odsune při přetečení kontextu nejstarší část chatu do archivu

    Unsloth vydal 20. srpna 2026 verzi 0.1.801-beta své desktopové aplikace. Dlouhý chat v ní po přetečení kontextového okna nekončí chybou: okno se vyprázdní, starší kola…