Přejít k hlavnímu obsahu

ByteDance učí AI psát rychlejší CUDA než kompilátor. Výsledky mají ale háček

Ilustrační obrázek
ByteDance a Institute for AI Industry Research při univerzitě Tsinghua představily systém CUDA Agent, který neučí jazykový model pouze napsat funkční CUDA kód. Učí ho také měřit jeho výkon, hledat úzká hrdla a opakovaně upravovat kernel tak dlouho, dokud nebude rychlejší než výstup běžného kompilátoru. Na benchmarku KernelBench dosáhl 98,8% úspěšnosti a v 96,8 % úloh překonal torch.compile. Pro českého vývojáře je ale důležitá i druhá část zprávy: samotný vytrénovaný agent zatím zveřejněný není.

AI už umí napsat CUDA. Problém je, že často pomalou

CUDA kernel je malý program, který běží přímo na grafickém procesoru NVIDIA a provádí konkrétní část výpočtu. V moderním AI systému může jít například o násobení matic, normalizaci, konvoluci nebo kombinaci několika operací. Když se podaří takový kernel dobře napsat, model může odpovídat rychleji a firma za stejný výpočet zaplatí méně času na GPU.

To zní jednoduše, ale CUDA není jen další programovací jazyk. Výkon závisí na rozložení práce mezi tisíce vláken, přístupu do paměti, velikosti bloků, synchronizaci i konkrétní generaci GPU. Kód může být zcela správný a přesto využívat hardware přibližně stejně efektivně jako kamion jedoucí po cyklostezce.

Právě zde se podle výzkumné práce na arXivu nachází slabina běžných jazykových modelů. Dokážou generovat CUDA kód, ale bez specializovaného pracovního postupu často nepřekonají automatickou optimalizaci v PyTorch. Základní model Seed1.6 podle zveřejněných výsledků zvládl 74 % úloh KernelBench, ale rychlejší než torch.compile byl jen v 27,2 % případů. Geometrický průměr zrychlení přitom dosáhl pouze 0,69násobku.

CUDA Agent funguje spíš jako programátor s profilerem než jako chatbot

CUDA Agent není chatbot, kterému člověk napíše „optimalizuj tento kód“ a čeká na hotový soubor. Výzkumníci ho vložili do prostředí, které připomíná skutečný vývojový cyklus.

Agent si nejprve prohlédne PyTorch model a změří jeho chování. Poté upraví soubor s novým modelem, zapíše vlastní CUDA kernel, pokusí se ho zkompilovat a spustí kontrolu správnosti. Následně použije profiler, porovná časy a podle výsledků pokračuje další úpravou. Tento cyklus může opakovat desítky až stovky kroků.

Technicky jde o agentní systém postavený na nástrojích pro práci se soubory, příkazovým řádkem a výstupy z běžících procesů. Instrukce pro CUDA jsou uloženy ve specifikaci SKILL.md, tedy v jakémsi pracovním manuálu pro model. Ten mu říká, jak kernel napsat, jak ověřit jeho správnost a jak porovnávat výkon s torch.compile.

To je podstatný rozdíl proti jednorázovému generování kódu. Model nedostává odměnu pouze za to, že vytvoří syntakticky správný program. Odměna přichází až podle výsledku skutečného spuštění. CUDA Agent se tedy učí podobně jako vývojář, který nedostane pochvalu za hezky vypadající kód, ale za to, že zkrátil běh služby z 20 na 12 milisekund.

Výsledek: téměř všechny kernely prošly a většina byla rychlejší

Na testu KernelBench, který obsahuje 250 úloh, uvádí projektová stránka CUDA Agent celkovou úspěšnost 98,8 %. V 98,4 % případů byl výsledný kernel rychlejší než takzvaný eager režim PyTorch. V porovnání s torch.compile byl rychlejší v 96,8 % úloh.

Geometrický průměr zrychlení dosáhl 2,11násobku proti torch.compile a 2,60násobku proti eager režimu. Geometrický průměr je zde vhodnější než prostý průměr, protože omezuje vliv několika extrémních výsledků. Neznamená to tedy, že každý kernel běžel přesně dvakrát rychleji.

