一个2.8万亿参数模型,发布当天就能在单张GPU上跑出113 token/秒。不是PPT里的理论峰值,是代码在真实硬件上吐字的速度。月之暗面把Kimi K3的权重放出来那一刻,SGLang和Miles已经做好了推理与RL训练的完整管线——这种Day-0支持在开源大模型历史上还从来没出现过。很多人第一反应是“做授权合作了吧”,但看完架构细节你会发现,更大的难题根本不是提前拿到模型,而是让那个69层KDA线性注意力与24层MLA交错的庞然大物,在单卡内存边界内把吞吐抖出来。
一个“非主流”混合架构撞上显存墙
KDA与MLA,真的能拼在一起跑吗
K3最反常的设计不是参数量大,而是它把两种计算特性截然不同的注意力机制焊进了一个模型。69层
113 tok/s里,多少是算力,多少是躲坑
单卡batch-1跑到113 token/秒,有段位的人一眼就能看出这不是单纯的FLOPS竞赛。以H100的算力,纯计算上跑2.8T模型每秒几十token绝不算惊艳,惊艳的是batch size为1时依然不缺吞吐。这里的关键是一套逐层释放的内存管理策略:解码每完成一层,立即回收该层的激活与中间张量,KDA层的可交换状态被直接压进主机分页内存,MLA层的KV缓存则留在HBM上避免下次前推时从零组装。配合SGLang原生的RadixAttention前缀缓存,短prompt的重叠片段几乎不再占用额外显存。这样激进的内存编排,等于在显存容积和计算密度之间硬生生撕出一条缝,113不是算力的数字,是内存墙上的一个坐标。
四倍飞跃,不止靠第二个模型
DSpark猜测,K3验证,一个协同工作台
从113冲刺到423 token/秒,引擎盖下加装了一套
接受率、开销比与调度定帧
任何做推测解码的人都知道,提速倍数永远被接受率和额外计算开销两条线夹击。K3加DSpark能稳定到接近4倍,来自两个小决策:一是推测模型本身被剪枝蒸馏到极小计算量,专门针对KDA层设计了线性化近似,不会在内存带宽上跟主模型争抢;二是SGLang的调度器把推测窗口压缩成固定时长的“定帧”,每一帧内主模型和推测模型交替执行,互不阻塞。这种把异步协作强扭成同步节拍的办法,听起来反直觉,却在GPU warp调度层面减少了上下文切换开销。最终换来的,是batch-1场景下423 token/秒的实际吞吐,几乎让部署成本除以四。
并行、蒸馏与纯工程上的贴身肉搏
张量并行的刀口切在哪里
一个2.8T模型不可能装在单卡里跑全精度。K3的权重分布天生不均衡——KDA层的参数集中在输入投影和状态矩阵上,MLA层则肥大在注意力和前馈网络。经典的卡间切法是把每一层均匀剖开,但SGLang团队发现这样切,KDA层的状态矩阵会被分割成碎片,跨卡通信量暴增,解码速度直接腰斩。他们最后采取的策略是把KDA层做层内不切、只做层间轮转,而MLA层则按注意力头分组跨卡做8路张量并行。代价是负载不均,收益是通信次数减少了七成。工程上没什么魔法,就是在热力图上一刀一刀试,试到不卡瓶颈为止。
RL训练管线同步的暗工夫
Miles为K3提供的RL训练支持容易被推理话题淹没,但其实更难。混合架构让价值模型和策略模型的梯度反传路径完全不同,KDA层的梯度对序列位置高度敏感,一旦采用标准的数据并行聚合,不同卡上的状态偏移会迅速发散。Miles的做法是把经验回放池固化进位置编码偏移校正机制,在梯度同步前做一次本地对齐。这一步不省的话,训练从头跑两周都未必能收敛到同等水平。Day-0意味着这些坑在发布前就已经被填平,而不是等社区去踩。
Day-0才是真正的生态分水岭
速度之外,信号更猛
开源大模型之间的比拼早就从“谁参数量大”转成了“谁在开发者机器上跑得动”。当一个3T级别的模型发布当天就有高性能推理支持,它向你传递的信号不是“我开源了”,而是“我已经替你把最难的部分搞定了”。K3走的这条路,没等社区issue区炸锅,就已经把吞吐曲线和最佳实践文档摊在桌上。这个动作,比任何基准榜单上的分数都更有冲击力。接下来几个月,所有想发布超大规模开源模型的公司,都会被问同一个问题:你能做到Day-0 SGLang ready吗?
这给下一批模型划了条红线
SGLang与Miles的即时支持还暴露出另一个趋势:推理框架正在从通用工具变成模型专属的工程套件。不再是一个MLOps流水线适配所有模型,而是每个重磅模型都需要跟框架深度协同优化才能释放真实性能。对开发者来说是好事,省掉了无尽的环境调参。对模型厂来说,这是新的硬投入——开源不再是交权重了事,而是要交一份可运行的性能答卷。K3用113和423两个数字,给后来的开源巨模标上了一条基线。

