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

    Známku ověřeného měření nemá ani jeden z 2 542 výsledků v žebříčcích Hugging Face

    Hugging Face ukládá od prosince 2025 výsledky testů přímo do repozitáře modelu a skládá z nich žebříčky benchmarků. Ze 2 542 položek, které v nich 4. září 2026 stály,…

  2. Čí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…

  3. Čí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…

  4. Čí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…