Nejlépe systém dopadl u úloh zaměřených na spojování několika operací do jednoho kernelu. U Level-2 části benchmarku uvádí projekt 100% rychlejších výsledků proti torch.compile a geometrické zrychlení 2,80násobku.

Náročnější Level-3 úlohy dopadly hůře, ale stále výrazně nad konkurencí. Tabulka výsledků uvádí 94% pass rate, 90% rychlejších kernelů proti torch.compile a 1,52násobné zrychlení. Oficiální projektová stránka zároveň srovnává CUDA Agent s modely Claude Opus 4.5 a Gemini 3 Pro. U celého benchmarku uvádí konkurenční faster rate přibližně 66,4 až 69,6 % a zrychlení 1,42 až 1,46násobku. Na nejtěžší úrovni je rozdíl zhruba 40 procentních bodů.

V samotné práci je ale drobný rozpor. Abstrakt a úvod uvádějí pro úrovně Level 1 až Level 3 hodnoty 100 %, 100 % a 92 % rychlejších výsledků. Hlavní tabulka uvádí u Level 3 hodnotu 90 %. Při interpretaci je rozumnější držet se právě hlavní tabulky, nikoli optimističtější formulace v abstraktu.

Nejdůležitější není samotný model, ale pracovní prostředí

Výzkum ukazuje, že výkon nevznikl jen přidáním většího jazykového modelu. CUDA Agent kombinuje několik částí: syntetická tréninková data, nástroje pro skutečné spouštění kódu, profiler a posilované učení s dlouhou historií interakcí.

Tréninková sada CUDA-Agent-Ops-6K obsahuje 6 000 synteticky vytvořených úloh. Vznikla kombinací operátorů z knihoven torch a transformers. Systém skládal sekvence až pěti operátorů a následně odstraňoval úlohy, které byly nedeterministické, příliš podobné benchmarku nebo měly podezřelé výstupy. Přibližně 83,77 % vzorků tvoří kombinace dvou operátorů.

Výzkumníci zároveň řešili takzvaný reward hacking. Model by mohl najít způsob, jak obejít měření, vrátit konstantní výstup nebo využít pomalejší fallback implementaci místo vlastního kernelu. Proto CUDA Agent používá chráněné kontrolní skripty, testování na pěti náhodných vstupech, synchronizované měření GPU a zákaz některých záložních volání.

Odměna navíc není prostý poměr rychlosti. Má několik diskrétních úrovní: zápornou hodnotu za chybný výsledek, základní body za funkční kernel a nejvyšší odměnu za řešení, které překoná eager režim i torch.compile alespoň o 5 %. Podle ablačních testů tento přístup fungoval výrazně lépe než odměna založená pouze na naměřeném speedupu. Po odstranění agentní smyčky klesl podíl rychlejších řešení proti torch.compile z 96,8 % na 14,1 %.

Proč na tom záleží firmám provozujícím AI

Optimalizace CUDA kernelů není běžná kancelářská úloha. Největší smysl dává tam, kde se stejný výpočet opakuje miliony nebo miliardy krát: při inferenci jazykových modelů, v GPU cloudech, doporučovacích systémech, autonomním řízení, medicínském zobrazování nebo kvantitativním obchodování.

Pokud se podaří zkrátit dobu výpočtu, může firma obsloužit více požadavků na stejném hardwaru. U generativní AI se to může projevit nižší cenou za token nebo menší potřebou GPU. Nejde však o automatickou úsporu pro každého. Kernel optimalizovaný pro jednu velikost batchu a konkrétní GPU nemusí být nejlepší na jiném akcelerátoru nebo při jiném zatížení.

Výhodou agentního přístupu je právě schopnost přizpůsobit kód měřenému prostředí. Nevýhodou je, že celý proces vyžaduje dostupné GPU, opakované kompilace a bezpečný sandbox. Bez toho agent pouze hádá. A hádání výkonu je v oblasti GPU zhruba stejně spolehlivé jako odhad spotřeby elektromobilu podle barvy karoserie.

