让K3自己写「超级算子」去榨干K3:推理快3倍,主战场从芯片挪到了系统
同一周,同一个 K3 模型,两条不同的提速路线撞到了一起。
上一周,vLLM 原班人马创办的 Inferact 开源了一套 TPU Megakernels(巨型算子),把 K3 的 92 个 MoE 层一层不落地写进同一个程序,扔到 16 颗谷歌 TPU v7 上跑。开着投机解码,单用户输出速度到 709 tokens/s;同样 16 块英伟达 GB200 用 vLLM 跑,是 452 tokens/s。关掉投机解码,在 1 到 8 的并发下,它也稳定是 GB200 的 1.4 到 2 倍。
最扎心的一个细节是:按纸面参数,TPU v7 的显存带宽(7380GB/s)还比 GB200(8000GB/s)低一截。硬件没占到便宜,赢在了写法上。
同周,国内这边,浪潮信息在 AICC2026 上发布了元脑 SD200 Ultra 超节点 AI 服务器,用 128 颗本土 AI 芯片单机跑同一个 K3,Token 生成时延压进 5.85 毫秒。他们的招数叫「超级算子」。
一个用谷歌 TPU,一个用本土 AI 芯片,但都在拆同一堵墙——算子之间的墙。而且浪潮信息的超级算子,有一大块是让 K3 自己写的。
大模型吐字慢,到底卡在哪儿
很多人以为大模型吐字慢是算力不够。其实芯片大部分时间在等数据。
模型每生成一个 token,都要把用到的参数从显存(HBM)里搬一遍。算得再快,货没到也只能干等。所以推理速度的天花板,很多时候是显存带宽说了算。
麻烦常常出在「算子」上。算子可以理解成一个个小程序:做一次矩阵乘、做一次归一化,各管一摊。传统推理框架里,生成一个 token 要依次启动一长串算子,每个都走一遍「搬数据—计算—写回去」。据统计,K3 单步推理要调用数千次算子。
打个比方,这就像老式绿皮火车从北京到广州,一路几百个小站,每站都要停车、卸货、装货、再启动。车停着那几分钟,铁轨是空的。换到芯片上,就是显存带宽在算子切换的空档里被白白浪费。一个空档不起眼,几千个攒起来,就是理论速度和实际速度之间那道大坑。
英伟达这些年也在补坑,CUDA Graphs、PDL 这些技术能让车停得短一点,可站还在,车就得停。那就把站撤了,改高铁,一站直达——这就是算子融合。
整个模型,就是一个算子
Inferact 的做法最狠:既然边界是浪费的源头,那就一个边界都不留。92 层全装进一个 kernel,程序按层号自己判断这一层该走 KDA 还是 MLA(K3 用的两种注意力机制)。所有层都在同一个程序里,上一层还在算,下一层的权重就已经在搬运的路上了,等轮到它,货早就码在芯片手边。
这招能成,得感谢 TPU 的一个设计。TPU v7 每个核心自带 64MiB 的片上高速内存(VMEM),数据搬进来放多久、什么时候腾地方,全由程序说了算。而 GPU 的片上内存要分给一百多个计算单元,每个单元只摊到两百多 KB,想提前囤货都没地方放。TPU 给了一个大仓库,还把钥匙交给了写程序的人。
编译快得离谱——从零编译只要不到 90 秒,过去在 TPU 上编译同量级大模型动辄半小时起步。Inferact 的解释很实在:原来编译器每次都要在成百上千个操作里反复摸索怎么排顺序、怎么重叠,现在这些活儿,工程师一次性手工做完了。
注意这个「手工」。四位作者都是顶尖的推理工程师,写这样一个巨型算子,门槛高得吓人。Inferact 在博文里也留了一句:以后会有更多这样的 kernel,由编程智能体(coding agent)来写。
写算子这门手艺,AI 正在接手
这句话不是客套。9 月 14 日,DeepSeek 的算子工程师刘胜与发长文,跟自己「手写算子的时光」告别。他给 DeepSeek V4.1 写过主注意力算子,是真正在一线拧螺丝的人。他在文中预计,半年到一年内,AI 写的算子就会追上甚至超过他。一年前他的 AI 助手还只能帮忙找 bug,现在已经能自己读 CUDA、PTX、SASS 这些底层代码,动手调优。他还写了一句很扎心的话:自己算子写得越好,新模型训练和推理就越快,他被替代得也越快。
大洋彼岸也在跑同一条路。今年 4 月,Cursor 和英伟达合作,用一套多智能体系统优化了 235 个 CUDA 算子,三周跑下来平均提速 38%。
为什么偏偏是算子最先被 AI 接手?因为它有标准答案:结果对不对,一跑就知道;快了多少,秒表说了算。AI 可以没日没夜地写、测、改,人熬不过它。
浪潮信息已经把这件事用在了 K3 身上。
让 K3 优化 K3,系统级破局
面对同一个 Kimi K3,浪潮信息也在做算子融合,同时把优化延伸到整个超节点系统。两家的共同点很明确:把细粒度的小算子融合成大算子,减少启动和数据搬运的开销。区别在于粒度——Inferact 把整个解码过程融合成一个算子,浪潮信息的粒度相对较小,围绕 KDA、Gated MLA、MoE 等模块融合成超级算子。
元脑 SD200 Ultra 的底层逻辑很务实:在单卡显存和制造工艺存在现实约束的条件下,要承载 2.8 万亿参数还要把时延降下来,只能走系统级创新。它采用 3D Hyper Mesh 架构,把 128 颗 AI 芯片组织成协同计算的整体,提供 8TB 统一编址显存,配合 64TB 内存,为模型权重和不断增长的 KV Cache 提供承载空间,支持 10 万亿参数模型在单机上部署运行。
在此基础上,他们干了几件狠事。一是「对称内存」,把 GPU 之间靠 CPU 当中介打报告、做调度的层层转手踢开,显存统一编址、点对点访问远端显存,直接把跨卡通信时延压到 0.69 微秒,AllReduce 通信时间骤降 3.5 倍。
二是「通算融合」,分三步走。先把 KDA、Gated MLA、MoE 等模块里的细粒度算子融合成超级算子,算子数量减少到原来的约十分之一;再根据片上存储容量把数据切成合适大小的块,前一步的结果尽量留在寄存器或片上缓存里交给后一步接着用,减少写读 HBM 的开销。然后按 Tile(数据块)组织流水线,通过异步搬运和多缓冲机制,让当前块计算、下一块提前搬入、算完的块写回,缓冲区轮流接力,芯片少一些等数据的空档。
第三步,就是让 K3 参与优化 K3,把调优做成持续迭代的闭环。浪潮信息用 K3 搭了一个「超级算子智能体」,让它在一个「生成—验证—测量—迭代」的闭环里一圈圈转:K3 先看运行画像,哪一步在等数据、哪块缓存没用满,再据此提出怎么并算子、怎么切数据块、怎么排流水线,自动写出一批候选超级算子。候选版本先过正确性校验,再拉到真实负载上跑分,延迟、显存读写、资源占用这些数字再喂回给 K3,当作下一轮改进的依据。只有算得对、又确实更快的版本,才会被部署上线。
在闭环迭代的最后阶段,算子性能进入正向循环,性能又拉升了 50%,综合推理效能提升 3 倍以上。最终成绩单:单机稳稳吃下 2.8 万亿参数的 Kimi K3,Token 生成时延首度杀进 5.85 毫秒,单用户吞吐突破 170 tokens/s,跑出业界平均水平的 5 倍速度。
大家都在盯的,是 Token 速度
芯片的纸面参数越来越接近,拉开差距的是软件和系统:算子边界在消失,通信和计算在合流,写算子的活儿越来越多交给 AI。对国产算力来说,这条路尤其实在——SD200 Ultra 靠系统级紧耦合加上算子层深度优化,基于本土 AI 芯片的超节点照样能把 2.8 万亿参数的模型跑进毫秒级时延。模型一个字不改,光靠算子融合和内存管理就能拿到几倍提升,比干等下一代芯片快,也便宜。
更深的变化发生在买算力的人身上。以前来买 AI 服务器的多是专业用户,开口就是要多少卡、多少网络、多少存储;现在客户上来先问一句:这个模型,在你机器上能跑多快?背后的推手是 Agent——聊天的时候回答慢两秒无所谓,可一个 Agent 任务要经历上百轮「推理—调工具—看结果—重新规划」,每一轮慢一点,整条链路就能慢出好几分钟。这种时候,卡有多少张、峰值算力多高,普通用户根本摸不着,每秒吐多少 token、一个 token 要等多久,才是直接落在体验上的东西。
浪潮信息把这类需求叫「能力型智算」。按首席 AI 战略官刘军的判断,一两年内顶尖开源模型会走到 10 万亿参数这个量级,SD200 Ultra 给这个量级留足了空间,K3 只是第一个被它跑快的模型。
这一场围绕 K3 的推理极速战,说明提速的主战场已经从芯片挪到了系统。过去两年推理加速主要靠算法:量化、投机解码、压缩 KV Cache;这一轮的提速,模型一个字没改。Inferact 手里的 TPU 显存带宽比 GB200 还低,照样跑赢;浪潮信息靠超级算子,在同一套硬件上把 K3 的推理性能拉高 3 倍以上。同样的芯片,组织得好不好,能差出好几倍。
写算子这门手艺,正在交给 Agent。Inferact 的巨型算子还是人手写的,但他们自己说以后这活儿更多归编程智能体;浪潮信息走得更靠前,已经让 K3 给 K3 写了超级算子。算子交给 AI,最大的变化是定制化变便宜了——以前给一个模型专门手写一套算子太贵,模型一换代就白干,大家只能做通用优化。而现在新模型一发布,就能让它带着智能体给自己写一套专属算子,跑一遍、测一遍、再改一遍。模型越强,写出的算子越好;推理越快,下一轮迭代也越快。
所以下回再有人拿「多少张卡、多少 P 算力」跟你介绍一台 AI 服务器,不妨多问一句:最前沿的模型,在上面 Token 生成速度有多快?SD200 Ultra 交出的答案是:K3,5.85 毫米一个。
相关链接
- 原始报道:新智元《AI自己榨干算力!让Kimi K3自己写「超级算子」,推理快了3倍》(https://www.aiera.com.cn/asi-post.html?id=116430)