Die Optimierung von GPU-Code gehört zu den schwierigsten Disziplinen der Softwareentwicklung. Es reicht nicht aus, Code zu schreiben, der funktioniert. Er muss auch schnell sein. Und das ist ein völlig anderes Spiel. Die meisten Entwickler geben sich damit zufrieden, dass der Code die Tests besteht. Bei CUDA-Kerneln reicht das jedoch nicht aus. Ein korrektes Ergebnis und ein schnelles Ergebnis sind zwei verschiedene Dinge. Genau dieses Problem wollten Forscher von ByteDance Seed und der Tsinghua University lösen. Das Ergebnis? Ein System namens CUDA Agent, das sowohl Standardcompiler als auch die weltweit führenden Sprachmodelle übertrifft.
Was ist CUDA Agent?
CUDA Agent ist ein groß angelegtes System für bestärkendes Lernen, dessen Ziel es ist, CUDA-Kernel für Deep Learning automatisch zu generieren und zu optimieren. Das klingt technisch, doch das Grundprinzip ist einfach: Es handelt sich um einen KI-Agenten, der gelernt hat, schnellen GPU-Code zu schreiben, indem er für die tatsächliche Geschwindigkeit auf der Hardware belohnt wurde und nicht nur für die Korrektheit der Ausgabe.
Die meisten bisherigen Ansätze funktionierten anders. Code generieren, prüfen, ob er sich kompilieren lässt, und gegebenenfalls Fehler beheben. Fertig. Die GPU-Leistung hängt jedoch von Faktoren ab, die kein Korrektheitstest aufdeckt: vom Speicherzugriff, von der Auslastung der Recheneinheiten, vom gemeinsam genutzten Speicher oder von Konflikten in den Speicherbänken. Das lässt sich nur in einem Profiler erkennen.
CUDA Agent ändert die Belohnungsregel. Statt „Wurde der Code kompiliert?“ fragt er: „Ist der Code schneller als torch.compile?“ Und zwar um mindestens 5 %.
Die Ergebnisse lassen die Konkurrenz weit hinter sich
Die Testergebnisse im Benchmark KernelBench (250 GPU-Kernel, unterteilt in drei Schwierigkeitsstufen) sind beeindruckend. CUDA Agent erreichte gegenüber torch.compile eine Gesamtbeschleunigung um den Faktor 2,11 und war in 96,8 % der Fälle schneller als dieser Standardcompiler von PyTorch. Zum Vergleich: Claude Opus 4.5 erreichte eine Beschleunigung um den Faktor 1,46 und Gemini 3 Pro um den Faktor 1,42. Auf der schwierigsten dritten Stufe, bei der es um zusammengesetzte fusionierte Kernel wie vollständige ResNet-Blöcke geht, übertraf CUDA Agent beide Modelle beim Anteil der Fälle, die schneller als torch.compile waren, um 40 Prozentpunkte (90 % gegenüber 50 % beziehungsweise 52 %).
Noch interessanter ist der Vergleich mit dem Basismodell. Seed 1.6 erreichte ohne Training durch bestärkendes Lernen lediglich den Faktor 0,69 — es war also langsamer als torch.compile. Nach dem Training sprang dieselbe Architektur auf den Faktor 2,11. Das ist allein durch die Trainingsmethode eine dreifache Verbesserung.
Wie der Agent denkt und arbeitet
Der Agent arbeitet in einer Schleife nach dem ReAct-Prinzip: Er analysiert die Leistung, identifiziert Engpässe, schreibt einen eigenen CUDA-Kernel, kompiliert und testet ihn und optimiert ihn anschließend weiter. Er kann in einem Kontextfenster mit einer Länge von 131.000 Token bis zu 200 Schritte pro Aufgabe ausführen.
Die Optimierungen erfolgen auf drei Ebenen. Zunächst kommen algorithmische Änderungen mit der größten Wirkung: Kernel-Fusion, gemeinsam genutzter Speicher und koaleszierter Speicherzugriff. Danach folgen Optimierungen der Hardwarenutzung: vektorisierte Datenladevorgänge, Warp-Primitive und die Abstimmung der Auslastung. Den Abschluss bildet die Feinabstimmung: gemischte Genauigkeit, Schleifenentfaltung und die Vermeidung von Speicherkonflikten.
Damit der Agent nicht schummelt, umfasst das System fünf Schutzmechanismen: geschützte Skripte für das Profiling, ein Verbot von PyTorch-Fallback-Aufrufen, die Überprüfung der Korrektheit anhand von fünf verschiedenen Eingaben, synchronisierte Leistungsmessungen und keinen Internetzugang.
Das Training, das beinahe gescheitert wäre
Hier kommt der interessanteste Teil der Geschichte. Das Basismodell Seed 1.6 ist ein dünn besetztes MoE-Modell mit 230 Milliarden Parametern, von denen 23 Milliarden aktiv sind. CUDA-Code macht weniger als 0,01 % seiner Vortrainingsdaten aus. Dieses Missverhältnis hätte beinahe das gesamte Projekt zum Scheitern gebracht. Ohne ein spezielles mehrstufiges Warm-up brach das Training bereits im 17. Schritt zusammen. Die Ursache: CUDA-Token haben im Modell eine Wahrscheinlichkeit von etwa 10⁻⁹, was im PPO-Algorithmus (Proximal Policy Optimization) zu einer Explosion der Stichprobenverhältnisse führte.
Die Lösung bestand aus vier Phasen: zunächst ein einmaliges PPO-Warm-up mit 6.000 synthetischen Operatoren, dann die Filterung von Trajektorien und eine überwachte Feinabstimmung, anschließend das Vortraining des Kritikers für stabile Wertschätzungen und schließlich das vollständige agentenbasierte bestärkende Lernen. Jede Phase ist unverzichtbar. Wird die Agentenschleife weggelassen, sinkt der Anteil schnellerer Kernel von 96,8 % auf lediglich 14,1 %.
Was öffentlich verfügbar ist und was hinter verschlossenen Türen bleibt
Das Forschungsteam veröffentlichte einen wissenschaftlichen Artikel, eine Projektseite und den Trainingsdatensatz CUDA-Agent-Ops-6K auf der Plattform Hugging Face. Dieser Datensatz enthält 6.000 synthetisch erzeugte Operatoren und wurde gründlich auf Überschneidungen mit den Testdaten geprüft.
Die Gewichte des trainierten Modells selbst sind jedoch nicht öffentlich verfügbar. Das Basismodell Seed 1.6 ist über die API von ByteDance zugänglich, doch der vollständige CUDA Agent bleibt hinter verschlossenen Türen. ByteDance unterhält außerdem das kleinere Projekt cudaLLM, das auf dem Modell Qwen3-8B basiert, unter der Apache-2.0-Lizenz verfügbar ist und Forschern mit begrenzten Rechenressourcen eine leichter zugängliche Alternative bietet.
Die Frage, die im Raum steht: Wann wird ByteDance das Modell öffnen? Die Methode hat sich bewährt. Die Ergebnisse sind überzeugend. Und wenn ein KI-Agent Standardcompiler auf realer Hardware konstant übertreffen kann, könnte dies die Art und Weise grundlegend verändern, wie Rechenbibliotheken für Deep Learning entwickelt werden. Das wäre ein echter Fortschritt für die gesamte Branche.



