Pevné K v produkci selhává

Proč spekulativní dekódování s pevným K v produkci ztrácí dech a dynamické K se vyplácí až při skutečné zátěži


servery-v-datacentru_adbcd996.png
DSD ukazuje, že spekulativní dekódování může zrychlit inference jen tehdy, když se K přizpůsobí zátěži i hardware. Fixed-K v produkci často selhává, zatímco adaptivní přístup drží výkon napříč režimy.

Spekulativní dekódování jako kompromis mezi pamětí a výpočtem

Při nízké BS je inference memory-bound, protože dominuje přesun vah z HBM do SRAM. Při vysoké BS se přesouváme do compute-bound režimu, kde dominují maticové násobení nad mnoha tokeny. Výpočetní jednotky jsou přibližně o dva řády rychlejší než paměťová šířka pásma.

Úzkým místem SD je ověření target modelem, protože při K draft tokenech zpracovává BS × (K+1) tokenů. Jak BS roste, SD už nemá kde brát rezervu a může být pomalejší než vanilla inference. Tím se otevírá přechod k limitům fixed-K přístupu v produkci.

Fixed-K limit při proměnlivé BS a v RL rolloutech

Autoři zároveň uvádějí, že v RL rollout fázi může inference spotřebovat až 85 % zdrojů. Právě dlouhý ocas generací pak plýtvá dávkou a fixed-K přístup ztrácí praktičnost. Z tohoto důvodu navrhují DSD jako řízení K podle hardwarových omezení.

DSD, goodput a offline profilování K pro dense i MoE

DSD podle dat zvyšuje K v paměťově omezeném režimu a snižuje ho, když inference naráží na výpočet. Autoři uvádějí, že náklad jednoho draft tokenu zůstává v zásadě stejný, zatímco přínos pro AL s dalším tokenem exponenciálně klesá. Goodput proto definují zjednodušeně jako AL / ITL; ITL zde znamená latenci mezi tokeny, obvykle součet času draftu a ověření.

Výběr K neprobíhá za běhu znovu od nuly. Zpráva popisuje offline profilování metrik AL a ITL a uložení výsledků do lookup tabulky pro runtime použití. Z dat pak vyplývá odlišné chování podle typu modelu: u dense modelů optimální K s rostoucí BS monotónně klesá.

U MoE modelů je volba K ne-monotónní. Při nízké BS je optimální K nízko, při střední BS roste a při vysoké BS znovu klesá. Autoři to spojují s tím, že při nízké BS verifikace zatěžuje další experty, zatímco při střední BS jsou experti už načtení a při vysoké BS se systém vrací do compute-bound režimu.

Benchmark vanilla, fixed-K SD a DSD na dense a MoE modelech

Autoři porovnali vanilla režim, fixed-K SD s EAGLE head a K = 3 a DSD s dynamickým K na MT-Bench, kde vzorky navýšili na 20 × BS. U dense modelu Command A DSD drží výkon i ve vysoké BS, zatímco fixed-K SD propadá pod vanilla. Při BS 128 a BS 256 je DSD zhruba o 23 % rychlejší než fixed-K SD.

Proti vanilla vychází DSD při BS 128 o 7,5 % rychleji a při BS 256 o 1,82 % rychleji. Z dat vyplývá, že při velmi vysoké BS 256 DSD dosahuje výkonu vanilla, zatímco fixed-K SD už klesá pod ni. U MoE modelu Command A+ dávají SD a DSD podobná zrychlení; DSD většinou volí K = 3 a mezi BS 16 a 32 přechází na K = 5 bez jasného dodatečného zisku.

Asynchronní plánování a full CUDA graph ve vLLM

Ve vLLM musela být DSD kompatibilní s asynchronním plánováním i full CUDA graphem. Jinak by nepřevzala plný efekt optimalizovaného inference stacku. Asynchronní plánování překrývá CPU plánování pro T+1 s GPU během T, zatímco full CUDA graph snižuje režii mnoha kernel launchů.

Co si z dat odnést do marketingové praxe

Stejně opatrně bychom měli číst i provozní data webu umytafasada.cz. Nízký objem návštěv, vyšší míra okamžitého opuštění a chybějící podklady z GSC, PageSpeed Insights, Ahrefs i Google Ads nám říkají, že bez úplného měření nelze spolehlivě oddělit problém nabídky, techniky a media mixu. Pro marketéra z toho plyne praktický dopad: dřív než budeme optimalizovat taktiku, musíme mít jistotu, že systém umí pracovat s reálným provozem, ne jen s laboratorním nastavením. Závěr je tedy přímý — přínos DSD vzniká až tam, kde adaptace respektuje hardware i produkční stack, jinak zůstane jen elegantní, ale křehkou demonstrací.

FAQ: Co by nás mělo zajímat před nasazením do praxe?

Musíme vždy použít adaptivní K, aby měl výkon smysl?
Ne. Data ukazují, že pevné K může fungovat v omezeném scénáři. V produkci ale adaptace lépe reaguje na měnící se BS a hardware.

Je vyšší zrychlení z benchmarku dobrý důvod k nasazení?
Ne automaticky. Benchmark může přehlédnout plánování, CUDA graph i provozní režim. Bez toho snadno optimalizujeme jen laboratorní stav.

Když nám funguje fixed-K, proč řešit další komplexitu?
Protože fixed-K často padá ve chvíli, kdy se mění zátěž. Data ukazují, že v produkci rozhoduje stabilita napříč režimy, ne jedno číslo.

Co je častá chyba při čtení takových výsledků?
Brát zrychlení jako univerzální vlastnost algoritmu. Ve skutečnosti jde o souhru algoritmu, dávky, paměti, výpočtu a implementačního stacku.


Zdroj: cohere.com

Mohlo by vás zajímat