国产 GPU 上训出来的代码模型,跑分把 Claude Opus 比下去了

小岛AI 2026 / 06 / 10

事情是这样的。今天下午刷 AI 资讯的时候,看到一条让我停下来多看了两眼的新闻,摩尔线程发布并开源了一个叫 MusaCoder 的代码大模型,9B 和 27B 两个规格。

单看「又一个开源代码模型」,这事不算稀奇,现在开源代码模型多到我已经记不全名字了。让我多看两眼的是后半句,这是业内首个基于国产 GPU 算力底座完成全链路训练与验证的开源代码大模型,整个后训练流程跑在他们自家 MTT S5000 搭起来的夸娥智算集群上。夸娥这个名字取自移山的那位大力神,挺直白的,就是要干重活的意思。

然后是成绩单。在 KernelBench 这个评测上,MusaCoder-27B-RL 拿了 Overall Pass@8 93.2%、Avg.@8 88.60%,排在 Claude Opus 4.7、DeepSeek-V4 Pro、GLM-5.1、Kimi K2.6 这些主流模型前面。

好家伙。一个 27B 的模型,在自家国产卡上训出来,单项跑分把一票闭源旗舰按在了身后。

我知道你看到「超越 Claude」这种字眼的第一反应,跟我一样,先把眉毛挑起来再说。这种新闻见太多了,每个月都有模型在某个 benchmark 上超越 GPT 吊打 Claude,点进去一看,要么是在一个没人用的数据集上自娱自乐,要么是拿自家最好的配置去打别家裸奔的 API。所以这篇我想认真拆一下,这个成绩的含金量到底如何,以及比跑分有意思得多的,这件事背后真正的故事。

先讲 KernelBench 是个啥,这东西值得多花两段。

KernelBench 是斯坦福一个实验室做的评测,考的不是让模型写贪吃蛇,而是给模型一段 PyTorch 代码,比如一个矩阵乘法接一个激活函数,让它改写成能直接在 GPU 上跑的底层 Kernel 代码。Kernel 这个词圈外的朋友可能陌生,中文叫算子,你可以把它理解成 GPU 真正执行的那段最底层的计算程序。你在 PyTorch 里写一行 torch.matmul,看起来人畜无害,底下真正干活的是一段精心编排了线程、显存、寄存器的 C++ 代码,怎么分块、怎么对齐内存、怎么让几千个核心不互相踩脚,全是手艺。

从高层算子到 GPU 底层执行,中间隔着一层翻译

这门手艺有多稀缺,举个圈内人都知道的例子。FlashAttention,现在几乎所有大模型训练都在用的那个注意力加速算法,核心就是 Tri Dao 把 attention 的计算重写成了一个对显存访问极度友好的 Kernel。一个人,一段 Kernel,把整个行业的训练成本拉低了一截。反过来说,能把 Kernel 写到生产级性能的工程师,在哪家公司都是被供着的,这活儿对人的要求是同时精通算法、体系结构和那张具体的卡,三样凑齐的人不多。

所以 KernelBench 考的是大模型代码能力里最硬的那一档。它一共 250 道题,从单个算子,到融合的算子序列,再到完整的模型架构,难度一层层往上走。Pass@8 的意思是每道题让模型生成 8 次,只要有一次既编译通过又算得对就算过。93.2% 就是这么算出来的。这个指标当然比只给一次机会的 Pass@1 宽松,你要说它代表模型一出手就稳,那不是。但作为「这模型到底能不能干这活」的能力上限测量,它是有效的。

行,跑分讲完了。现在讲我觉得真正有意思的部分。

你有没有想过一个问题,摩尔线程为什么要做一个写算子的模型?

英伟达真正的护城河,从来不是芯片本身。芯片的参数差距是可以追的,真正追不动的是 CUDA 这套软件生态,快二十年,几十万工程师,无数库、工具、教程、StackOverflow 上的踩坑帖,全长在它上面。任何一家做 GPU 的公司都面临同一个死结,硬件做出来了,上面没软件。没人愿意给你的新平台写算子,因为用户少。用户少,又恰恰是因为算子不全、性能不行。鸡生蛋,蛋生鸡,转不动。

摩尔线程的解法有点子牛逼。既然缺人给 MUSA(他们对标 CUDA 的那层软件栈)写算子,那就训一个模型来写。MusaCoder 支持的方向就是从 PyTorch 标准算子自动生成 CUDA 和 MUSA 两种原生 Kernel,CUDA 那头是给行业用的,MUSA 那头,是给自己铺路的。

而且妙就妙在,训这个模型的过程本身,跑在自家的卡上。

模型是产品,训练过程是证明。一石二鸟。论文摘要里写了一句话,我认为是全文最重的,这些结果不仅证明了执行反馈训练对原生 Kernel 生成有效,也证明了摩尔线程 GPU 能支撑完整的大模型后训练栈。

