本文挖掘Grok 4.8 背后三件事:为什么烧钱买卡不等于训练效率;为什么一家AI公司要把Python和PyTorch全扔掉、用C++从零重写训练栈;以及一个让所有AI研究者后背发凉的递归循环——用比Grok 4.8更弱的模型,写出训练Grok 4.8的代码。
模型浮点运算利用率(MFU) 是理解这场效率危机的第一把钥匙。它衡量的是你花大价钱买的GPU,到底有多少理论算力真正变成了有效的训练吞吐。行业里生产级大语言模型训练的正常水平是35%到45%,Meta大约43%,Google大约46%,而xAI的Colossus集群上,这个数字长期只有约11%。
55万块GPU当6万块用,剩下49万块在干什么?答案有点离谱——它们在等。等数据从显存里搬出来,等跨GPU通信同步,等编译器生成的代码走完那些绕来绕去的抽象层。
xAI总裁迈克尔·尼科尔斯在备忘录里说得很直白:问题不在硬件,而在软件堆栈、并行策略和模型工程优化远远跟不上硬件的激进扩张速度。HBM读取慢、网络瓶颈被数万卡急剧放大、显存压力与张量并行通信开销共同拖累效率。你有全世界最多的GPU,但你没有能让它们同步干活的软件。
这就怪了。一个融了几百亿美元的公司,连训练效率都搞不定?
不是搞不定,是原来的路子走错了。xAI之前用的是Google开发的JAX框架来训练Grok模型。JAX编译时会经过XLA中间层,这个设计天生为Google自家的TPU芯片优化,跑在英伟达GPU上等于多套了一层翻译。英伟达专门派了一个JAX团队支持xAI两年,性能还是上不去。两层翻译官互相踢皮球,最后吃亏的是那55万块GPU。
扔掉框架,用C++跟硅片直接对话
2026年6月底,马斯克宣布了一个让整个AI工程圈震动的决定:把Grok的训练和推理软件栈全部用C和C++重写。
为什么是C++?因为C++没有Python解释器的开销,没有框架层的抽象,编译出来的代码更接近裸金属性能。xAI的工程师做了一件叫“精确映射”的事——绕过所有中间层,直接控制内存分配、算子调度和计算流程。
打个比方。以前训练模型像去餐厅吃饭,你在菜单上点菜,服务员传给厨房,厨房再翻译给厨师。JAX和PyTorch就是那个服务员加翻译,菜端上来的时候可能已经凉了。现在xAI把服务员和翻译全开了,CEO直接冲进厨房跟厨师说:我要这个菜,火候这样控。
具体到GPU层面,这意味着大量使用内联PTX(Inline PTX)。PTX是英伟达定义的一种虚拟指令集,相当于GPU的汇编语言。正常流程是Python代码→CUDA C→PTX→SASS机器码,每一层翻译都有信息损耗。内联PTX让你跳过CUDA C,直接在代码里嵌入PTX指令。实测数据显示,编译器自动生成的快速平方根指令比手写内联PTX版本慢了38%。
Meta也在这条路上狂奔。他们开源的KernelEvolve系统,让AI自动生成GPU内核,把硬件特性文档喂给大模型,生成的PTX代码在多个基准测试上超越了人工版本,最高性能提升17倍。DeepSeek团队更早就在用PTX汇编手动控制线程束调度和寄存器分配,在注意力模块里把矩阵乘法计算密度从CUDA版本的85%拉到了97%。
但是,这里有个巨大的问题。
写CUDA C的时候,编译器帮你处理了寄存器分配、线程调度、内存对齐这些底层细节。写内联PTX,每一行代码你都得自己搞清楚“这条指令在硅片上到底变成什么SASS”。这活不是普通程序员干的,得是同时精通GPU微架构和编译器内部原理的硬核工程师。
全世界上能同时干这两件事的人,加起来可能不超过几千个。xAI要养这么一个团队,光工资就是天文数字。
等等,那如果写PTX代码的人不是人类呢?
用弱模型写出强模型的训练代码
2026年5月,一条消息在AI圈悄悄传开:xAI正在训练的模型,已经在主动帮助编写训练它们自己的代码,并在过程中生成相当一部分自己的训练数据。
这就是递归自我改进(Recursive Self-Improvement) 的雏形。训练Grok 4.8的C++技术栈,很可能就是由比Grok 4.8更弱的模型——比如Grok 4.5或4.6——参与写出来的。然后Grok 4.8用这套栈训完之后,下一代模型的训练代码就用Grok 4.8来写。
弱模型写强模型的训练代码,强模型写更强模型的训练代码。
这个逻辑之所以能跑通,是因为底层训练栈的编写有天然优势。你不需要模型理解“什么是智能”这种宏大哲学问题,你只需要它理解“这条PTX指令和那条SASS指令的性能差异”。编译器优化、寄存器分配、指令调度——这些任务有明确的对错标准,性能跑分就是铁证,模型可以在封闭系统里反复试错直到最优。
研究界已经在系统性地推进这个方向。Meta的KernelEvolve把LLM生成GPU内核变成了可复现的生产流程。学术界的Mendel Gödel Machine项目在做递归自我改进的编码智能体,通过比较演化让AI系统自己优化自己的代码。Hugging Face上已经有开源的实验性递归代码改进智能体,能自主生成代码补丁、生成边缘测试用例、重新运行测试来测量改进效果。
但是,风险呢?
如果训练代码是AI写的,这段代码的正确性谁来验证?一个比Grok 4.8弱的模型写出来的代码,万一有个微妙的bug,在训练了三个月之后才暴露,2.5万亿参数的模型可能就得从头再来。这个代价不是几百万美元,是几亿美元。人类工程师写错了代码,Code Review能发现。AI写的代码,谁能在一百万行PTX汇编里找到那一条写错的指令?
所以xAI的C++栈到底是真的让AI全自动生成,还是AI辅助人类工程师做优化,这个差别巨大。全自动生成是科幻,AI辅助优化才是现实。马斯克说这套C++栈是“全新的”,但没说谁来写的。这个模糊本身,就是最大的信息量。
2.5万亿参数的物理极限
Grok 4.8的2.5万亿参数是什么概念?
以FP16精度计算,光模型权重就需要大约5TB的显存或内存。8比特量化压缩到约2.5TB,4比特量化也要约1.25TB。这还不算KV缓存的开销,不算优化器状态,不算激活值。消费级硬件想都别想,一台满配的Mac Studio才512GB内存,差了一个数量级。
这意味着Grok 4.8必须跑在多节点集群上,每一层计算都要跨机器通信。参数越大,通信开销越大,MFU越容易掉。这就是为什么xAI一定要重写C++栈——他们需要用最低层的控制来精确调度每一块GPU、每一条数据通路的时序。
Grok 4.7原本规划的是2.1万亿参数,4.8直接跳到2.5万亿。参数越大,模型对复杂推理、知识深度和专业化任务的处理能力理论上越强。但代价是指数级增长的训练和推理成本。马斯克把参数规模和数据中心基础设施绑在一起打,赌的是“更大的模型加上更高效的训练栈”能在竞争中拉开身位。
但2.5万亿参数也意味着一个尴尬的现实:训练过程中每一个微小的软件效率损失,都会被这个规模放大成天文数字的浪费。MFU每提升一个百分点,可能就是数百万美元的电费和折旧的差别。11%到50%的提升空间,对应的不只是性能,更是生死线。
递归循环真正可怕的地方
回到那个递归循环。
xAI的C++栈 + AI辅助优化 + 2.5万亿参数 + 55万块GPU——这四个元素组合在一起,指向的是一个正在加速的飞轮。模型帮写训练代码,训练代码训出更强的模型,更强的模型写出更高效的训练代码,训练效率提升让同样的GPU能训更大的模型。每一圈飞轮转完,下一圈的起点都比上一圈高。
但这里有一个被所有人忽略的断裂点。如果AI写的PTX优化代码在某个临界点上开始产生“看起来对、跑起来快、但结果有微妙偏差”的指令序列,谁能检测出来?性能跑分能告诉你代码跑得快不快,但跑得快和跑得对是两回事。一个矩阵乘法内核快了三倍,结果里混进了数值误差,模型训练到一半loss突然发散,你根本不知道是哪一行PTX惹的祸。
KernelEvolve的论文里提到一个细节:AI生成的GPU内核需要通过“知识注入”把硬件特性文档喂给系统,才能生成生产级的内核。知识注入意味着人类工程师仍然在定义“什么是对的”。当这个人类监督环节被递归循环逐渐边缘化之后,系统靠什么判断对错?
xAI没有公布Grok 4.8训练栈中AI生成代码的比例。这个数字比2.5万亿参数重要一百倍。如果比例很低,说明递归循环还在早期,人类仍然是质量把控的核心。如果比例很高,说明我们正在进入一个连AI公司自己都不完全理解自己训练代码的时代。
社交媒体平台 / 2026年9月14日 / 关于xAI新C++训练栈、Grok 4.8及递归自我改进的讨论 / 涉及xAI、Meta、DeepSeek等机构的工程师及研究者