标准测试通过的 GPU 内核,98.5% 过不了严格验证
作者:林岚|OC 开发者生态编辑
作者:林岚|OC 开发者生态编辑
一篇新发布的 arXiv 论文 对 2638 个由语言模型生成、并被公开系统原有测试判为正确的 GPU 内核进行了重新验证。研究者设计了 12 道对抗性检查,结果发现 39.5% 的内核存在无法用误差容忍解释的错误,62.1% 至少违反一项正确性约束。
一句话结论:AI 生成 GPU 内核最大的风险不是偶尔编译失败,而是它能通过宽松测试、跑出看似接近的数字,同时在特殊值、形状变化、精度和确定性上悄悄做错。
现有评测通常在一个固定形状上生成少量随机输入,只要输出和参考实现足够接近,就判定通过。这适合快速筛选,却遗漏了生产代码真正会遇到的边界:正确结果是 NaN 或无穷大时是否保留语义,输入形状改变后是否仍正确,多次运行是否一致,以及累加是否错误地从 fp32 降成 fp16。
研究团队建立的 verifier 把这些要求写成 12 项合同,其中多项是零容忍检查,不允许通过放宽浮点阈值解释失败。在标准测试接受、严格验证拒绝的 1487 个内核中,98.5% 的判断与参考基准自身的正确性代码一致。研究者还使用正向对照、阈值扫描和分层人工审计交叉检查结果。

这项工作也不是只负责挑错。团队用同一套验证器检查了自己为 Blackwell tcgen05 编写的 GDN 系列训练反向内核,并以双精度实现作为独立基准,随后用它训练五类模型。这个过程说明,严格验证不是阻止性能优化,而是让优化结果有资格进入训练栈。
需要注意,98.5% 不是“所有 AI 代码的错误率”。它指的是一个特定公开系统中,被标准测试接受、却被新验证器拒绝的那组内核。论文结论仍需更多系统和硬件复现,但它已经证明当前常用正确率指标过于乐观。
关键事实
- 样本:2638 个原测试已接受的机器生成 GPU 内核
- 结果:39.5% 存在明确错误,62.1% 至少违反一项约束
- 方法:12 项对抗性合同验证,多项零容忍
- 自证:验证原生 Blackwell 反向内核,并完成五类模型训练
OC 判断
生成内核的基准正在奖励“在几组输入上看起来正确”,而生产系统需要“对允许输入都遵守合同”。先别急着激动。模型把 CUDA 写得更快,只是完成了候选生成;测试形状扩展、特殊值语义、确定性和精度检查,才是它能否合并的条件。
为什么重要
- 对开发者:AI 生成的低层优化不能只依赖随机样本和近似误差。
- 对企业:错误 GPU 内核可能不崩溃,却会污染训练结果和线上推理。
- 对研究者:需要公开验证合同,而不只是报告一个汇总正确率。
评论
围绕这篇文章补充信息、提出问题或分享观察。