翻译一下。他们真正想让世界知道的不是「我们的模型跑分高」,是「我们的卡能从头到尾训模型」。前者是一条新闻,后者是一张入场券。

接下来聊聊他们具体怎么训的,这部分我看得格外亲切,因为这就是我的本行。我日常的工作是给大模型搭脚手架,就是让模型真正能干活的那层工程,工具链、评测、调度这些。而 MusaCoder 的整个训练系统,在我眼里就是一个超大号的同类工程。

写代码这个任务有个天然的好处,对错是可以跑出来的。模型生成一段 Kernel,你编译它,运行它,把输出跟 PyTorch 原版对比,再测一下速度,奖励信号就有了,不需要人坐在那里打分。这套思路叫执行反馈强化学习。听着很美好对吧,实际做起来全是坑,论文里自己列了三个,奖励稀疏,难题模型全做错,一点信号都拿不到,等于白跑;reward hacking,模型学会骗过检查器而不是真把代码写对,比如偷偷调用 PyTorch 原版函数然后假装这是自己写的 Kernel;还有训练不稳定,跑着跑着就崩。

他们对着这三个坑搞了一套组件。MooreEval,一个分布式的验证器加奖励环境,所有生成的 Kernel 丢进去真实编译、真实执行、真实打分。PrimeEcho,多轮生成的时候把奖励锚定在第一轮,按我的理解,是防止模型摆烂式地先乱写再靠后面几轮修补混分。Buffered Dynamic Retry,把那种八次全错的硬题先攒进缓冲区,回头再给机会重试,把本来等于零的训练信号捞回来。MirrorPop,把跑偏的旧策略序列过滤掉,维持训练稳定。

执行反馈的训练循环,生成、验证、打分、再来

这些名字一个比一个花哨,但拆开看,每一个都是工程上特别朴素的活,重试、缓冲、过滤、防作弊。我自己搭 agent 评测链路的时候,一大半精力也是耗在这种事上,怎么防模型钻空子,怎么让失败样本别白白浪费。所以读这篇论文我的感受很具体,这不是炫技,这是一支真的把强化学习在生产环境里跑过很多遍的队伍,才写得出来的细节。论文没有一个组件是「我们提出了革命性的新范式」,全是「我们被这个坑埋过,所以造了这个工具」。

厉害了,这种朴素反而是最强的信号。

当然,冷水也得泼,不泼不是「小岛 AI」。

第一盆,MusaCoder 是个专用模型,它的世界里只有 Kernel,你拿它写 React 组件大概率是不行的。拿一个专项特训的 27B 去比通用旗舰的单项成绩,本来就占便宜,有点像拿省队体操选手跟十项全能运动员比吊环。但反过来想,这恰恰是整件事对普通团队最有参考价值的地方,连 9B 那个小号的都能在这个领域追平前沿闭源模型。在足够窄、反馈足够硬的领域,小模型加一套好的训练环境,是真的能把大模型按着打的。不是每个团队都训得起通用大模型,但给自己的专业领域训个小钢炮,门槛在肉眼可见地降低。

第二盆,93.2% 是官方口径,独立复现我还没看到。模型权重在 HuggingFace 上挂着,论文在 arXiv 上挂着,是骡子是马,社区很快会牵出来遛的。我自己还没真正上手跑过,等复现结果出来再下结论也不迟。

第三盆,benchmark 和生产之间永远隔着一条河。KernelBench 的题目再硬核,也是定义良好的题目。生产环境里的算子优化,面对的是老板只给三天、上游接口还在改、profiler 数据看不懂的混沌世界,那条河上目前还没有桥。

冷水泼完了,但这件事在我这里依然立得住。因为它把一个很少有人讲通的故事讲通了,生态的冷启动,可以靠 AI 来撬。

CUDA 生态是几十万工程师二十年堆出来的。按老路子追,去高校抢人、办比赛、发补贴,不是不行,但时间不等人。而如果写算子这件事本身可以被模型规模化地做,账就变了,生态的积累速度不再只取决于你能拉来多少工程师。MusaCoder 写出的每一段能跑的 MUSA Kernel,都是新生态的一块砖。模型造砖,砖砌生态,生态再喂模型。

从一粒火星开始的飞轮

这个飞轮能不能转起来,我不知道。可能转两圈就卡住了,也可能真转起来了。但模型和论文都开了源,第一推力是实打实给出去了,这个姿态我是欣赏的。

写到这儿想起大航海时代的一个细节,早年的船坞开工,第一件事不是造船,是造能造船的工具。外人看着空地上半天没有船的影子,只有一堆奇怪的夹具和滑轨,等船真下水的那天才反应过来,原来前面那些都算数。今天这条新闻大概就是那种夹具下水的日子,船还远,但有人确实在造了。

文中提到的链接都在这里,感兴趣可以自己翻,