Přeskočit na obsah
Čísla 3 min čtení

Zrychlení jádra Qwen-Image se v celém požadavku neprojevilo

SGLang sloučil závěrečnou normalizaci a modulaci obrazového modelu Qwen-Image do jediného jádra. Samotná operace zrychlila podle délky vstupu 3,1krát až 5,6krát, deset měření celého požadavku ale skončilo v pásmu statistického rozptylu.

Řady výpočetních skříní superpočítače Titan
Superpočítač Titan. Foto: GBPublic_PR, Flickr (CC BY 2.0)

Do hlavní větve SGLangu přibyl 31. srpna 2026 commit 771e613d, který mění závěrečnou operaci obrazového modelu Qwen-Image. Původní výpočet spouštěl normalizaci, násobení měřítkem a přičtení posunu odděleně. Nová cesta je slučuje do jediného jádra napsaného v Tritonu. V izolovaném testu je rozdíl výrazný; při měření celého generování obrázku se ale ztratil.

Model Qwen-Image-2512 vede jeho karta na Hugging Face jako systém pro tvorbu obrazu z textu v knihovně Diffusers. Změna ve SGLangu nezasahuje do vah ani do postupu odšumování. Nahrazuje jediný řádek na konci transformátoru voláním nové funkce _qwen_norm_out.

Pět délek vstupu dalo pět různých násobků

Autor návrhu 37144 měřil na jedné kartě NVIDIA GB300 s 288 GB paměti, CUDA 13.0 a PyTorchem 2.13.0. Data byla ve formátu bfloat16, dávka měla jeden požadavek a skrytý rozměr 3 072. Měnil se počet tokenů, tedy kolikrát se stejná operace v jednom průchodu provede.

TokenůPůvodní výpočetSloučené jádroZrychlení
12862,032 µs11,040 µs5,619×
51249,824 µs11,296 µs4,411×
2 04854,304 µs16,512 µs3,289×
4 09683,680 µs26,944 µs3,106×
4 60899,360 µs29,632 µs3,353×

Číslo 3,35× tedy není rychlost modelu. Patří poslednímu řádku mikrotestu jedné operace. Stejný násobek uvádí i Baseten v rozboru své sady jader z 28. srpna. Baseten ale skládal několik různých optimalizací a pro celý Qwen-Image uvádí zkrácení latence o 42,3 %. SGLang převzal právě sloučení závěrečné normalizace a modulace, ne celou sadu.

Celý požadavek vyšel o 96 milisekund delší

Měření celého generování použilo Qwen-Image-2512 v kvantizaci NVFP4, obrázek 1 024×1 024 bodů, padesát kroků odšumování a pevné semínko 20260830. Každá varianta běžela pětkrát v novém procesu po jednom zahřívacím požadavku. Pořadí se střídalo, aby první nebo poslední série nezískala výhodu.

Původní větev potřebovala v průměru 24 465,062 ms, větev s novým jádrem 24 560,894 ms. Rozdíl 95,832 ms je vlastní odečet druhé hodnoty od první. Nová varianta tak na naměřeném průměru vyšla o 0,392 % pomalejší. Autoři výsledek neoznačili za zpomalení, ale za shodu: směrodatná odchylka jednotlivých běhů byla 287,005 ms u původní větve a 239,495 ms u nové, tedy několikrát víc než rozdíl průměrů.

Profil samotného kroku přitom změnu viděl. Sloučení odstranilo šest spuštění jader a v celém záznamu ušetřilo 63,571 µs na jeden krok odšumování. Padesát kroků krát 63,571 µs dává 3,179 ms na požadavek. Průměr obou směrodatných odchylek je 263,250 ms; běžné kolísání bylo tedy zhruba 83krát větší než úspora, kterou profil připsal změně. Obojí je vlastní výpočet z hodnot uvedených v návrhu.

Pojistka porovnává nový výsledek s původním

Rychlejší větev se nepouští bez kontroly. SGLang si pro každou novou kombinaci datového typu, zařízení, tvaru a přesnosti nejprve spočítá sloučený i původní výsledek a porovná je funkcí torch.equal. Při neshodě nebo chybě se optimalizace vypne a výpočet pokračuje původní cestou. Během záznamu grafu CUDA se dosud neověřený tvar také vrátí k původnímu výpočtu; překlad přes torch.compile novou větev nepoužívá.

V deseti celých bězích, pěti na každé variantě, vznikly obrázky se stejným otiskem sha256. Srovnání pixelů nenašlo jediný rozdíl. Tohle tvrzení má silnější oporu než tvrzení o rychlosti: u obrazu vyšel shodný výsledek ve všech pokusech, kdežto časová úspora byla menší než šum měření.

Jeden násobek popisuje jen jednu vrstvu měření

Čísla z mikrotestu, profileru a celého požadavku si neodporují. Každé odpovídá na jinou otázku. Mikrotest ukazuje, kolik práce ušetří sloučené jádro bez okolí. Profiler potvrzuje, že v modelu zmizelo šest spuštění jader. Celý požadavek pak říká, zda je úspora dost velká proti zbytku generování a proměnlivosti stroje. Tady zatím nebyla.

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. Čísla

    Experti uložení po čtyřech bitech tvoří 94 % vah DeepSeeku V4 Flash Vision

    DeepSeek nahrál 31. srpna 2026 na Hugging Face váhy experimentálního modelu DeepSeek-V4-Flash-Vision-Exp. Osmačtyřicet souborů má dohromady 167,8 GB a 93,8 % z toho…

  2. Čísla

    Sada Monsoon ukázala větší rozdíly mezi regiony Indie než mezi osmi modely přepisu řeči

    Hugging Face a Voice Arena přidaly do žebříčku Open ASR Leaderboard sady Monsoon pro indickou angličtinu a hindštinu. Každý klip v nich nese dvanáct údajů o mluvčím, a…

  3. Čísla

    Váhy modelu Hy4 preview se ani ve verzi FP8 nevejdou na osm karet po 80 GB

    Tencent nahrál na Hugging Face váhy vlajkového modelu Hy4 preview a dal je pod licenci Apache 2.0. Součet 131 souborů v repozitáři dá 1 560 GB, kvantizovaná verze FP8…

  4. Čísla

    OpenAI uvádí u čipu Jalapeño až 1,9krát více práce na watt

    První vlastní čip OpenAI pro běh modelů má podle výsledků výrobce zvládnout 1,5 až 1,9krát více práce na watt než srovnávané systémy Nvidia. Při stejné práci by to…