Český vývojář si ho zatím běžně nespustí

CUDA Agent není uveden jako spotřebitelská služba s webovým rozhraním, českou lokalizací nebo předplatným. Pro český trh ani pro uživatele v Evropské unii není k dispozici jako hotový nástroj. Výzkumný tým zveřejnil projektovou stránku, práci, specifikaci pracovního prostředí a dataset CUDA-Agent-Ops-6K, nikoli však váhy samotného vytrénovaného agenta.

Systém je postavený na proprietárním modelu Seed1.6. Podle zveřejněných informací má 23 miliard aktivních a 230 miliard celkových parametrů v MoE architektuře. Protože model i agentní politika nejsou veřejné, nelze CUDA Agent jednoduše stáhnout a provozovat na lokální stanici. Výzkumníci navíc uvádějí, že samotné profilovací prostředí využilo 128 GPU NVIDIA H20. To je infrastruktura pro velkou výzkumnou laboratoř nebo cloud, ne pro běžný domácí počítač.

Cena tedy není stanovena. Neexistuje veřejný free tier, měsíční předplatné ani oficiální sazba v dolarech, eurech nebo korunách. Veřejně dostupný dataset lze využít pro vlastní experimenty, ale provoz podobného tréninku bude vyžadovat GPU infrastrukturu a znalost CUDA, PyTorch a distribuovaného učení.

Co si z výzkumu odnést

CUDA Agent není novým univerzálním AI programátorem pro každého. Je to spíše důkaz, že jazykový model může být výrazně užitečnější, když dostane nástroje pro měření, kompilaci a ověřování výsledků. U optimalizace nízkoúrovňového kódu je totiž rozdíl mezi „vypadá správně“ a „běží rychle“ zásadní.

Pro firmy provozující vlastní AI infrastrukturu je zajímavá kombinace iterativního agenta, diskrétní odměny a ochrany proti podvodům při měření. Pro menší týmy může být prakticky využitelnější veřejný dataset a popsaný tréninkový postup než samotný uzavřený agent.

Výsledky na KernelBench jsou působivé, ale stále jde o benchmark, nikoli garanci zrychlení v každém produkčním systému. Reálný výkon závisí na architektuře GPU, velikosti dat, batchování, datových přesunech a celém modelovém grafu. CUDA Agent proto zatím není náhradou za zkušeného GPU inženýra. Může však ukázat směr, ve kterém AI nebude pouze psát kód, ale také ho samostatně testovat proti realitě.

FAQ

Co přesně znamená, že CUDA Agent překonal torch.compile?

Znamená to, že v benchmarku vytvořil CUDA kernely, které byly podle měření rychlejší než kernely generované optimalizací PyTorch pomocí nástroje torch.compile. Neznamená to, že bude rychlejší v každém modelu nebo na každé GPU.

Lze CUDA Agent stáhnout a spustit na vlastní grafické kartě?

Samotné váhy vytrénovaného agenta zveřejněny nejsou. Veřejně dostupný je především dataset CUDA-Agent-Ops-6K, projektová dokumentace a popis tréninkového postupu. Plná reprodukce vyžaduje značnou GPU infrastrukturu.

Je CUDA Agent dostupný v češtině nebo pro české firmy?

Ne jako hotová služba s českou podporou či oficiálním předplatným. Český vývojář může využít zveřejněnou práci a dataset, ale potřebuje vlastní CUDA prostředí, NVIDIA GPU a odborné znalosti pro provoz a vyhodnocení experimentů.

Zdroje: výzkumná práce CUDA Agent na arXivu, oficiální projektová stránka, dataset CUDA-Agent-Ops-6K na Hugging Face a rozbor serveru MarkTechPost.

Diskuze

Zatím žádné komentáře — buďte první, kdo se podělí o svůj názor.
X

Nezmeškejte novinky!

Přihlaste se k odběru novinek a aktualit.