Každý, kdo provozuje velký jazykový model, zná ten problém. S rostoucím kontextem se KV cache nafukuje do obludných rozměrů. Google Research teď přichází s technikou TurboQuant, která má tenhle nešvar řešit chytrou kvantizací.
Problém s inferencí velkých modelů není jen o hrubé síle výpočetních jader. Je to hlavně boj o paměť. A největším žroutem je takzvaná KV cache, která drží stav konverzace. Bez ní by model při každém dalším slově zapomněl, o čem byla řeč.
Představte si to jako poznámkový blok. Čím déle si povídáte, tím víc stránek popíšete. U modelů s kontextem milion tokenů se z toho stává tlustá kniha, co se nevejde na stůl – tedy do VRAM grafické karty. Inference se drasticky zpomalí, nebo rovnou spadne.
Standardní řešení? Kvantizace. To je v principu komprese. Vezmete přesná 32bitová čísla (FP32) a ořežete je na méně přesné, ale menší formáty jako 8bitové (FP8) nebo 4bitové (INT4). Je to jako zmenšit fotku ve vysokém rozlišení. Ušetříte místo, ale riskujete ztrátu detailů. A u LLM to znamená ztrátu přesnosti odpovědí.
Agresivní kvantizace celé KV cache může vést k tomu, že model začne halucinovat nebo zapomínat klíčové informace z úvodu kontextu. A tady přichází na scénu TurboQuant. Není to jen další hrubá kvantizace. Je to spíš chytrý kompresní algoritmus.
Podle dostupných informací TurboQuant dynamicky rozhoduje, které části cache je bezpečné zkomprimovat víc a které méně. Starší nebo méně relevantní „klíč-hodnota“ páry může ořezat agresivněji, zatímco ty klíčové, které definují kontext, nechá v téměř původní kvalitě.
Funguje to podobně jako moderní video kodeky. Ne každý pixel ve filmu je stejně důležitý. TurboQuant aplikuje stejný princip na data v cache. Výsledkem je výrazné zmenšení paměťových nároků bez katastrofálního dopadu na přesnost modelu.
Na papíře to dává absolutní smysl. Místo plošného „buď, anebo“ přístupu se zavádí granularita. Pro nasazení to znamená jediné: potenciálně lze provozovat modely s delším kontextem na menším (a levnějším) hardwaru, nebo u stávajících sestav dramaticky snížit latenci. Teď jen počkat, až se to z laboratoře dostane do reálných frameworků.