本文推出了 CUDA Agent,一个用于高性能 CUDA Kernel 自动生成的规模级 Agentic 强化学习(RL)系统。该系统通过 128k 超长上下文和多轮交互训练,在 KernelBench 基准测试中全面超越了 torch.compile,甚至在最具挑战性的任务上比 Claude Opus 4.5 和 Gemini 3 Pro 性能高出约 40%。
TL;DR
算子优化一直是深度学习领域的“暗黑艺术”,要求开发者在硬件架构和数学逻辑间平衡。字节跳动 Seed 团队与清华 AIR 近日发布了 CUDA Agent,这是一个通过大规模 Agentic 强化学习训练的系统。它不仅能写出正确的 CUDA 代码,更能通过多轮的实验、分析和调优,在 KernelBench 上全面碾压了目前最强的商用模型(Claude 4.5/Gemini 3 Pro)以及官方编译器 torch.compile。
核心动机:为什么 LLM 在 CUDA 优化上总是“差点意思”?
当前的 LLM 生成代码虽然强,但在 CUDA 这种对性能极度敏感的任务中,存在两个致命伤:
- 缺乏硬件直觉:如果不实际运行、不看 Profiler(性能分析器),LLM 很难意识到寄存器压力或内存对齐带来的细微性能损耗。
- 训练不稳定:CUDA 代码量极少,RL 训练极易发生分布坍塌。
CUDA Agent 的逻辑很简单:既然人类专家是靠“写代码 -> 跑性能 -> 改代码”不断迭代的,那我们就让模型在强化学习中也学会这套 Agentic 流程。
核心架构:三位一体的优化体系
CUDA Agent 的成功并非只靠算力堆砌,而是源于以下三个维度的系统工程:
1. 算子合成流水线 (Scalable Data Synthesis)
高质量 CUDA 算子对极其稀缺。作者从 torch 和 transformers 库中爬取“种子算子”,利用 LLM 将它们进行组合(Fusion)。为什么融合重要?因为融合多个算子会改变内存访问模式,迫使 Agent 学习如何消除中间存取,这是优化的关键。
图 1:三阶段数据收集流程:抓取种子、LLM 组合、严格过滤。
2. 赋予模型“调优技能” (Skill-Integrated Loop)
作者并非扔给模型一个空 Shell,而是按照 Agent Skills 范式,为模型准备了 SKILL.md 指导手册和一系列工具。模型学会了:
- 使用
profile.py分析 PyTorch 原生性能。 - 编写
.cu和绑定代码。 - 在真实的 GPU 沙盒中迭代,直到性能提升超过
torch.compile5% 以上。
3. RL 训练的“定海神针”
为了防止 131k token 的长上下文 RL 崩溃,作者提出了两步走:
- Actor 初始化:通过拒录微调 (RFT),先给模型种下正确的“行为先验”。
- Critic 初始化:先进行价值预训练,让模型能准确判断哪一步是“浪费时间”,哪一步是“神来之笔”。
图 2:两阶段多轮 Agentic RL 训练架构图。
实验战绩:让编译器“失业”?
在 KernelBench 测试中,CUDA Agent 展现了统治级的实力:
- 通过率 (Pass Rate):接近 100%。
- 加速比 (Speed-up):在 Level 2(算子序列)中实现了 2.80x 的几何平均加速。
- 对比商用模型:在最难的 Level 3 任务中,它的加速效果比 Claude Opus 4.5 高出约 40%。
表 1:对比 Claude、Gemini 及主流开源模型的性能表现。
为何如此强?Case Study 揭秘
深度分析发现,CUDA Agent 掌握了以下“黑科技”:
- 代数归约:它能发现
Diagonal MatMul其实就是简单的Row-wise Scaling,从而将复杂度从 降到 。 - 硬件敏感性:它会自动调用
cuDNN的融合 API,或者在计算 ResNet 模块时,自动开启 TF32 精度以利用 Hopper 架构的 Tensor Cores。
总结与启示
CUDA Agent 的出现标志着 AI 从“写出能跑通的代码”真正跨越到了“写出极致性能的代码”。 Takeaway:未来的系统编程不再是单纯的代码生成,而是利用强化学习,让 Agent 在受控的沙盒中通过千百次的自我博弈,探索出编译器都无法预见的优化路径。
项目页面:https://cuda-agent.github.io/
