Wink Pings

4 小时、0 行人类代码:Agent 把 FlashMLA kernel 追到只差 12.7%

在 B200 上跑 3.9 GPU 小时、6 轮迭代,一个 agent 从零生成的 DeepSeek V4.1 prefill kernel 达到 FlashMLA 参考速度的 87.3%。手写 kernel 原本是资深工程师几周的工作。数字之外,更值得看的是它的反馈循环,以及这类任务为什么特别适合 agent。

4 小时,0 行人类代码。一个 agent 在 B200 上从零写出了 DeepSeek V4.1 的 prefill kernel,速度跑到 FlashMLA 参考实现的 0.873x。

先把背景补上。FlashMLA 是 DeepSeek 开源的高效 MLA 实现,prefill 是推理里计算最密的一段。手写这类 kernel 要熟显存层级、tensor core、指令调度,通常由资深工程师花几周反复调。现在这个周期被压进了一次 3.9 GPU 小时的运行。

ForgeKernel Live 运行界面:当前程序为 FLASHMLA PREFILL - DEEPSEEK-V4.1 - B200,参数 s_q=4096、h_q=128/h_kv=1/d=512/topk=640、bf16>fp8;计时 T+03:55:28;实测 593 微秒,参考 FlashMLA 518 微秒;速度比 0.873x,标注 slower than FlashMLA。底部折线图为每个候选 kernel 相对 FlashMLA 的速度,对数刻度。

截图来自 ForgeKernel Live。测试条件写在标题栏里:s_q=4096,h_q=128,h_kv=1,d=512,topk=640,bf16 输入、fp8 输出。参考线是同一块 GPU 上测到的最快 FlashMLA,518 微秒。Agent 的第三版跑出 593 微秒。换算一下,耗时多 14.5%,速度是 0.873 倍。精度项写着 fp32 校验,界面没有给出更多结果。

整个运行 6 轮、3 个版本、1 次失败。底部那张图是对数刻度,每个点是一次被 agent 计时的候选 kernel,白线是 FlashMLA 的 1.00x。曲线从慢很多的位置开始,一路往参考线贴,最后一个点停在 0.873x。

Yuxuan Li 给这次运行用的词是 self-evolution。看细节会更清楚:agent 生成 kernel,跑测速,拿结果,再改。反馈信号是毫秒级的硬件数字,明确、即时、可重复。模型权重没动,动的是外面那层循环。

这解释了一个常被忽略的点。Agent 在什么地方进步快,取决于反馈有多干净。Kernel 优化恰好属于对错和快慢都能被测出来的领域,搜索循环的效果会被放大。换到需求模糊、验收标准靠人拍脑袋的任务,同样的循环就不一定灵。

还有一层容易被跳过:0 行人类代码不代表 0 人类投入。目标函数、参考基线、精度门槛、硬件环境,都是人定的。Agent 在里面搜索,边界在外面。

评论区有人直接甩了个“TIME TO COOK”的梗图。

Sophia 的评论是,看着 AI 在没有人类写代码的情况下提升自己的表现,是另一个层级的事。她也提到 4 小时接近专家结果这件事本身够硬。

12.7% 的差距在实际推理里不是小数。FlashMLA 本身就是优化过的实现,越接近前沿,每一点提升越难。所以现在能说的是:它进入了同一个量级,还没越过专家线。

有人问能走多远,有人在等下一步。这个问题比“AI 又进化了”有意义。等哪天某个 agent 在同样的测量条件下跑出 1.00x 以上,再说它赢了。

原文链接:https://x.com/sophiaparkerr_/status/2115741547576598813

引用推文:https://x.com/_LiYuXuan_/status/2115691378667835520

发布时间: 2026-10-29 18:27