ForgeKernel登顶双榜,AI生成Kernel性能超专家

连Kernel都不用手搓了
不久前,某开源推理框架推出后,AI就快速在相关算子上实现了更优的底层Kernel优化,相关技术发展让Kernel编写不再依赖人工逐行调试。
同样一款大模型、同一块芯片,更换一套更高效的底层算子,推理速度就能拉开明显差距。某团队在底层计算优化上已积累不少成果,从高性能算子库到开源推理框架,相关工程成果正陆续开放。
就在该推理框架开源后不久,名为ForgeKernel的项目在某大模型相关算子任务上,跑出了比官方实现更快的结果。这些Kernel由AI自主编写、测试和反复优化,整个过程无需工程师逐行调优。
ForgeKernel还登顶了两大公开算子榜单:NVIDIA相关的FlashInfer基准测试B200合集,以及昇腾CANN基准测试的A3、950DT、950PR硬件榜。
一边是积累了大量专家实现和优化经验的CUDA生态,一边是拥有独立硬件架构与软件工具链的昇腾。两张榜单对算子优化提出了不同的考验。
AI自动生成Kernel已经不算新鲜事。如今,更重要的是它能否在成熟的高性能实现面前继续挖掘优化空间,以及这种能力能否适应不同硬件。
基础模型已经能完成这样的优化任务,过去为Kernel Agent设计的复杂流程,还有多少是必需的?
双榜第一的含金量
先看NVIDIA的FlashInfer基准测试。该测试面向大模型推理中的实际算子任务,测试平台是Blackwell架构的B200图形处理器。参赛者需要在保证计算正确的前提下,尽可能压低执行延迟。
ForgeKernel目前位居合集第一,26道任务全部通过,SOL得分0.814011,平均加速比5.49倍。第二名的SOL得分0.808181。第一梯队还有多支团队通过了全部26道任务,头部竞争的焦点已经落到执行延迟上。
同一个算子,在不同输入规模、序列长度和数据布局下,最优实现可能不同。计算分块、并行方式与数据访问策略的细微差异,都可能影响最终速度。
昇腾CANN基准测试A3硬件榜则在另一套计算平台上检验算子优化能力。10月15日,由昇腾官方维护的CANN基准测试v1.1正式封榜。
面对53个算子、1060个公开测试用例,ForgeKernel以8566.11的总分排名第一,基准加速比达到1.835倍。相比第二名的1.474倍,这一指标领先约25%。
五天后,CANN基准测试v2.0开启新一轮评测,测试任务扩展至60个算子。ForgeKernel继续占据A3硬件榜首。截至10月26日,榜单显示其总分达到4130.38,基准加速比为1.919倍。
不仅是A3,ForgeKernel在昇腾950DT、950PR两张硬件榜上也均位列第一,基准加速比分别达到1.589倍和1.875倍。
NVIDIA和昇腾的软硬件体系存在差异,但ForgeKernel采用同一套优化流程,在两套环境中均取得了领先成绩。
只给目标,也能超过专家
过去,大模型即便能写出正确的代码,也很难独立完成后续的性能优化。因此,专用Kernel Agent往往需要配备知识库、性能分析工具和固定的调优流程。
某高校团队的Kernel Design Agents (KDA)就是其中的代表。它提供知识库、架构编程指南和性能分析工具,并为模型安排了明确的优化步骤。
NVIDIA的AVO把领域知识与演化搜索结合起来,CAKE则借助编译器验证和代价模型提供优化反馈。
专业知识和固定流程可以帮助模型少走弯路。如今,通用编程Agent已经能自行调用工具、修复错误,围绕性能目标持续修改代码。许多过去需要写进工作流的步骤,也开始由模型自主决定。
论文《仅目标:仅以目标为导向,AI基线超越专家Kernel》便直接拿掉这类专业指导,检验模型自身的算子优化能力。
研究者先把专用Kernel Agent的评测流程拆成三个部分:负责编译、正确性验证和性能计时的评测基础设施,提供优化经验的领域知识,以及规定搜索步骤的工作流程。
随后只保留评测核心,移除预设的专业知识和固定工作流。这套极简方案被称为JustGoal。
每次实验,模型只接到一个算子和一组具体输入配置。给它的中文指令仅有四句话:先测出参考Kernel在B200图形处理器上的执行延迟,再从零写出正确且更快的版本。
算法怎么选、先改哪里、何时进行性能分析,提示词都没有规定。编译失败由模型自己修复,性能不够好就继续修改。它可以主动使用性能分析工具,但没有专用工具替它安排优化步骤。
提示词很短,正确性检查却没有简化。为了防止模型通过牺牲精度换取速度,研究者先用fp32的朴素实现作为数值参考,测出专家Kernel相对这一参考的误差,再要求AI生成的Kernel不得超过同样的误差范围。
最终评测还会使用Agent没见过的随机输入和边界案例,防止代码只针对已知测例优化。
研究团队使用同一套Goal模式和评测任务,比较了三代基础模型。测试对象包括FlashAttention-4的反向计算、某稀疏注意力的前向计算,以及某门控DeltaNet的预填充前向计算,硬件统一为B200图形处理器。
以人类专家实现为1.0倍基线,第一代模型在已测试任务上的平均性能还落后于专家;升级到第二代后,三组任务已经追平或超过基线。到了第三代,三个算子的几何平均加速比分别达到1.08倍、1.58倍和1.58倍。
同一套极简Goal模式,随着基础模型升级,三组算子的平均性能全部越过了专家基线。
人类专家之外,研究团队还将KDA-0.5公开的两个算子实现放到同一测试环境中重新计时。KDA-0.5在这两组任务上的几何平均加速比分别为1.45倍和1.28倍,第三代模型的Goal模式则双双达到1.58倍。
在这两组任务的平均性能上,极简Goal模式生成的Kernel已经超过了KDA-0.5。
某门控DeltaNet的长序列预填充任务提供了一个更直观的例子:同一组输入下,专家参考实现的延迟为145.6微秒,KDA-0.5降到了125.5微秒,第三代模型的Goal模式则只需94.5微秒,比KDA-0.5又降低了约25%。
FlashAttention-4的一组测试甚至在运行约37.2小时后,才找到最后一个更快的版本。
双榜背后的研究团队
JustGoal已经证明,基础模型即使没有复杂的专用优化流程,也能写出性能超过专家的Kernel。但面向实际算子优化任务,ForgeKernel并没有直接照搬这套极简方案。
JustGoal论文的署名机构包括清华大学和面壁智能。而ForgeKernel背后的研发团队,同样来自面壁智能。
ForgeKernel将评测流程的设计重点放在长程规划上:减少固定的算子调优步骤,让模型自主组织多轮优化,持续寻找更快的实现。
在实际任务中,ForgeKernel会利用已有的专家实现作为参考,由模型针对不同硬件积累所需知识,并通过持续测试寻找更快的方案,无需为每种硬件预设独立的算子调优流程。
ForgeKernel还与KDA-0.5的公开实现进行了内部对照。在三类算子任务中,ForgeKernel全部取得更快的执行速度,其中两项相对KDA-0.5的加速超过1.2倍。
据研发团队介绍,ForgeKernel生成的Kernel已接入内部训练框架,覆盖NVIDIA和华为硬件环境,并完成过某大模型的长训测试。
团队还针对实际生产负载中的不同输入配置,与人工实现进行了性能比较。
结语
一个Kernel的执行时间,差几微秒看似不起眼。放进持续运行的模型训练和推理中,底层代码的效率却会直接影响算力消耗。
过去,工程师要围绕硬件和输入配置反复调试。现在,AI已经能够自行编写、验证并寻找更快的实现。
随着基础模型能力提升,评测流程也面临新的取舍。提前规定过多优化步骤,可能限制模型的探索。面对更复杂的任务,又离不开长程规划、正确性检查和可靠的性能反馈。
AI已经开始替AI优化最底层的计算。接下来,值得关注的是它能否在更多芯片和真实负载中,持续写出高性能Kernel。

