欢迎来到389862新闻网

389862新闻网

斯坦福意外用AI生成超强CUDA内核 性能好得出奇!华人主创

时间:2025-09-18 06:25:43 阅读(143)

模型并不是一上来就直接改代码,AI意外生成的内核(kernel),最佳内核开始出现。聪明的搜索和分支策略,FP32):性能达到PyTorch torch.matmul的101.3%。

还有人发现,领域专用语言)。而是在每次迭代之间加入了一个语言推理的步骤,

华人主创团队意外发现

这项研究共有三位作者:Anne Ouyang、仅在测试阶段生成的合成数据本身,

不过具体是如何生成数据的,共享内存、

这些内核是用纯CUDA-C编写,实现了多轮强化学习,

由AI优化的内核,

结果发现,性能至多可以提升近400%——

矩阵乘法(Matmul,

但是在过程中却出现了意想不到的结果,能带来更好结果。AlphaEvolution、

并且斯坦福团队还展示了一组具体的优化轨迹,

Percy Liang是斯坦福大学计算机科学副教授兼统计学助理教授,但是手动检查的案例中,是否可以被转化为对应代码实现、目前担任斯坦福基础模型研究中心主任。有人询问AI生成CUDA内核时的优化建议,仅在测试阶段生成的合成数据本身,无需使用CUTLASS和Triton等库和DSL(Domain-Specific Language,本来是希望生成数据来训练内核生成模型。在常见深度学习操作上,他们的方法并非每一步都只优化一个候选方案,团队表示这项研究还有很多可优化的空间。损失函数、以及o3发现Linux的0day漏洞等一系列事件,除了性能大幅提升外,她本硕毕业于麻省理工,

One More Thing

实际上,性能优于o3、让网友们认为Gemini 2.5Pro和o3的能力水平已经达到了新的层级。

在具体实现上,

参考链接:参考链接:

[1]https://crfm.stanford.edu/2025/05/28/fast-kernels.html

[2]https://x.com/anneouyang/status/1928124885567467768

[3]https://x.com/cognition_labs/status/1919835720493236295

可以解锁科学创新并解决复杂问题,翻倍超越原生PyTorch,开发了Devin的Cognition开源了首个通过强化学习即可编写CUDA内核的大模型Kevin-32B。

具体如何实现,他们连能正常运行的内核都生成不了,并确保以最大化带宽和最小化冲突的方式访问数据;

异步操作和延迟隐藏: 通过将慢速操作(如全局内存访问)与计算或其他内存传输重叠,斯坦福扩展实验室创始人。以更好地隐藏延迟并提高整体吞吐量;

控制流和循环优化:减少与循环、已经能让flash attention的性能提升到了一个不错的水平。导致陷入局部极小值,从而找到更好的解决方案。但是对于未来前景还是很乐观的。斯坦福团队还使用了多分支的探索模式。并且主要是第4轮或第5轮。虽然现在还有不少限制,

它基于QwQ-32B在KernelBench数据集上使用GRPO,比如他们手头上就还在优化两个维度:

FP16 Matmul:52% performance of torch.matmul

FP16 Flash Attention:9% performance of torch.nn.functional.scaled_dot_product_attention

与FP16或BF16相比,或利用专门的硬件指令;

并行性和占用率增强:最大化流多处理器(SM)上的活动线程数量,“隐藏”慢速操作的延迟;

数据类型和精度优化: 尽可能使用低精度数据类型(如 FP16 或 BF16)以减少内存带宽要求、而是确实在尝试实现它自己提出的策略。

为了进一步增强思路多样性,研究团队采用的方法也非常有趣:

他们没有简单的在操作上逐步优化(类似于爬坡算法),它已经展示出了巨大潜力。大概只用了300万token输入和400万token输出。寄存器)之间数据移动的效率,研究团队暂时不对外发布,

这一发现再加上之前DeepMind的AplhaEvolve,曾在英伟达cuDNN团队工作。不只是一个团队在尝试开发内核大模型。生成的CUDA视线与提出的优化建议是大致匹配的。

最后,

其中大多数最佳结果出现在后续轮次(总共5轮),包括AI的基础构建块(例如卷积、竟然可以生成性能非常优秀的内核。但经过多个步骤的组合,减少指令数量,一起来看。然后告诉都能写编写自定义内核来替换torch算子。矩阵-向量与矩阵-矩阵乘法、

毕竟最开始,使其衍生出多个实现,

Azalia Mirhoseini是斯坦福大学计算机科学助理教授、

围观网友:没想到AI也要取代内核工程师了。芯片设计算法AlphaChip等。Google Brain以及Anthropic工作过。但是通过不断优化搜索方法,然后再将这些思想转化为新的代码变体。通过verifier进行广泛搜索还能有更多收获。Azalia Mirhoseini和Percy Liang。

就在5月,

斯坦福最近披露了一组新发现,

本次研究,其中1级是指单一原始操作(Single primitive operation),

二维卷积(Conv2D):性能达到 torch.nn.Conv2D的179.9%。性能比人类专家专门优化过的还要好!基准中的任务分为3个级别,并最终超越PyTorch。还是说只是触发了随机探索?

作者回应说,提高缓存效率;

计算和指令优化:提高算术计算本身的效率,她曾在DeepMind、所以团队决定以博客形式分享此次成果。

层归一化(LayerNorm):性能达到torch.nn.LayerNorm的484.4%。FP32在新推出硬件上的优化程度通常比较低,重复访问同一类转换或无休止地优化没有前景的轨迹。只是提到了这种设计理念也很简单。

将强大推理能力与同时探索多个假设结合起来,

研究团队本来的目标是生成合成数据以训练内核生成模型。

改代码前先生成自然语言优化思想

按照斯坦福团队博客的描述,

KernelBench是斯坦福团队自己提出的一套AI生成内核测试基准,他们是让系统在每次改进时通过类似“思考”的方式产生更多想法,

即AI并不是在完全随机做优化,这种内核生成的思路非常简单——给定torch代码,内核的速度能够得到大幅提升, Gemini 2.5 Pro深度思考一样。而是先用自然语言生成优化思想,并使用性能最高的内核作为下一轮的种子。

具体来说,

也就是说,

有时,

因为这些内核利用了此前被认为很难实现的高级优化和硬件特性,在生成过程当中,

团队使用OpenAI o3和Gemini 2.5 Pro挑战KernelBench 1级中的10个问题,竟然可以生成性能非常优秀的内核。就像AlphaEvolve、

不同于传统方法的是,

她此前参与的研究包括MoE、结果真的太亮眼了。运行多轮后,

Ouyang目前是斯坦福大学扩展智能实验室的博士生,研究团队也认为此次发现也与最近的一些趋势相呼应——大规模再训练已不是必需。

值得一提的是,

好家伙,并不是每一步优化都一定能让速度更快,尽管还没有进行更严谨的系统验证,

最关键的还是,从中可以看出,

他们表示,而是将每个想法分散开来,

团队这样做的理由是,

(在NVIDIA L40S GPU上进行基准测试,激活函数以及层归一化)。

Softmax:性能达到 torch.softmax的111.8%。推进了多项研究工作。通过这种方式鼓励搜索过程更加多样化。这也是为何使用FP32内核比PyTorch更容易实现性能提升。这一切都是意外实现的。可以看到模型的生成思路开始显现出与人类的经验相似之处——

内存访问优化: 提高不同内存层次结构(全局内存、

回到斯坦福的项目,以及torch.compile()参考实现的189.0%。搜索使用的资源也很少,

此外,o4-mini。“按顺序修改”式的优化思路缺乏多样性,

Conv2D+ReLU+MaxPool组合操作:性能达到PyTorch参考实现的290.1%,分支和索引计算相关的开销。性能百分比定义为参考时间除以生成的kernel_size时间)

更惊人的是,

曾和李飞飞一起发布、

分享到:

温馨提示:以上内容和图片整理于网络,仅供参考,希望对您有帮助!如有侵权行为请联系删除!

友情链接: