月之暗面发布2.8万亿参数K3模型

领读Kimi K3技术报告:从架构创新聊起,注意力美学、多教师蒸馏和开源MoE — 张小珺商业访谈录

张小珺商业访谈录

大模型架构已进入渐进式工程微调阶段,Kimi K3通过提升激活参数至100B并结合混合注意力与低维MoE通信推高开源能力上限。

AI-assisted summary of 领读Kimi K3技术报告:从架构创新聊起,注意力美学、多教师蒸馏和开源MoE — original source. Check the original for full context.

Source published:

Detailed notes

## Background 本期节目由 Bilibili 频道的“张小珺商业访谈录”于 2026 年 8 月 26 日发布。节目内容为对 Moonshot 开源的 Kimi K3 技术报告进行深度学术与工程领读,探讨了其从架构创新(如 KDA 线性注意力、Gated MLA、Attention Residuals)、稳定性设计到训练与推理 Infra 等多维度的技术细节。

## TL;DR 本期播客由清华大学博士候选人孙宇涛深度剖析开源 MoE 模型 Kimi K3 的技术亮点。节目详细拆解了 K3 如何将总参数扩展至 2.8T(激活参数约 100B),并融合十余篇顶尖论文的技术精华,涵盖 Kimi Linear (KDA)、Gated MLA、C2GELU 激活函数、Quantile Balancing 路由以及 MWEP 负载均衡等工程创新。同时,访谈还探讨了长文本 RNoPE 机制、多教师 On-Policy 蒸馏(Multi-Teacher OPD)以及与底层 Infra 的 Co-design 设计,展望了 LLM 架构演进的边界与世界模型的发展趋势。

## Atmosphere & style 整期节目呈现出浓厚的硬核学术研讨与工业界工程沉浸感,硬核技术干货密布却不失理性思考的张力。嘉宾孙宇涛以极其严谨、系统且具历史脉络感的视角拆解复杂的数学与架构公式,主持人张小珺则适时引导并提出关键追问,形成高效且平等的深度对话。现场气氛求真且接地气,既有对底层算子与内核设计的极致拆解,也有对大模型技术范式演进、团队工程文化及 AGI 终局的深刻冷静审视。

## Key takeaways - [00:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=0s) 在 LLM 时代,模型参数量是性能的核心决定因素,架构创新的重点已由提升模型表现转向优化推理效率与降低部署成本。 - [05:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=300s) 纯线性注意力在长上下文场景下受限于有限的状态空间容量,难以做到与全注意力完全无损的等价性能,因而促成了混合注意力(Hybrid Attention)架构的发展。 - [15:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=900s) Kimi K3 将模型总参数有效扩展至 2.8T(激活参数量约 100B),并融合了混合注意力、残差连接与专家路由等多方面的最新架构创新。 - [20:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=1200s) Kimi Delta Attention (KDA) 将衰减项从标量扩展到 Channel-wise / Fine-grained Decay,并通过 Lower Bound Decay 控制精度与数值稳定性。 - [30:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=1800s) Gated MLA 架构结合了低秩投影压缩 KV Cache 与 Gated Attention 机制,极大地提升了预训练阶段的数值稳定性。 - [35:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=2100s) Attention Residuals 通过极轻量的跨深度 Attention 选择性聚合浅层表达,实现了在推理阶段几乎零额外开销的表达能力提升。 - [45:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=2700s) Latent MoE 通过将 Dispatch 的 Hidden State 压缩至低维 Latent 空间,显著降低了 Expert Parallelism 模式下的 All-to-All 通信开销。 - [49:58](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=2998s) C2GELU 激活函数通过数学上下界放缩将 MLP 中间的激活值严格约束在安全范围内,彻底解决了 Activation Outlier 引起的训练崩溃问题。 - [55:23](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=3323s) Quantile Balancing (QB) 路由算法提供了一种无超参数更新的数学推导方案,通过固定桶(Histogram)统计频次,兼顾了底层的负载均衡与常数级存储开销。 - [01:03:44](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=3824s) Kimi K3 在注意力架构上放弃了 Blackwell 硬件下开销昂贵的 Sparse Attention,选择在预训练阶段采用 3:1 的 Hybrid Attention。 - [01:19:10](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=4750s) 长文本扩展引入 RNoPE (NoPE) 机制,借由 Linear Attention 自身的位置信息,在 Full Attention 中完全移除位置编码,实现了零超参调整的平滑长文本外推。 - [01:24:28](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=5068s) Post-training 采用 Multi-Teacher On-Policy Distillation (OPD),将不同领域的专项 Teacher 能力逐步验证解耦并蒸馏融合进目标模型。 - [01:39:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=5940s) 针对 KDA 机制设计了双层 Chunk 分层序列并行(CP)方案:卡间以大 Chunk 串行 Recurrent 计算,卡内 Kernel 以 Tile 小 Chunk 并行计算。 - [01:41:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=6060s) MWEP 方案通过引入极小比例的冗余专家(Redundant Experts)与在线规划,在 Dropless EP 下实现了所有 GPU 卡间 Token 负载的绝对均分。 - [02:00:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=7200s) 纯语言大模型在架构层面已趋于成熟,后续突破更多依赖工程与渐进式改进,未来技术前沿将逐步转向世界模型(World Model)等不确定性更高的领域。

## Detailed walkthrough ### [00:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=0s) Kimi K3 领读背景与孙宇涛的学术脉络

小珺介绍本期播客是一集关于 Kimi K3 技术报告的“学习播客”,希望能带大家领略大模型技术之美。K3 作为有效扩展到 2.8T(2.8万亿)总参数并全量开源的 MoE(混合专家)模型,引起了业界的广泛关注。嘉宾孙宇涛是清华大学计算机系博士候选人、上海创智学院普瑞学者。他从 2023 年 ChatGPT 发布前就专注于大模型架构与预训练研究,特别是推理高效性。孙宇涛指出,大模型时代的架构创新范式发生了转变:在 Vision 或 ImageNet 时代,人们追求精妙架构来提升模型表现;而在 LLM 时代,模型参数量才是性能的核心决定因素,架构改动的性能提升相对微小,但对**推理效率**与**部署成本**影响巨大。

孙宇涛回忆了自己在 2023 年做出的第一项重要工作——**RetNet / RetSide(线性注意力机制)**。该工作主要解决了两个核心问题: 1. **逼近全注意力性能**:早期的线性注意力(Linear Attention)通过 Kernelized 方式拟合二次复杂度的全注意力,对位置信息不够敏感,形式上像 RNN 但缺乏局部表达。RetNet 较早引入了 Decay(衰减)机制,使线性注意力能在有限状态空间内保留关键信息。 2. **提出了 Chunk-wise Recurrent 计算范式**:若把线性注意力完全展开按 Token 逐个递归计算,效率并非最优;若模仿全注意力完全并行计算,又享受不到复杂度降低的优势。因此,他们在并行表达(Parallel Representation)与全递归之间找到了折中,提出了 **Chunk-wise Recurrent(块递归)**。这既降低了整体计算复杂度,又能在 Kernel 层面保持极高的局部计算密度。此后包括 Mamba2、Gated DeltaNet、Flash Linear Attention 以及 Kimi Linear (KDA) 在内的所有线性注意力改进工作,均沿用了这种 Chunk-wise 的计算范式。

- **孙宇涛的暴论观点**:大模型领域可能已经不会再出现类似 Transformer 这样“忒修斯之船”级别的颠覆性创新,后续大部分突破都是改动性、渐进式的工程与架构微调。 - **纯线性注意力的局限性**:在长上下文场景下,受限于有限的状态空间容量,纯线性注意力模型很难做到与全注意力(Full Attention)完全无损的等价性能。

---

[05:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=300s) 混合注意力架构与 Yoko / Universal Yoko 的探索

鉴于纯线性注意力的瓶颈,孙宇涛的团队在 2023 年转向研究 **Hybrid Attention(混合注意力)** 架构——将线性注意力与全注意力按比例组合(如 3:1 的比例)。业界实验表明,混合注意力并不是简单的工程 Trade-off:在保持一定全注意力层比例的前提下,模型可以做到无损甚至更好的长上下文表现,同时享受线性注意力带来的工程加速。

然而对学术研究而言,传统混合注意力机制的加速比受限于混合比例(如 1/4 的全注意力意味着 Prefill 或 Decode 最多获得 4 倍加速),缺乏更深度的创新。为了突破这一瓶颈,孙宇涛团队展开了后续工作:

- **Yoko(You Only KV-Cache Once)**:从第一性原理思考,模型需要获取全文信息,因此 Token 维度的全上下文 KV Cache 无法彻底省去。Yoko 转而从**层间维度**进行节省——所有层共享同一份 KV Cache。在 Prefill 阶段(处理用户输入),模型的唯一目的是计算并存下 KV Cache,因此可以直接跳过 Cross-Attention / Full Attention 的计算;而在 Decode 阶段,则通过保持多次复杂的计算结构来维持与全注意力模型等价的表达能力。从 KV Cache 存储角度,这种“只缓存一次”的做法达到了理论上的极限。 - **Universal Yoko(Loop Language Model)**:结合当时热门的 Loop Language Model 概念,在保持固定模型参数量的情况下,通过多次循环迭代增加 FLOPs 来提升模型表现。传统的 Loop 模型在 Decode 时计算成本高昂,且 KV Cache 会随推理深度线性增加。Universal Yoko 巧妙地将 Loop 单元嵌套在模型前期的**线性注意力层**中。由于线性注意力的 KV Cache 存储开销微乎其微且 Decode 计算量极小,该架构仅用约 2 倍的计算强度就获得了近乎 2 倍的性能提升,同时模型参数和 KV Cache 占用保持不变。

---

[15:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=900s) Kimi K3 的核心卖点与 Scaling 哲学

孙宇涛指出,架构创新在 2023 年是个极佳的研究领域,而到了 2026 年能做的空间正在被不断压缩。但由于大模型规模化部署的成本压力,推理高效的架构设计依然是连接学术界与工业界最关键的桥梁。KM K3 技术报告之所以引人注目,是因为它不仅展示了极佳的 Benchmark 结果,还串联并吸收了过去几年整个社区十多篇顶尖论文的成果。

Kimi K3 主打的三个扩展维度中,最核心的是**模型大小的 Scaling**: 1. **有效的 2.8T 总参数 Scaling**:模型总参数量扩展到了 2.8T,激活参数量(Active Parameters)在 100B(1000亿)左右。孙宇涛强调,必须区分“有效 Scaling”与“无效 Scaling”——随意初始化一个 2.8T 模型跑 100B Token 毫无意义,K3 是在充分训练和优质数据的基础上做到了真正的有效 Scale。 2. **上下文长度扩展**:支持高达 1 Million(100万)Token 的上下文窗口,能够处理极复杂的长文本和 Agent 任务。 3. **架构大集成**:相较于 Kimi K2 主要沿用 DeepSeek-V3 架构并在 Scaling 策略上发力,K3 在模型架构上做了大幅度且充足的创新与融合,涵盖了混合注意力、残差连接、专家路由等多方面的最新成果。

---

[20:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=1200s) 线性注意力演进史:从 RetNet 到 Kimi Linear (KDA)

为了深入理解 K3 中使用的 **Kimi Delta Attention (KDA)**,孙宇涛梳理了过去三四年线性注意力的发展脉络。直接看 KDA 的公式会觉得异常复杂,但沿着历史演进看则脉络清晰:

- **基础线性注意力与 RetNet (Microsoft)**:最早的线性注意力直接做 $K \times V$ 累加,位置无关。RetNet 引入了与 Token 位置相关的衰减项(Data-independent Decay),配合 RoPE,使模型能够显式捕获“越近的 Token 权重越高”的语言局部性特征,同时奠定了 Chunk-wise Recurrent 的高效计算基础。 - **Mamba 与 DeltaNet (NVIDIA)**:Mamba 将位置无关的衰减变成了与输入数据相关(Data-dependent)的衰减。随后 DeltaNet 引入了 Delta Rule(增量更新规则),大幅提升了单层线性状态空间对上下文信息的表达容量。宋林(Gated DeltaNet 作者)克服了 GPU 上的并行计算难题,将 DeltaNet 成功转化为 GPU 高效可算 的 Chunk-wise Recurrent 模式。 - **Gated DeltaNet (NVIDIA)**:由于纯 DeltaNet 缺少位置衰减,在长文本和 Benchmark 上的表现不够完美。Gated DeltaNet 将 Decay(衰减)与 Delta Rule 融为一体,既获得了更高的状态容量,又保留了历史信息的选择性衰减。 - **Kimi Linear / KDA (Moonshot)**:在 Gated DeltaNet 中,一个 Head 的衰减项是一个标量(Scalar),意味着整个 Head 的所有 Channel 遵循相同的衰减率;而 Kimi K3 采用的 KDA 将衰减项从标量扩展到了 **Channel-wise / Fine-grained Decay**。这使得每个 Channel 可以拥有独立的衰减系数,在数学上构成了更强的模型表达能力上限。

---

[25:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=1500s) KDA 的软硬件 Co-design:Lower Bound Decay 与 BF16 精度控制

将衰减项提升至 Channel-wise 虽然带来了强大的表达能力,但给底层的 CUDA Kernel 编写和软硬件 Co-design 带来了极大的挑战。

为了保证高效的 Kernel 实现,Kimi 团队在算法上对衰减项设置了 **Lower Bound Decay(下界衰减控制)**: - **数值精度问题**:在实现中,为了用绝对位置变化表示相对位置衰减(类似于 RoPE 的思想),算法需要在 $Q$ 和 $K$ 上分别乘以或除以一个衰减因子。如果衰减过快,数值会快速超出 BF16(Bfloat16)的动态范围(Dynamic Range),导致溢出或精度丢包。 - **16-Token Tile 的控制**:Kimi Linear 针对 16 个 Token 的 Tile / Chunk 进行块内计算。为了保证在 BF16 精度范围内不发生数值崩溃,必须从数学上限制 16 个 Token 区间内的最大衰减幅度。 - **Co-design 的本质**:这种对算法衰减下限的约束,本质上是算法团队与 Infra(底层架构)团队深度 Co-design 的产物——通过在模型表达上做出微小的战术性约束,换取了极其高效且稳定的 GPU Kernel 实现。

---

[30:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=1800s) Gated MLA:结合多头潜注意力与训练稳定性

Kimi K3 在注意力机制上采用了 **Gated MLA(Gated Multi-head Latent Attention)** 架构。

- **MLA 的传承**:MLA 最早由 DeepSeek-V2 提出,并在 DeepSeek-V3 和 Kimi K2 中被广泛采用,核心目的是通过低秩投影压缩 KV Cache 存储。K3 继承了 K2 在全注意力层使用 MLA 的做法。 - **Gated Attention 机制 (Qwen)**:K3 在 MLA 的基础上融合了阿里 Qwen 团队提出的 Gated Attention 机制。门控机制(Gate)不仅带来了额外的非线性表达能力(Non-linearity)和计算强度,最关键的作用是**大幅提升预训练的稳定性**。 - **训练稳定性的压倒性价值**:孙宇涛强调,在大模型预训练(Pre-train)阶段,模型的训练稳定性(Stability)远比微小的性能提升重要。一旦千卡或万卡集群在训练中途发生梯度爆炸(Loss Spike)或训练崩溃,之前消耗的巨额算力和 Checkpoint 都将付之东流。前面几代 Qwen 以及 Qwen 3.5/3.6 均大规模验证了 Gated Attention 对稳定性的保障作用。

关于 MLA 的未来发展与争议,孙宇涛与小珺展开了探讨: - **与 DeepSeek-V4 的对比**:DeepSeek-V4 放弃了 MLA,转而采用大号 MQA(Multi-Query Attention)与 Sparse Attention。孙宇涛指出,MLA 本质上是一个“更大号的 MQA”。在 Prefill 阶段,MLA 实际上牺牲了额外的 Compute(计算量)来弥补 Memory(显存带宽)瓶颈。 - **Agent 时代与 MTP 的冲突**:引用罗福莉(Vocal / Flash-Attention 领域专家)的观点,MLA 在 H 系列芯片上虽然打通了显存带宽瓶颈,但导致算力(Compute)大量闲置。在 Agent 范式下,多 Token 预测(MTP, Multi-Token Prediction)能更充分地利用剩余算力,而 MLA 与 MTP 的加速收益存在抵触。不过对 Kimi K3 而言,出于工程连续性和稳妥考虑,继续沿用并改进 MLA 是极其合理的选择。

---

[35:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=2100s) Attention Residuals (K3) 与 Hyper-Connections 的演进

进入报告 2.2 章节,讨论焦点转到了残差连接(Residual Connections)的架构创新。Kimi K3 提出了 **Attention Residuals**,这一设计可以追溯到大模型深度连接机制的历史演进:

- **ResNet 的遗产与 Pre-LN vs Post-LN**:早在 ResNet 时代(CVPR 与 ICCV 两版),何恺明就讨论过 Pre-LN、Post-LN 与训练稳定性的关系。Bert 时代多用 Post-LN 来换取稍好的性能;但当模型参数规模大幅扩张时,Post-LN 会引发严重的梯度消失,业界因而全面转向 Pre-LN。 - **Hyper-Connections (ByteDance Seed 团队)**:在 Pre-LN 的基础上,字节 Seed 团队提出了 Hyper-Connections (HC),主张在残差分支上使用比 Hidden State 更大的维度容量来表达模型在深度方向上的状态。尽管 HC 论文写作较抽象,但思想极其简洁有效。后来 DeepSeek 推出的 MHC (Manifold Hyper-Connections) 更是让这一方向大火。 - **Attention Residuals (Moonshot)**:受到早期 DenseNet(所有深层看之前所有浅层状态)以及 Hyper-Connections 的启发,传统 DenseNet 因层间交互计算量过大而难以应用于大模型。Kimi K3 的 Attention Residuals 将 DenseNet 中重量的部件替换为极轻量的跨深度 Attention / Block Attention 机制。深层网络能够通过 Attention 选择性地聚合此前所有浅层表达,且在推理(Inference)阶段几乎不增加额外的开销,实现了“免费”的表达能力提升。

[045:00] Latent MoE 的通信开销与矩阵乘法稳定性

从架构创新视角来看,DenseNet 与 Hyper-Connections 在残差连接领域的探索奠定了基础。相比传统 MoE 架构,NVIDIA 团队提出的 Latent MoE 解决了分布式训练与推理中的核心瓶颈:在 Expert Parallelism (EP) 模式下,All-to-All Dispatch 产生的通信开销极高。通信量会随着激活的专家数(Top-k)以及模型 Hidden Dimension 的增大而并行增长,迫使系统使用 DeepSeek DualPipe 等高度优化的通信库进行掩盖。

Latent MoE 的核心思想是在保持表达能力的前提下将通信量降低 2 至 4 倍。实现方式是将 Dispatch 的 Hidden State 压缩到较低维度的 Latent 空间。为了弥补维度压缩带来的参数量损失,设计上通常有两种路线: - **提升 FFN 中间维度(Intermediate Dimension):** 通过增大 FFN 本身的大小来补足参数。 - **进一步拆碎专家(Fine-grained Experts):** 增加专家总数与激活数量(Top-k),以更多轻量专家弥补参数。

在恰当配置下,Latent MoE 可以在完全不牺牲模型表达能力的前提下显著降低通信开销。需要注意的是,训练阶段可以通过计算与通信 Overlap 来掩盖开销,但在推理阶段,通信延迟处于 Critical Path 上。因此,Latent MoE 对推理 Latency 的提升收益远大于训练阶段,属于一项近乎 "Free Lunch" 的架构设计,已被 Kimi K3 吸收采纳。

针对两个矩阵连续相乘(Linear Chain)在数学表达上可合并但优化上易导致不稳定的问题(如 MLA 架构中的 Low-rank Projection),通常需要在中间搭配 Normalization 手段。当 Latent MoE 先通过 Linear Projection 将 Hidden State 压缩到 $D_v$ 维度、后续再接 FFN 的第一个 Linear Projection 时,Kimi K3 在两次矩阵乘法中间引入了 RMSNorm 来严格控制激活值,提升大模型训练稳定性。

- **通信开销增长逻辑**:All-to-All 阶段通信量与 Expert 激活数及 Hidden Dimension 呈线性/正比例增长。 - **Latent 空间压缩比**:通过低维投影将通信 Hidden State 压缩 2 倍至 4 倍。 - **推理与训练差异**:训练可依赖计算掩盖通信,推理阶段通信在关键路径(Critical Path)上,Latent MoE 推理收益更显著。

---

[049:58] C2GELU 激活函数与训练数值稳定机制

大模型训练中,FFN 的 MLP 中间层极易产生激活值爆炸(Activation Outliers),这一现象受优化器类型及低精度训练影响尤为严重。为从架构层面严格限制数值上限,GPT-OSS 早期采用了 Hard Clip(将 SwiGLU 强制截断在 $[5, 10]$ 范围)。而平滑的 Soft Clip 则能以更连续优雅的方式逼近上限,本质上相当于引入了 $\tanh$ 算子。

Kimi K3 沿用了这一思路并进一步演进为 **C2GELU**。传统的 SwiGLU 或 GELU 结构中存在未受限的 Linear Projection 环节,而 C2GELU 将中间可能出现的 Unbounded 环节全部通过 $\tanh$ 的上下界放缩控制住,使 MLP 中间的激活值在严格的数学上界内运行,从根本上杜绝了 Activation Outlier。

关于 Outlier 的成因与控制存在不同的技术哲学: - **优化器视角(如苏剑林观点)**:无论使用 Adam 还是 Muon 优化器,单靠优化器调参(如 Weight Decay)无法完全阻止 Outlier 的产生,差异仅在于爆炸发生的早晚。因此最本质的方案必须直接从模型架构(Architecture)入手进行强制约束。 - **历史演进(从 Kimi K2 到 K3)**:Kimi K2 在 Muon 优化器中引入了 QK Clip,处理 QK Logits 爆炸;在 K3 中则通过 C2GELU 函数构造数学上界,形成了一套完整的稳定性设计。 - **GQA 与 MLA 的分化处理**:DeepSeek-V4、Step-1.5 等采用 GQA 架构的模型可直接叠加 QK Norm;但对于使用 MLA 的模型,QK Norm 难以直接适配,因此采用了 QK Clip 与内嵌激活函数约束(如 C2GELU)结合的 Lightweight 手段。

---

[055:23] Quantile Balancing (QB) 均衡路由算法

针对 MoE 架构中的专家负载均衡问题,传统的 Auxiliary Loss 方式会损害主损失函数,而 Loss-free Routing 虽然引入了 Bias 调节机制,但其更新机制偏向启发式(Heuristic),缺乏严格的数学收敛证明,且在底层(如前 1~3 层)极易失效,导致传统模型在底几层不得不退化为 Dense 层。

苏剑林提出的 **Quantile Balancing (QB)** 尝试从更 Principal(原则性)的数学推导出发解决负载均衡。QB 的核心机制包括: - **无超参数更新**:QB 移除了 Loss-free Routing 中的 Bias 学习率参数,更新逻辑由分位数约束直接推导而出。 - **防止信息泄露**:计算出的 $\beta$ 参数不在当前 Step 生效,而是延迟到下一步使用,避免任意 Token 获取到同 Batch 内其他 Token 的全局信息。 - **全层 MoE 兼容**:QB 在模型第 1 层即可实现良好的均衡效果,不再需要像 Loss-free 模式那样在底层强制使用 Dense 结构。

在超大 Batch Size(如几M到几十M Token)的分布式训练 Infra 落地中,如果精确定量统计所有 Token 的激活分位数,会导致巨大的存储开销。Kimi K3 技术报告中揭示了一套高效实现:不同于在 Token 维度切 Chunk 做 Local 分位数计算,K3 直接在激活值域范围(如 Sigmoid 的 $[0, 1]$ 或 $[-1, 1]$)内切分出 $N$ 个固定桶(Bucket),在桶内做 Histogram 频次统计。这种方式将存储开销降为常数级别,计算代价极低,并能无缝扩展到超大规模的 EP/TP 分布式训练中。

- **Loss-free 缺陷**:启发式 Bias 更新缺乏收敛证明,无法平滑应用于网络底层。 - **QB 存储优化**:基于值域区间切分桶(Histogram)替代 Token 维度的全量排序,实现 $O(1)$ 常数空间复杂度的分位数统计。

---

[01:03:03](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=3783s) 视觉编码器 Native 训练与 Hybrid Attention 架构选择

在多模态架构(VLM)设计上,社区通常使用现成的视觉编码器(如 SigLIP 2)进行初始化,优点是收敛速度极快。但 Kimi K3 的团队观察到,直接使用 SigLIP 初始化会导致 Gradient Norm 波动变大、训练不稳定。其核心原因在于 SigLIP 原本基于 Adam 优化器训练,若后续接纯 Muon 优化器进行微调,优化器机制的不兼容会引发稳定性隐患。因此 Kimi K3 选择了 **From Scratch 原生训练视觉编码器**,虽然消耗了更多预训练算力,但换来了全局纯 Muon 优化下更平滑的 Gradient Norm 分布与更好的架构兼容性。

在注意力机制的选择上,Kimi K3 采用了纯线性注意力(Linear Attention)与全注意力(Full Attention)混合的 **Hybrid Attention** 架构(比例通常为 3:1),而没有采用 DeepSeek-V3.2 或 GLM-5 中使用的 DeepSeek Sparse Attention。

"Sparse求Index这一步它是相当昂贵的,而且在Blackwell的硬件的情况下,越先进的硬件它其实这个overhead是越大的。" 采用 Sparse Attention 的局限性体现在: - **硬件 Overhead 瓶颈**:在 Blackwell 等下一代 GPU 硬件上,计算 Sparse Index 的访存与计算开销相对被放大,在 Decode 阶段几乎无法带来显著加速。GLM 团队虽通过跨层共享 Index(如每 4 层或 8 层共享一次 Index Cache)来分摊开销,但在 Hybrid Attention 架构中,Full Attention 层之间隔着多层 Linear Attention,跨层共享 Index 的可行性与加速比极其有限。 - **Pretrain 兼容性极差**:Sparse Attention 极难直接用于 From Scratch 的预训练,目前行业通用做法均是先做 Full Attention 预训练再转 Sparse Post-training。因此在 Pretrain 阶段直接采用 3:1 的 Hybrid Attention 是工程与算法权衡下的最优解。

---

[01:08:44](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=4124s) 架构演进的哲理思考与训练策略对比

大模型架构的发展呈现出类似 "忒修斯之船" 的演进过程。从 2017 年 Transformer 提出至今,虽然大家仍沿用 Transformer 的名称,但内部的 Attention 形式、残差连接、激活函数以及 MoE 路由已被替换殆尽。Kimi K2 到 K3 的巨大架构变革,并非单纯的技术范式颠覆,而是战略侧重点的转移:K2 时代的硬性目标是把 1 Trillion 总参数、32.6B 激活量的 Base Model 在工程流水线上跑通、跑稳;而到了 K3,团队在稳定的基座上有了充裕的时间进行精细化的单点架构创新。

在学习率 Schedule(Learning Rate Schedule)的选择上,Kimi K3 打破了自 MiniCPM 以来行业普遍遵循的 WSD(Warmup-Stable-Decay)范式,回归到了 **Constant Decay**: - **WSD 的局限**:WSD 虽允许在 Stable 阶段任意扩展训练 Token 数量,并可将高质量数据集中在 Cooldown 阶段倾斜,但其实际最大学习率(Maximal Learning Rate)的寻找难度与 VTK 无异。任意扩展 Token 量时,原本固定的 Learning Rate 并非理论最优。 - **Constant Decay 的优势**:只有“总 Token 量”和“Maximal Learning Rate”两个变量,避开了 WSD 中 Decay 比例的超参调优,在大规模实验中更容易找到全局最优超参数。

最终 Scaling 结果显示,Kimi K3 的总参数量从 K2 的约 1T 拓展至 2.8T,激活参数量从 32.6B 增加至 1.04B。在 Scaling Efficiency 上达到了 K2 的 **2.5 倍**。

- **架构演进路线**:从 K2(重在工程 Pipeline 跑通 1T 模型)到 K3(深度融合精细架构优化)。 - **参数规格对比**:K3 参数量从 1T 提升至 2.8T,激活量从 32.6B 扩大至 1.04B。 - **Scaling 效率提升**:综合架构优化与 Data Recipe 迭代,K3 实现了 2.5 倍于 K2 的 Scaling 效率。

---

[01:19:10](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=4750s) 长上下文建模:RNoPE 机制与低精度 QAT 引入时机

在长文本扩展(Long Context Extension)方面,传统的 RoPE(Rotary Position Embedding)虽然对短文本上下文的局部位置建模(Recency Bias)效果显著,但其本质上会损害超长文本的外推能力。若直接对 RoPE 参数进行外推,必须在不同长度的 Recipe 下重新调节 RoPE 超参数,否则性能会急剧下降。

Kimi K3 采纳了类似 Cohere 团队的 **RNoPE** 思想:由于 Hybrid Attention 中的 Linear Attention 本身已经引入了明确的时间顺序与位置信息,因此在全注意力(Full Attention)层中可以直接将位置编码完全移除,即采用 **NoPE (No Position Embedding)**。

"ROPE它并不带来任何的常文能力,它甚至是损害常文能力。" 采用 NoPE 的优势极其优雅: - 外推时无需修改任何模型架构超参数,也无需补算额外的位置编码。 - 模型在无需 Long-Context 继续预训练的情况下,直接测试外推长文本效果依然优异。

在量化训练(QAT)的引入时机上,与 DeepSeek-V4 直接采用 W4A8 从头原生训练(Native Training)不同,Kimi 团队采取了 **高精度 Pretrain + SFT 阶段引入 QAT** 的两阶段策略。从项目管理角度看,超大规模预训练中使用 FP8/低精度存在不可控的不稳定性风险,而实验表明在 SFT 阶段引入低精度 QAT 已经足以让模型完成量化适配,不会造成任何最终性能损失,是最保险且工程风险最小的方案。

- **NoPE 机制**:利用 Linear Attention 补充位置信息,在 Full Attention 中彻底去掉 RoPE,实现零超参调整的平滑长文本外推。 - **QAT 实施路径**:预训练保持高精度控制风险,SFT 阶段切入 QAT 量化训练。

---

[01:24:28](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=5068s) 后训练(Post-training):多教师蒸馏(Multi-Teacher OPD)与投机推理

在 Post-training 阶段,经典的 **OPD (On-Policy Distillation / MiniLLM)** 机制正在被重构。传统的黑盒蒸馏(直接学习 Teacher 生成的答案)或白盒 Forward KD 容易导致 Student 产生分布偏移;而 On-Policy 蒸馏则是让 Student 自己生成推理轨迹,再由 Teacher 在轨迹的每一步进行 Verification 与纠正。

在公司实际业务落地中,比起大模型蒸馏小模型,当前更通用的范式是 **自己蒸馏自己(Self-Distillation)与 Multi-Teacher 架构**: - **组织管理简化**:Post-training 团队如果将 Math、Coding、Agent、Preference 等不同专项能力直接做 RL 混办(Multi-task RL),不同 Reward Model 的梯度冲突极难调优。 - **Multi-Teacher 策略**:先在各个专项领域独立训练出擅长不同任务的 Teacher 模型,再通过 On-Policy Distillation 将多个 Teacher 的能力统一蒸馏解耦融合进一个目标模型中,极大地降低了团队协作与 Post-training 交叉融合的难度。

针对推理加速,传统的 VL 模式推理效率较低。小米团队基于泰晓科技(Taiao)的算子融合技术,结合 **DFLASH** 投机采样(Speculative Decoding)算法,将多模态/大模型推理吞吐提升到了 1000+ TPS 的量级。Kimi K3 目前在 Draft Model 投机推理方面的融合优化仍有进一步演进的空间。

- **On-Policy 核心逻辑**:基于 Student 自行生成的采样轨迹,让 Teacher 进行 Step-wise 纠正与验证。 - **Multi-Teacher 优势**:避开复杂的多目标 RL 奖赏函数混合训练,通过分布式专长教师模型实现能力汇聚。 - **推理加速路径**:算子深度融合 + DFLASH 投机推理,实现超高 TPS 吞吐输出。

[01:30:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=5400s) Draft Model 优化、MTP 与 Infra 的架构 Co-design

在推理加速与 Draft Model 优化方面,核心关注点在于如何提高 Small Batch Size 下的系统吞吐量与推理速度。早期的投机采样(Speculative Decoding)多采用与大模型毫无关系的独立小模型进行 Draft,但这无法利用大模型内部的 Hidden State 表达。而 MTP(Multi-Token Prediction)和 Ego3 的核心思想正是利用大模型中间层的隐藏状态,在相同参数量下显著提升 Draft 接收率,进而带来整体推理效率的飞跃。

从 Difflash Model(如 Dflash)与语言模型结合的脉络来看,Difflash 虽然在单用户或小 Batch 场景下具备极高效率,但其训练效率低、大 Batch 吞吐差。因此,最新的策略是将 Difflash 作为更先进的 Draft Model 引入 MTP 框架中。需要指出的是,Draft Model 极度依赖基座大模型的预训练表达能力,必须在大模型内部预留专用接口;同时在蒸馏训练时,使用 KL 散度损失(KL loss)替代传统的 Next Token Prediction(NTP)损失,能更好地实现 Draft Model 与原模型的对齐,大幅提高 Token 接收率。

* **Speculative Decoding 演进**:从独立小模型转向利用大模型隐藏状态(Hidden State)的 MTP/Ego3 架构。 * **Draft Model 训练优化**:采用 KL loss 替代 NTP loss,使 Draft Model 在 Verify 阶段对齐效果更佳。 * **Infra 协同设计**:大模型架构设计正深度转变为与底层 Infra 的 Co-design(联合设计),这直接影响整体基础设施的部署与调度方式。

[01:35:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=5700s) KDA 与双层 Chunk 分层序列并行(CP)机制

传统的 Full Attention(如 Ring Attention、Zigzag Attention)进行序列并行(Context Parallelism, CP)时概念非常直观,通常需要将跨 GPU 的 KV Cache 传输到单卡上计算。但对于基于 Chunkwise Recurrent 的 Linear Attention(如 KDA)而言,CP 的实现逻辑更为复杂且优雅。Linear Attention 的关键特性在于 Chunk 的切分在数学上是严格等价的(无论是 512 token 还是 8k token),与模型具体的架构设计完全解耦。

基于这种任意切分特性,团队设计了一种“层次化 Chunk”(Hierarchical Chunk)的双层 CP 方案:

``` [1M 超长序列] ──(卡间大 Chunk 切分)──> [各卡 8K Chunk] ──(串行 Recurrent 计算)──>... │ (卡内 Kernel 拆分) ▼ [16/64 Tile 小 Chunk] ──(并行 Parallel 计算) ```

这种双层结构打破了传统 Full Attention CP 的传输瓶颈,在基础设施层面实现了高伸缩性的长文本训练能力。

* **Chunkwise Recurrent 机制**:Chunk 内部采用 Parallel 高效计算,Chunk 之间使用 Decay 方式串行计算。 * **双层 Chunk 架构**:第一层在跨节点/卡间切分为大 Chunk(如 8K),卡间以 Recurrent 方式传递;第二层在单卡 Kernel 级进一步切分为小 Chunk(16 或 64 Tile)进行并行计算。

[01:39:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=5940s) MWEP:基于冗余专家的动态 Token 负载均衡策略

针对 MoE 训练中 Dropless EP(Expert Parallelism)导致的 GPU 负载不均问题,Kimi 团队提出了 MWEP(Multi-Worker Expert Parallelism)优化方案。传统的静态 EP(如 128 专家、EP=8 时每卡固定 16 专家)由于每个 Token 路由选择不均,会导致卡间执行时间不一致,出现互相等待并浪费算力的问题;此外卡间接收 Token 数不确定还会增加通信开销。

``` [静态 EP 方案] ──> 各卡固定专家 ──> Token 路由分布不均 ──> 卡间同步等待,浪费算力 [MWEP 动态方案] ──> 引入少量冗余专家 ──> Online Planning 规划 ──> 所有卡 Token 数完全均分 (Drop-free) ```

MWEP 通过理论证明:只需增加极小比例的“冗余专家”(Redundant Experts),即可利用在线规划算法(Online Planning)在保证无损(Drop-free)的前提下,将所有 GPU 卡的 Token 负载完全平摊。虽然这无法保证“每个专家”收到的 Token 数绝对均分,但从“每张 GPU 卡”的计算量来看达到了完美的物理均衡。

* **Dropless EP 痛点**:Token 分布动态变化导致 GPU 耗时不同步,且必须额外增加通信步骤来通知接收 Token 数。 * **MWEP 核心机制**:结合数据结构与算法优化,在在线调度阶段将冗余专家分配到特定卡上,达到所有 GPU 节点 Token 总吞吐完全对齐的效果。

[01:41:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=6060s) FP8 显存 Offloading 与通讯/计算 Overlap 架构演进

在内存高效训练(Memory-Efficient Training)方面,Kimi K3 采用了更加精细化的 Activation/Offloading 策略,将中间计算结果以 FP8 格式显存 Offload 到 CPU 内存中。能够成功执行大规模 Offloading 且不拖慢训练节奏的核心,在于系统精确地满足了 CPU 与 GPU 之间的带宽传输与计算 Overlap 不等式。

对比 DeepSeek-V3 的 Infra 方案,两者在通信隐藏(Overlap)与 Pipeline Parallelism(PP)上展示出了不同的设计哲学:

``` +-------------------------------------------------------------------------------+ | DeepSeek-V3 vs. Kimi K3 Infra 对比 | +-------------------+-----------------------------------+-----------------------+ | 维 度 | DeepSeek-V3 | Kimi K3 | +-------------------+-----------------------------------+-----------------------+ | 核心架构 | 标准/细粒度 MoE | Latent MoE | | 通信 Overlap 策略 | DualPipe / 极细粒度算子拆分&重排 | Shared Expert 算子掩盖| | PP 气泡消除 | DualPipe / DualPipeV 复杂流水线 | Lightweight Memory | | | | Offloading 移位均衡 | +-------------------+-----------------------------------+-----------------------+ ```

* **FP8 Offloading**:将激活值降精度为 FP8 储存至 CPU 内存,带宽消耗降低一倍,一举突破 CPU-GPU 通信瓶颈。 * **Latent MoE 的 Infra 优势**:Latent MoE 在数学上极大地削减了原本巨大的 Dispatch 和 Combine 通信开销,使得只需利用 Shared Expert 的前向计算过程就能轻松隐藏通信。 * **轻量化流水线并行(PP)**:未采用极其复杂的 DualPipe,而是通过将前层 PP Rank 积压的大显存 Activation 直接转移/存储到较小负载的 PP Rank 上,以极其轻量(Lightweight)的方式解决了非对称 PP 气泡问题。

[01:50:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=6600s) RL 架构中的 Sandbox Docker 管理与 Memory 共享技巧

在强化学习(RL)训练工程层面,大规模 Sandbox 的调度与多模型显存管理是关键考验。每个 RL 轨迹(Trajectory)通常需要独立运行在一个容器(Docker)环境中,如何管理成千上万个大规模 Docker 构成了极高的工程门槛。

同时,RL 训练中需要同时驻留 Policy Model(Actor)、Reference Model、Reward Model 以及对应的 Gradient Buffer 和 Optimizer State,显存压力巨大。Kimi K3 在此采用了非常巧思的“显存复用”技巧:

* **非策略模型(Reference Model)显存复用**:Reference Model 本身不产生梯度。在求 Objective 的阶段完成之后,系统会将 Reference Model 占用的显存空间直接让渡给后续产生的 **Gradient Buffer**。 * **内存复用逻辑**:由于两者的生命周期正好前后错开,通过将两块大 Memory 强行“拼接/重叠”在一起,极大地节省了显存开销。

[01:52:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=6720s) 推理引擎中 Linear Attention 的 Prefix Cache 与长文本适配

在现代 LLM 推理引擎(如 vLLM、SGLang)中引入 Hybrid 架构(如 Linear Attention 与 Full Attention 混合)面临着极大的架构不兼容问题。传统的 Full Attention 是基于 Page KV 逐位置追加的,其 Prefix Cache 逻辑只是上一个位置 Cache 的简单增量;而 Linear Attention 每一步都是对上一状态(Carry State)进行覆盖重写(Overwrite),如果每个 Step 都存状态,Linear 的内存优势将荡然无存,若完全不存则无法享受 Prefix Cache 的加速。

* **Block 级 Caching 策略**:放弃 Step 级的状态保存,改用按固定 Block 长度进行切片与 Prefix Caching 保存。 * **异构层兼容性改造**:因为 Page KV 默认不考虑层与层之间的结构异构性,推测引擎需要专门对 Sliding Window 和 Linear Attention 做兼容层改造,混合管理不同 Pattern 的 Carry Cache。

[01:55:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=6900s) Kimi K3 的核心冲击力:激活参数暴涨与团队技术文化

谈及 Kimi K3 最让人印象深刻的地方,在于其将**激活参数量(Active Parameters)直接提升了一个数量级**,达到了此前开源模型预期的 3 倍以上。这并非纯粹的技术突破,而是一个需要极大胆识的“非技术决定”。

> "K3 最让我 Impressive 的一点,就是他们把这个激活搞得特别特别大,足足有 100B。这不依赖任何技术能力,而是看你敢不敢在已有开源模型赛道的基础上提升一个数量级——这是一个非技术性的、有魄力的决定。"

关于团队风格与技术路线的讨论中指出,科学研究不存在跳跃性的“神来之笔”,所有的技术突破都是靠渐进性的工程推演与创新累积而成的。Kimi 团队之所以在技术上表现出极强的科学性,源于其内部独特的“模型内核”导向与极其团结的组织文化:

* **科学与非科学的区别**:科学要求严谨的变量控制、客观的 Evaluation 与纯粹的技术 motivation;不科学则是基于利益需求或组织内耗而阉割了科学的实验方法。 * **对立与分化**:对比 DeepSeek 极致追求“性价比”与 Flash 模型,Kimi 更倾向于“推高开源模型的能力上限”。 * **团队氛围与决策机制**:Kimi 团队内部不存在个人英雄主义,甚至“所有人都不怕杨植麟”,属于典型的“谁有道理谁说了算”的集体协作模式。

[02:00:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=7200s) 大模型未来终局预测:Scaling 边界与世界模型探索

对于大模型未来的发展方向,访谈给出了极其干脆的“暴论”:纯语言大模型(Language Model)在架构上可能已经不会再有根本性的范式创新,后续更多是改良性的渐进式进步。只要行业能够清晰定义一项能力(如 Coding、推理),模型的能力就一定能够被 scaling 出来。

* **AGI 的定义瓶颈**:只要是在纯文本/语言模型的框架内,AGI 的实现只是时间与工程问题;真正的 Gap 在于具身智能(Embodied AI)与物理世界的真实交互。 * **模型 Size 的上限**:模型不可能无限制地无限变大。因为人类互联网上能够集结到的高质量预训练数据总量是严格有限的,从数学理论上看,吞吐数据的模型参数空间存在一个固定的 Upper Bound。 * **转向“世界模型”的个人选择**:正是因为大语言模型已经逐渐变成一个“well-defined”(被清晰定义)的工程问题,技术创新的空间正在被压缩,因此下一阶段的探险必然走向技术不确定性更大、探索空间更广的“世界模型”(World Model)领域。

## Notable quotes > [00:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=0s) 大模型领域可能已经不会再出现类似 Transformer 这样“忒修斯之船”级别的颠覆性创新,后续大部分突破都是改动性、渐进式的工程与架构微调。 — 孙宇涛

> [01:03:44](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=3824s) Sparse求Index这一步它是相当昂贵的,而且在Blackwell的硬件的情况下,越先进的硬件它其实这个overhead是越大的。

> [01:19:10](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=4750s) ROPE它并不带来任何的常文能力,它甚至是损害常文能力。

> [01:55:00](https://www.bilibili.com/video/BV1KZ8X6uEPL?t=6900s) K3 最让我 Impressive 的一点,就是他们把这个激活搞得特别特别大,足足有 100B。这不依赖任何技术能力,而是看你敢不敢在已有开源模型赛道的基础上提升一个数量级——这是一个非技术性的、有魄力的决定。 — 孙宇涛

## Mentioned Kimi K3, Kimi K2, Kimi K2.5, Kimi K1.5, Kimi Linear, KDA, RetNet, RetSide, Mamba, Mamba2, DeltaNet, Gated DeltaNet, Flash Linear Attention, Yoko, Universal Yoko, Gated MLA, MLA, DeepSeek-V2, DeepSeek-V3, DeepSeek-V4, DeepSeek-V3.2, Attention Residuals, Hyper-Connections, MHC, DenseNet, ResNet, Latent MoE, C2GELU, SwiGLU, GELU, GPT-OSS, Quantile Balancing, SigLIP 2, GLM-5, RNoPE, RoPE, NoPE, MiniLLM, OPD, DFLASH, Ego3, MTP, MWEP, DualPipe, DualPipeV, vLLM, SGLang, 孙宇涛, 张小珺, 何恺明, 宋林, 罗福莉, 苏剑林, 杨植麟, 清华大学, 上海创智学院, Moonshot AI, Microsoft, NVIDIA, OpenAI, Qwen, ByteDance Seed, OpenBMB, Cohere, FLA, DeepSeek, 小米, 泰晓科技, Blackwell, CUDA, Kernel, Bilibili, 科学空间

[Source](https://www.bilibili.com/video/BV1KZ8X6uEPL)

中文简报

月之暗面发布2.8万亿参数K3模型 大模型架构已进入渐进式工程微调阶段,Kimi K3通过提升激活参数至100B并结合混合注意力与低维MoE通信推高开源能力上限。 本期播客由清华大学博士候选人孙宇涛深度剖析开源 MoE 模型 Kimi K3 的技术亮点。节目详细拆解了 K3 如何将总参数扩展至 2.8T(激活参数约 100B),并融合十余篇顶尖论文的技术精华,涵盖 Kimi Linear (KDA)、Gated MLA、C2GELU 激活函数、Quantile Balancing 路由以及 MWEP 负载均衡等工程创新。同时,访谈还探讨了长文本 RNoPE 机制、多教师 On-Policy 蒸馏(Multi-Teacher OPD)以及与底层 Infra 的 Co-design 设计,展望了 LLM 架构演进的边界与世界模型的发展趋势。 在 LLM 时代,模型参数量是性能的核心决定因素,架构创新的重点已由提升模型表现转向优化推理效率与降低部署成本。 (0:00) 纯线性注意力在长上下文场景下受限于有限的状态空间容量,难以做到与全注意力完全无损的等价性能,因而促成了混合注意力(Hybrid Attention)架构的发展。 (5:00) Kimi K3 将模型总参数有效扩展至 2.8T(激活参数量约 100B),并融合了混合注意力、残差连接与专家路由等多方面的最新架构创新。 (15:00) Kimi Delta Attention (KDA) 将衰减项从标量扩展到 Channel-wise / Fine-grained Decay,并通过 Lower Bound Decay 控制精度与数值稳定性。 (20:00) Gated MLA 架构结合了低秩投影压缩 KV Cache 与 Gated Attention 机制,极大地提升了预训练阶段的数值稳定性。 (30:00)

Reading summary

清华大学博士候选人孙宇涛对 Kimi K3 技术报告进行深度拆解,指出该模型通过 2.8T 总参数与约 100B 激活参数的有效扩展,集成了线性注意力、软硬件协同优化以及端到端训练与推理基础设施,展示了渐进式架构创新对推高开源大模型能力上限的关键作用。 模型规模跃迁与有效 Scaling 哲学 (15:00) 在大模型时代,模型参数量成为决定性能的核心要素,架构改动的主战场转向提升推理效率与压低部署成本。Kimi K3 将总参数扩展到 2.8T,激活参数量达到约 100B,并支持 100 万 Token 的上下文窗口。孙宇涛强调,K3 属于在充分训练与优质数据基础上的“有效 Scaling”,相比 K2 时代跑通流水线的基座目标,K3 实现了 2.5 倍于 K2 的 Scaling 效率。将激活参数提升一个数量级达到 100B,不仅是一项技术突破,更体现了团队推高开源模型上限的工程魄力。 注意力演进:KDA 与 Gated MLA 的协同设计 (20:00) Kimi K3 采用了线性注意力与全注意力按 3:1 组合的混合架构,规避了纯线性注意力在长上下文中的无损瓶颈,也放弃了在先进硬件上开销巨大的 Sparse Attention。其自研的 Kimi Delta Attention (KDA) 沿着 RetNet、DeltaNet 到 Gated DeltaNet 的演进路径,将标量衰减扩展至通道级(Channel-wise)。为防止数值超出 BF16 动态范围导致溢出,K3 引入了 16-Token Tile 内的下界衰减控制(Lower Bound Decay),体现了算法与底层的软硬件协同设计。 训练稳定性与架构鲁棒性保障 (30:00) 在大规模集群预训练中,稳定性压倒微小性能提升。K3 在全注意力层使用融合 Qwen 门控机制的 Gated MLA,有效抑制了梯度爆炸风险。在长文本方面,K3 采纳 RNoPE 思路,利用线性层自带的位置信息在全注意力层彻底去掉 RoPE,实现免调参的长文本平滑外推。针对 FFN 层的激活值爆炸,K3 引入 C2GELU 激活函数,通过严格数学上界杜绝异常值。此外,K3 采用原生训练视觉编码器来确保全局纯 Muon 优化器的兼容性,并在学习率上回归更易调优全局最优的 Constant Decay。 MoE 路由演进与高效分布式基础设施 针对 MoE 架构的通信与负载难题,K3 采用 Latent MoE 将 All-to-All 通信的隐藏状态压缩 2 至 4 倍,在推理阶段的关键路径上显著降低延迟,并在两次矩阵乘法间引入 RMSNorm 保障数值稳定。对于专家负载均衡,K3 落地了苏剑林提出的 Quantile Balancing (QB),通过值域切桶(Histogram)统计替代全量排序,实现了常数空间复杂度的无超参均衡,使全层兼容 MoE。在分布式系统上,K3 提出 MWEP 机制,以极低比例的冗余专家消除 Dropless EP 的卡间负载不均;同时利用两层 Chunk 实现高效序列并行,并借助 FP8 CPU Offloading 突破显存瓶颈。 后训练解耦与推理架构演化 (84:28) 在后训练阶段,K3 采用基于 On-Policy 蒸馏的多教师(Multi-Teacher OPD)范式,先独立训练数学、代码、Agent 等领域的专长教师,再集中蒸馏进目标模型,绕开了多目标强化学习的奖励函数冲突。在强化学习显存管理中,利用生命周期错位,将非策略模型的显存直接复用给梯度缓冲区。在推理层面,投机采样正演变为依托大模型隐藏状态的 MTP 架构,并通过 KL 散度损失提升 Draft 模型的对齐与接收率;针对推理引擎,则需结合按 Block 缓存的 Prefix Cache 策略以兼容混合注意力体系。 孙宇涛认为,纯语言大模型的底层架构可能难以再现颠覆性的范式革新,未来突破更多依赖渐进式的工程累积。随着互联网高质量数据总量逼近上限,参数扩展终将面临数学边界;大语言模型已逐渐成为定义清晰的工程体系,技术探索的下一阶段将转向更具不确定性的世界模型与物理世界具身交互。

Source quotes

[0:00] 孙宇涛: 大模型领域可能已经不会再出现类似 Transformer 这样“忒修斯之船”级别的颠覆性创新,后续大部分突破都是改动性、渐进式的工程与架构微调。 [63:44] Sparse求Index这一步它是相当昂贵的,而且在Blackwell的硬件的情况下,越先进的硬件它其实这个overhead是越大的。 [79:10] ROPE它并不带来任何的常文能力,它甚至是损害常文能力。 [115:00] 孙宇涛: K3 最让我 Impressive 的一点,就是他们把这个激活搞得特别特别大,足足有 100B。这不依赖任何技术能力,而是看你敢不敢在已有开源模型赛道的基础上提升一个数量级——这是一个非技术性的、有魄力的决定。

Original transcript

[0:00] Hello 大家好 我是小俊今天的节目是一集学习播客学习KIMI K3的技术报告希望和大家一起领略技术之美K3是有效扩展到2.8T总参数并全量开源的MOE模型大家可能注意到这集技术报告的领读播客距离模型发布已经过去了一段时间期间我们试图寻找一位合适的嘉宾我们希望这位嘉宾合得来讲K3最后找到了孙宇涛宇涛目前是清华大学计算机系博士候选人上海创制学院普瑞学者他从博士开始的研究方向是LLM架构预训练架构创新一直都是他的兴趣所在这正好是K3的亮点之一那宇涛透过领读K3的论文也串联讲解了十多篇相关的论文他的语速非常快所以前方语速高能预警期待2026年我们和AI共同进步当然这块我觉得可能还有一些别的concern比如说我们发现其实如果用Ming的话它其实是会更容易出现Altlare的你控制中间的激活值总不是一个比较错的现象当然如果我说Ming更容易引来Altlare的这个速箭林一定会反对他肯定会说对于任何优化器来说它都一定会出现Altlare因为你从模型架构上是控制不了的所以说如果想严格控制的方法的话一定是直接从模型架构下手这个情绪上还有一个对应的概念就是泰休斯之船就是你刚开始2017年这个船刚开始行驶的时候是Transformer但是这个船刚开始是怎么拼起来的?它是Attention加Resigual,我们可能会把某些部分换了,其实跟Transfer已经,我觉得像素已经很低很低了,你是否还把这个东西叫做Transfer?我说一下我的判断,我的判断比较暴论,我的暴论就是大模型可能没有台北人的创新了,后面都是一些改样性的进行进步好的,那我们的论文学习播客又来了,这次我邀请了清华大学的PhD Candidate,上海创制学院普瑞学者孙宇涛,将由他带领大家一起来学习和阅读最近大家关注度非常高的Kimi K3的论文,但是宇涛会带领大家读一系列的论文啊,那宇涛你能不能先给大家做一个自我介绍并且介绍一下你的研究方向?好的各位观众朋友大家下午好然后我是来自千华大学的孙宇涛我在这个博士期间的主要的研究方向是大模型的架构和预训练然后这个博士课题呢我是从二十三年从那个时候开始我们主要去研究这个大模型的模型架构的一系列的工作然后在那个时间点应该是ChateGPT刚刚发布一段时间吧但是我们的架构研究从其实从ChateGPT发布之前就开始对差不多就开始了然后我这两三年的主要的一个研究方向就是去尝试解决大模型在推理这个环节的一些低效性吧然后所以说我们主要的一些研究方向都是围绕着推理高效性来去展开的然后其实大家也可以注意到说就是在模型架构这个方面呢整个业界的研究方向也是逐渐从偏这个性能为导向逐渐的变得是以效力为导向然后在这个方面其实是有一些办事上的变化的因为可能在Vision时代或者说在ImageNet时代大家还是尝试去做到更精妙的一些架构然后去提升模型本身的一个表现但是在大模型时代然后我们其实逐渐发现对于模型的性能而言模型的参数量原来是一个最主要的一个因素然后在这个在模型架构本身的一些改进性的变化呢其实相对于模型参数本身的提升对带来的这个性能提升是相当微小的但是其实不同的架构在这个模型的推理方面然后性能差异是巨大的而且这个也是主要决定了模型最后的一个部署的价格然后其实这两年大家主要在这个方向去努力然后对于我而言的话其实我们是在23年开始然后探索这个现役助力这样的一个方向的一个工作然后我们这篇RatSide工作刚开始主要是解决了两个问题的我觉得从现在的这个阶段主要解决了两个问题第一个问题就是现役助力怎么能尽量的去在一些比较gender的场景下能逼近这个全数域的这样的一个性能因为linear从刚开始提出主要是为了去用一个比较linear kernel然后去一个kernelized的方式去拟合然后二次复杂度的全数域这样的一个pattern所以在之前那个时代其实对于这个linear tension而言它的位置信息它其实是不够sensitive的然后其实在那个时代这个linear tension和这个和rn只是在形式上比较相似但是从这个建模的特性上来讲rn其实还是比较强调这个一切locality的一些表示我们在Racket上是比较早的引入了一个插点的一个机制这样的话可以让这个限制助力在一个有限的这个状态空间里然后尽量的去 [5:00] 电魔这一些对最后的结果贡献足够大的一些信息然后这个其实刚开始的一个motivation除了这个模型性能以外呢我们当时也是主要比较先的提出了这种这个tuncure recurrentChunk as Recurrent 这样的一个线性注意力的Kernel的计算形式,因为对于线性注意力来说,如果把整个的状态都展开了,然后在Token这个维度去做地规的计算的话,它其实从效率上并不是最优的,但是如果用仿照注意力这种计算方式去建模,它又享受不到整体计算复杂度带来的优势,所以说我们当时就是在这种Parallel Reputation,从一些并行的像全主义这样的一个计算形式和全地规的计算形式,之间然后找到了一个tradeoff也就是这个块地规的这样的一个计算形式这个charkwise requirement呢我们既可以拿到这个整体的一个计算复杂度上的一个收入同时我们能在kernelize层面然后我们可以尽量多的去这样tenthcore然后把这个local的一些计算密度都拿满这个是我们提出了一个比较有效的一个计算范式然后大家其实如果可以关注到就是之后的一些其实所有的一些现实注意的改进工作都是基于这样charkwise的计算形式去计算的对吧包括manbara2然后gety delta net包括然后来到今天的这个Kemilinear KDA这样的一个计算模式然后在这个计算大的计算模式上呢然后又带来一些新的比较细节上的变化然后这个可能之后对今天的后面会就更详细的来进行讨论然后当然从现在这个视角的纯线性注意力就作为纯线性注意力的一个模型而来无疑是一个比较失败的一个尝试因为无论如何这个比较有限的一个contest它都难以带来就是在长上来文中和这个全注意力比较完全相懂的一个性能这个其实在这个,今天这个时间点,我们都知道是不可能的,所以说这个,当时我们在23年吧,也是注意到了这个现象,所以说我们就会尝试说,就是从这个权限制注意力,然后转到一个这个,Hybrid Tension的这样一个架构的形式Hybrid Tension其实大家顾名思义就是很简单包括KIMIK3其实也是这样的就是用一些现役注意力和一些全注意力然后组合起来然后作为一个模型的架构然后这个本质上听起来像是一个工程上的trade off然后也是一个比较工程的解法但是虽然如此我们当时就发现一个现象不过这个也是目前所大家公认的就是混合注意力它其实虽然从架构上来讲是一种trade off但是从最后模型本身的表现来说并不是一个trade off大家其实发现在保持一定的全注意力比例的基础上整个模型其实是可以获得无损甚至更好的一个常常上菜文表现的也就是说其实在混合注意力模型的架构中我们并没有牺牲一定的这个全注意力的一个模型能力从而带来工程上的数据所以从这个角度上来讲也是因为这个实验上的一个结论然后从而导致这个混合注意力现在被大规模的利用起来这是你的第一片工作是吧对对对对对对然后后来的话就是当时我们会发现说这个混合助力其实在工程上是一个百分之二work的方法我觉得其实没有问题当然其实直到今天work的也还是不错嘛当然了,对于一个博士生来讲,这个东西虽然它比较work,大家也愿意去除了,但是这个东西从Nauty上其实感觉就差点意思,而且感觉也不够有趣,因为当时我们觉得如果只是把两种混合注意力模型结合起来的话,它有这么几个问题,我觉得最大的问题就是它在推理的加速比,它永远是和混合比是正交的,或者说也不是正交,就是完全成正比例的,因为现在比如大家比较常用的是混合注意力比全注意力大概是3比1这样的一个比例,也就是全注意力,在整个模型里大概是1/4这样的一个比例,所以说如果说我们认为1/4是一个比较无损的也是一个比较极限的比例的话,其实我们很难拿到更大的加速比,也就是说我们无论是prefail还是做decode,我们最多的加速比也就是4倍,当然我们在做纯线性注意力的时候,我们希望是更高的嘛,我们希望最后如果混合注意,它其实只是一个这个常数级别的改进,所以当时觉得可能不是很有意思,所以我们后来就做了优扣这样的一个工作当时我们的一个motivation就是我们从第一性原理去思考,为什么纯现役助力没有办法获得和纯全助力一样的性能?原因很简单,我们至少希望模型有一些比较基本能力,比如说我们至少有一个可以获取全文信息的能力,所以说在这个场景下,其实全上下文的kvcash这一点是没有办法去省掉的,所以说就kvcash既然没有省掉,我们能不能从另一个维度去省,所以当时我们就觉得既然说这个从从token长度这个维度没有办法去节省,所以说我们找到了另外一条节省的方向,就是从这个层间这样去节省。所以Yoko当时做的是一个就是所有层共用一份kpcash这样的一个架构的方式。然后另外一个就是从模型的计算角度,就每一个token在decode的过程当中,对它的计算密度是没有办法去这个减少的,因为我们希望它保持一定的这个全注意力的计算能力,然后这样它才能达到我们希望的长沙培能力。所以说我们提出的另一个东西就是我们希望把这个模型的计算和所以说我们当时可以看到 虽然我们只有一份的KP cash 但是我们可以保持一个多次的负责 [10:00] 的富而生生的一个计算结构,所以除了这个技术上,我们当时的优格架构只保留一份的开始但是可以获得这个和全注意力或者混合注意力,基本上可以等价的一个这个模型的一个计算结果。然后这个架构还有另外一个优势就是我们在prefuel的时候可以直接跳过这个全注意力的计算。因为prefuel它就是比如说也就是模型处理这个用户输入的这样的一个阶段。我们本质上只是希望我们可以拿到模型的kvcache,然后这个kvcache是用于后续的这个decode的一系列的hater state。所以说这个prefuel的唯一目的就是去达到这个模型的kvcache。经过前面的一些linear retention的一个计算然后拿到了kvcash这个就够了因为prefuel阶段我们是没有必要就是减码出每一个位置的后续的next token prediction的所以在prefuel阶段我们就可以直接不过cross retention但是在底后的阶段我们可以保持和这个传统模型一样的一个计算能力对然后这个是我相关的一些第二条件工作这个标题也挺有意思的对这个也是致敬有onlylookvance当然后来也有后面一系列的致敬的工作你只能缓存一次是吧对这个其实在这个从kvcash的存储角度基本上已经达到极致了因为我们都同意的吧如果从tokenwise角度我们必须等保证所的话一份其实就是最少了不可能再少了所以这个从kvcash角度是一个比较极限的一个结果对然后我讲我对personally我的一个第三边工作就是在这个工作里我们其实解决了就是从一个更通用的角度来去考虑问题的话就是模型的推理开销主要就分为三个部分就是prefuel的这个实现开销然后decoder的开销然后和kvcash的存储开销不可能有第四个,然后优客这个工作呢,我们主要解决的是prefuel和解决了那个cache,但是我们没有解决decode的。然后decode的话我们后续是或者大家会尝试用这个Sparse 腾讯的方式去解决然后但是K3他其实目前是没有用Sparse 腾讯所以这块对今天就对今天就先不讲了对然后我们后面的一个工作是一个和另一个赛道是一个比较相似的工作也就是Loop Language Model 公民思义,我们在保持一个固定的模型参数大小的情况下通过多次迭代来去提升模型的flops,从而去提升模型的一个能力。所以Loop这一系列的工作,主要目的就是可以在保持一个比较小的模型参数的基础上,取得比同参数的模型好更多的效果。但是其实传统的LoopLanguageModel,它在Decode的情况下,它的成本其实是难以忍受的,因为它只是省了模型参数,它其实并没有省计算,而且在相同计算下的话,它其实是并不如把参数转开,或者说用一个更大的但是不去Loap的模型,它最后总的效果好。比较传统的LoapLanguageModel,其中还有一个问题,就是它的这个Carray Cache,它的存储,它会随着这个模型推理的深度而增加。所以说最后总的算起来的loop栏格带来的总的credit其实是相当大的然后Yoko Universal这个工作其实就是在这个Yoko价格的基础上然后去做一个位置上的改变也就是我们把loop的单元然后变成一个很efficient的一个单元然后从而去避免就是推理的时候一些额外的一些或者比较大的成本但是能保持它模型的一个效果比较稳定的一个增长解法也很简单因为对于Yoko而言毫无疑问它是一个这个混合注意力架构但是我们混合注意力方式它不是一个交错式的一个结构是一个两端的一个结构也就是说我们模型推理的前期它是一个全线性主义力但是模型的后期是一个全注意力这样的一个架构所以说我们的选择是把这个把Luke这样的一个架构集中在这个线性主义力这样的一个位置然后这样的话我们对整体的QCash增长是比较小的因为LinearTension它本身的QCash它其实是微乎其微的然后第二个就是线性主义它不仅省存储它其实也是省了计算就是在长上下文这样的一个场景下它其实带来的额外的计算是相当小的因为它Linear Attention所带来的Attention的Decode的计算是相当小的,但是从Injernal的模型能力上的话,它从比如说模型的proplasty或者说从模型的skilling behavior它是可以获得足够接近全注意力的这样的一个模型的能力所以说我们这个架构它其实可以达到的一个效果就是从用差不多,比如说我们用两倍原模型的这样一个计算强度,我们基本上就可以获得两倍左右的一个性能提升,但是我们的模型存储和这个模型的QCache还是保持和原模型的一个差不多这样的一个推理开行对这个是我第三份工作这班工作因为去年开始这个loop language model是一个大家比较热议的一个话题然后我们在这方面然后做了一些探索所以你从二三年一开始读博你的研究方向就一直在架构创新上对吧是的而这次K3他在L1M的架构和预训练上也做了很多工作,这是我们今天来找你来带我们读论文的原因。对,是,因为Kimi Linear刚发布的时候,当时我们其实之间也有一些讨论,然后其实工作的连续性其实还是比较强的。包括Kimi Linear他其实也是比较原封不动的搬到了K3的一个总的一个合板的里面。你为什么一直对架构创新比较干? [15:00] 我觉得两方面吧从个人角度我觉得价格创新比较有意思就是比较好玩对因为别的层面的工作的话它其实工程性的因素会更强一些当然价格创新它也有一些比较工程性的因素当然它的工程性主要来源于就是你需要做一些Infra上的code design但即使是Infra上的code design其实我们之前也提到了比如说我们提出Chunk Recount这样的一个计算节目它本身其实也是Infra层面的一个创新所以我觉得这个事情比较有意思而且它比较能起到一个四两拨千斤的效果吧我觉得对于一个博士生而言,这块是一个相当好的研究领域,当然在2023年是这样的,2026年可能架构创新能做的其实是越来越少了,这个是从个人层面带来的一个考虑,整个领域的角度而言,我觉得其实全注意力当时是一个非常大的瓶颈。如果大模型推理是大规模的应用的话,EUTSEN这个东西是一定可以解决的,是一定需要解决的,而且我们相信是一定可以解决的,所以说在那个时间上我们觉得从整个行业来讲架构创建是对于模型部署而言是最重要的事情我们这次的主题其实是一起来读拼命K3论文,但是你对于这篇论文有很多自己的想法,所以你也做了一个不一样的一个分享的结构,并不是完全是根据这篇论文展开,能不能介绍一下你整体的分享的一个结构和逻辑。我一般想talk的主要的逻辑就是从它模型本身,比如说从一个论文本身出发,当然所有论文都是建立在之前无数个relative work的基础之上,所以我会选一些比如说他一个论文他有几方面的贡献然后他可能一个若干贡献他在背后有一个历史研究的一个脉络我一般的风格是会把这个脉络打开然后这样会达到一个效果就是如果只看这篇论文你会知道他是这样做的但你可能会不太清楚他为什么这样做或者说历史上大家是怎么做的为什么最后达到这个解我觉得比如说从一个比较重要的点展开我觉得从观众的角度是一个比较好的学习的方式而这样的话也会讨论的更综合一些只是一个点的话它其实我觉得意义是不够大的当然这块可能这个模型架构是一个比较多的一个篇幅主要也是因为一个是Kimik3它也做了比较多的一个模型架构本身的创新作另一个就是模型架构这一块它的也这个研究的脉络它其实是相当清晰的而且它每一个部分它其实都有一些比较固定的一个credit我们可以就拆成一个一个点然后把大家去讲出来当然后面也会有一些关于Infra的那种因为现在其实都是比较依赖所以这两块它其实是密不可分的别的一些比如说这个Playtrain Data的话大家肯定都是一个比较密密的状态Paper里也没有写我也不会讲这个Paper除了公开内容以外的一些东西所以这块可能就会涉猎的少一些你的罗链结构让我感觉到其实我们最后看到的是K3的一个呈现,但其实它是有很多人的credit,它不只是Kimi一家公司,对吧,这也是现在做frontier这些模型的一个有意思的地方,它要吸收很多之前其他人的工作,然后我们也把credit都给到大家,我们这篇讲解就是除了你能理解K3,也能理解它是怎么来的,对吧?对 是的 我觉得做一个公司比较科学的方式,如果你最后想把这个模型做好,你肯定是几百家之长嘛,当然是如果说,比如说你只想用自己的工作,那这样可能就是没有必要了,如果是基于这样一个目的去做工作,那可能你就会错过一些这个别人一些做的比较好的工作,因为无论如何这个整个行业都是由大家集体推动的嘛,所以我觉得这个也是KMK3一个比较好的一个点,他其实我觉得包括他之前的一些paper也是这样的,我觉得比较客观会比较真实的吧,前任的一些工作用一个比较可靠的方式去引出来,不会说想办法去削弱这个之前一些人的贡献,我觉得这个其实是他做的也不错,比较好的一个点所以我们这次是从K3出发然后其实是串联起的不管是十几篇论文也好还是记住报告也好还是比如说苏建林老师的国课也好就是是有很多的那种那我很期待我们开始吧好Kimi K3从前面它的一个主要的卖点来说的话,它其实主打的是一些,我觉得从几个方面它有一个比较大的一个囊括。首先,它收了它的一些结果,这个结果特别好,而且这些数都摆在这里,其实也没有太多可以解读的。然后为什么能达到这样的一个结果,然后Kimi K3主要claim的是,三个维度的一个scaling然后当然我觉得最重要的还是说模型大小的一个scaling就是它做到了一个2.8T这样的一个模型大小而且它是一个比较有效的一个scaling的结果什么叫无效呢无效的scaling我今天就可以给你我晚上回去起一个这个2.8T的模型enit我跑个100B的token然后我就可以放出来这个显然是无效的所以说这个scaling当然是要永远是建立在有效的基础上PBK3就是在这个2.8T这个scale做了一个有效的scaling然后这个模型参数大小模型的一个激活的它来到了100B左右这样的一个量级其实在KIMI K3发布的时间点其实是比 [20:00] 国内开源模型的其他几家要大很多的这样一个情况的然后它另一个扩展是在模型上下文长度的这样一个扩展然后在模型上下文长度的这样一个维度呢它做到了1 million这样的一个量级然后1 million的话它自然是可以获得更大的这个上下文的窗口然后去解决更复杂的一个任务所以说从模型总的来看的话,我就还是遵循一个第一系原理,就是更大的模型,才有更大的一个智能上限,如果别的东西没有做太错的话,其实大家可以看到这个模型的参数大小还是解决模型智能最本质的一个参数量。当然如果只看benchmark的话,你有无数种方式去达到一个对内或者对外一个满意的结果,但是从模型的能力本质上,模型的参数大小还是最有效的一个方式,而Kimi确参是一个相当早期或者说相当成功的达到了这样的一个量。然后到这个模型结构章节模型结构章节的话KIMI K3其实是综合了KIMI整个团队包括整个业界然后过去一年以来比较重要的一系列的创新K2不一样K2当时KIMI的发力方向主要是这个模型scaling本身或者说一些非模型架构的一些创新所以说KIMI K2当时主要沿用的就是DeepSeg V3的一个结构但是K3这块的话它其实就跟K2大不一样了KMK3它本身引入了很多比较新的或者说比较创新的一些设计元素对包括对吧自己的也好别人的也好有些比较创新的一些材料也好或者说比较细节的一些调用也好它其实这块做了很多对比较充足的一些准备所以从观感上来看其实跟K2的感觉是很不一样的首先是Hybrid Attention,我刚刚也讨论过一些,我们可以重新翻回头来,再从Kimi本身写作的Writing去看起然后这块的话,我会先讲一下这个线性注意力的一个在过去三四年以来的一个历史的发展状态。因为你如果直接读这个Kimi Delta Tension的话,你会发现它的这个公式相当复杂,而且说对不同的项,然后具体是怎么来的,它具体承担什么样的一个作用。如果直接看这个公式的话,你会发现它特别特别长。比如说比经典的Tension,它其实是要复杂很多的。探索最后得到的这样的一个结果所以说如果想了解这个KIMI Delta Tension对这个最后是怎么设计出来的我们还是有必要去探索之前的一些现实助力经过了怎样的一个发展阶段然后让我们再回到这个RestNet对这个其实是刚开始我们必不可少的一个这个现实助力的一个发展的阶段吧因为刚开始这个现实助力非常非常简单我们就是这个KV乘出来得到一个YG然后把它加起来所以刚开始的线性注意力其实比RefNet还要更简单然后RefNet在这个线性注意力的基础上呢然后我们引入了一个衰减项然后这个衰减是跟Token的位置是有关的然后这样的话就把这个LinearTentent从一个比较PositionInvariant的这样的一个角度从位置无关然后不让它变上的一个位置有关然后位置有关最主要的方式呢一个就是我们可以加Rope另一个就是我们可以引入衰减项因为无论如何语言的特性它就是更近的位置它有更高的一个权重上下文理想达到更好的结果衰减这项其实是必不可少的对所以说这块是这个现实注意比较前期的一个经验吧然后这个衰减下所有工作基本上都保持住了然后另一个主要的这个影响就是Chunk Recount的这样的一个计算形式对因为如果我们只是这个做一些偏学术性的研究或者说只是发paper的话其实从这个kernelized的一个足够高的一个有效应其实是大家不会从一个比较刚开始就比较强调一个是我们主要发现的话,我们完全使用这个地规的这样的一个形式去计算它其实特别满,甚至在训练广中甚至直接要比这个parallel representation,就类似全数yd这样的一个计算方式它还要满但如果我们直接用这种parallel representation的,又感觉十分傻逼,因为因为我们在训练之后相当于完全没有享受到线性注意力的收益,它跟全注意力的计算强度是一模一样的,甚至还要更高的,因为它可能有一些别的处理,或者说我们的curdle写的写的没有flash的存在好,这些都是有可能的,所以说我们当时觉得无论如何,我们都要找到一个比较可靠的计算pattern,让它足够发挥GPU的能力的同时,然后享受到一个计算的计算。复杂度的一个加速所以当时我们就做了这样的一个事情然后RetNet之后呢有两个比较重要的一个节点在这我觉得一个是MambaMamba当时是把这个位置无关的衰减变成了这个位置有关的是一个衰减然后接下来就是DeltaNetDeltaNet的话当然这个概念不是宋林去提的当时是这个是DeltaNet是之前的一个工作然后宋林是在这个DeltaNet的基础上呢然后引入了就是开发了一个拖乱东特瑞德其实就一句话,就是如何能让这个DeltaNet转化为一个GPU可计算的一个这个Chunk Recurrent这样的一个计算模式当时送临去做这贩卖工作的时候 [25:00] 我说看上去好像DeltaNet不太可以并行,他说可以并行,并且他已经搞定了所以说从GPU efficiency的角度,DeltaNet主要是解决的是Infra上的一个困难而且这个解决方式我觉得还是一个比较本质的一个方式然后DeltaNet刚出来的时候我们当时尝试去解决因为当时我们知道线性注意力它在处理全上线文的这样的一个能力上它其实是不如对不如全注意力的所以当时就有两个方案第一个方案就是我直接认输我就去认定现役注意力是不可能匹敌全注意力的当然可能当时我是这种形态我当时意识到可能从现役注意力的视角出发是很难去匹敌全注意力的我当然是这个想法当然宋利是另一个想法他当然觉得我还可以再努力吧我们可以努力的去提升现役注意力本身的一个长线门的一个容量从而获得更好的一个节奏然后DeltaNet当时就是这样的一个目的通过这种方式我们可以获得比之前的RetNet本质上其实也就是在相同的这个kvcash大小的情况下,就是从上法上提高了这个限制度的一个上下文的容量。当时DeltaNet是没有做这个位置衰减的,当时从这个从Properacity或者说从这个Benchmark上它的结果不是特别好。所以说我觉得一个比较显然的事情就是既然我们知道这个位置衰减这个事情,本身是可以帮助这个模型总的一个能力的那我为什么不把这个模型衰减然后和这个DeltaNet这样一个更高容量的linear谈认结合起来Gatee的DELTA-DAD正是这么做的,我们可以去结合DELTA-ROOT这样的一个更高的线性注意力计算容量,然后同时我们给它带来一个衰减,然后同时融合这两个我们就可以得到一个更优的欠行注意力的一个表达形式然后这里就可以看到如果没有AlphaT这项的话,它其实就是一个比较经典的DeltaNet,然后引入衰减之后的话,我们就可以得到GatedDeltaNet这样的一个形式,然后大家就可以注意到这个表达形式其实已经比刚开始的限制入力要复杂很多了,对,因为如果把这项,如果把这个ST-1后面的一个系数完全消掉的话,其实就是最经典的LinearTension,然后RestNet和Mama呢是把这项小道得到一个结果就是我对这个上一个时间点的历史状态然后进行一个衰减然后这样的话是之前的RatHand和Mamba这样的一个结果然后DeltaNet呢它是引入了一个Gatee DeltaRoot的这样的一个方案然后写成地位形式的话它其实就额外再增加了一项这样的复杂度就叠加了上去我们再回到KB Leader,他其实在GateDeltaNet的基础上又变了一个东西,大家可以去对比一下这个是怎么引入的主要的区别,它其实就在这个衰减项上比如说在right hand,然后mama2和这个gated delta rule的情况下的,当然了,线性这个注意力是分配的嘛,所以说一般的现录主力也是分Head的但我们一般写公式的话我们会考虑只有一个Head的情况所以说如果只有一个Head的话GateDeltaNet也好,之前的工作也好,衰减项是一个标量,我整个Head遵循的衰减系数是一致的,这样的好处是,它在Kernel上比较容易,写Kernel比较方便,因为衰减项本身想做一个比较好的,如果说我把Decay拆成更refin的形式的话,我们再去写Kernel的话,它其实是一个不太好处理的一个项,这个是出于写Kernel方面,我们把一个标量的衰减然后变成ChinaWise衰减它严格的来说是能力更强的然后Kimi Delta Tension,它其实就是把这个AT的DeltaNet的这个衰减项,然后从一个标量,然后变成了一个更Fangrain Control这样的一个量。然后这样的话,它就可以带来就是每个Channel可以的衰减系数是不一样的。这样的话,我们这样可以带来一个严格更好的一个能力的上限,因为从公式上来讲,它是严格更好的。无论如何这个Channel-wise的DK,它是可以退化到一个比较均匀的DK的。这样一个严格更强的一个模型能力,它会带来一些更好的效果。Delta的谈设来说一个更强的模型能力它其实是有一些代价的它的代价就是它写Kernel会更麻烦一些它的麻烦的点就在于说我们不能说我们作为一个这个DK代言我们其他部分可以用一个比较方便的方式去做这个去利用探测号来进行计算如果是一个标量的率简厢的话它的处理会特别特别容易它其实一个Tile就只有一个变量就完事了但是如果把它从标量变成一个ChannelWise的话对 它的这个处理难度就会增加很多然后这样的一个处理难度也会带来这个在KimiK3里边一个更更细节的一个co-design的一个处理这样的话我们就来到了这个Lower Bondi的decay就为什么有这个东西两方面的原因一方面就是我们可以认为的从算法层面我们希望它不要decay的太快了但是从从Paper本身而言的话它其实 [30:00] 是为了和kernel来进行一个co-design原因在于说就是我们想去处理更find-green的decay的话我们需要在这个数值上做一个比较巧妙的处理也就是对于q和k而言我们会做一个这个decay的倒数的一个变化我可以举个例子吧最简单的例子就是减2可以表示为这个3-5这个其实也跟rope的思想是比较一致的rope的其实在这个inframe上一个特别方便的地方就是它可以通过这个绝对位置变化来去表示相对位置变化这个情况下它整个的一个计算会会容易很多然后rope它的思路就是其实就是用绝对位置来去表示相对位置所以说对于衰减而言它其实也可以用绝对位置来去表示相对位置也就是说比如说我们有一个衰减项它比如说它是一个alpha的平方对吧alpha的平方的这样的一个衰减项当然这个衰减项可能是对吧第0个token对第2个token的或者说对吧第100个token对102个token所以说我们如果想用绝对位置的话我们就会选择让k先做一个比较大的一个衰减也就是说我让K做一个三四方的一个衰减的提升然后让K做一个比如说五四方的一个反衰减然后这样的话我通过这个承卤结果率我们就可以得出和原来的低规一个比较等价的形式然后这样就带来一个问题对于这个KMDT来说的话他会对QK他有一边他会除一个很小的数对乘一个很小的数可能没有关系他无非就是抵克到0他并不会带来这个当然我们也不希望他抵克到0但是从数值精度上来讲我们希望让他控制在这个BF16的精度范围内这样利用ROPE那种协定位置来表示相对位置编码的这样的一个方式他才是有效的所以说为了让衰减在一定的上口范围内然后控制在BF16的固定的chunk内部让它控制在一定的进度范围内的话,我们是需要从数学上把它控制住的。比如说Kimiliner这块是16个Token Tile,我们就希望衰减。在这16个Token的RES里面不要超出BF16的这样的一个范围。当然BFL16的进度范围,这个是我们已知的,我们可以通过BFL16的进度范围,然后反解出来,在16个Token的区间内,我们最多可以衰减到多大的量。然后Kimi Delta Tension他就大概选了这样的一个量然后这块我们可以去证明说就在16个Token的Tile里我们是可以衰减像是不超出BF16 Dynamic Range这块的Lower Down Body的Decay它更像是一种Code Design我们通过模型算法成本的一些控制然后让它获得在一定Tile的内部然后不要让它有数值方面的问题这样的话整个Kernelless的方式会更加的去通常当然了如果不去限制Kernel肯定也有自己的写法会低效一些,所以说为了保证一个高效的实现,KIMI DeltaTEN采用了在一定的Tile Trunk内,然后控制它最大的一个系数,就是衰减程度这样的一个方式。然后KMI Delta Attention大概就是这样的其实拖到东瑞的也很简单第一个就是我们KMI Delta Attention把GDN这样的一个计算方式拓展了一下它的计算能力然后为了扩展的计算能力带来的一些额外的infra上的麻烦然后他们在模型的表达范围内采取了一些战址然后让它满足Chronalyze的一个方式然后最后得到了KMI K3采用的最后的一个形式OK 下一个环节是Gatey的MLOA顾名思义它就是把两个对,把两块的模型结合了起来,RMIA可能大家都很熟悉了,是DP-SIG V2刚开始去用的,主要目的是减少一些Cache的开销,然后MIA的配置后面主要是被DP-SIG V3和KIMI-K2去采用的,当然DP-SIG V4没有用。因为KIMI-K2也用了,KIMI的同学们认为,MLA如果在全注意力这样的一个scope内部,大家觉得至少还是一个可以接受的形式,或者说没有必要去搭动的形式,所以说K3还是采用了跟K2一样的这样的一个形式然后在这个MLY的基础上呢增加了一个Gated这样的一个操作然后Gated的Tension呢最早应该是Tamen团队刚开始去用的然后从签问这个团队的标题也可以看出来Gatee的Attention当时主要是解决的哪些问题比如说这个Long Linear Nenality然后Gatee的Attention可以带来额外的一个计算的一个强度然后Sparcity和Attention Think Free然后这个东西可能并不是那么显然这个就得具体看它的一个但是whatever我觉得DELTA的参设大家最buy in的一个点就是它的一个训练稳定性,而且这个训练稳定性它是一个我觉得是一个被广泛验证过的这样的一个形式大家可以从前面这个现在图里可以去看到对于一个这个Pretrain的RUN而言我们还是希望它越有越好从模型能力上如果不是最优但也没有关系因为模型的能力其实本质上最主要的因素是模型的参数大小所以说好一点差一点它都不如稳定性也要重要因为如果稳定性不好的话它会带来很多麻烦的问题甚至比较大的问题就是 [35:00] 整个Rounder迅崩了然后你前面整个的这个前面整个的Trypoint都废掉了这个其实对于这个对我觉得对于任何团队而言都是不可以接受的所以说如果说一个方法能比较有效的去提升模型的稳定性这个还是一个大家比较愿意采用的一个技术吧然后前面的GateAltentment的这个前面三应该是对前面三应该是没有用后来的这个后来的Chemmin Next包括Chemmin 3.5,3.6应该都采用了这样的一个架构,虽然它会带来一定的额外的计算开腰,但是它会对模型的稳定性会带来特别大的一个好处。然后这个是之前Chemmin团队的一个工作,Chemmin是在这个GQA上引入的嘛。把GateT的Tenient这样的稳定性的方式引入到MLA当中,这样的话它本身也不会破坏MLA本身的推理性质,可以提升模型的训练稳定性。为什么V4没有再继续演用MLA了呀对因为他们有别的东西了嘛你觉得MLA在未来还会成为一个共识吗因为我记得卢弗利之前跟我说过他觉得在Agent时代MLA应该会被替代你觉得MLA在未来会成为共识吗我们相同技术相讲,MLA它本身就是MQA的一个增加的形式,所以说MLA其实本质上并没有带来新的东西,它只是一个更好的水道。大家其实没有发现的一点,就是如果大家想把MLA用好的话,它其实想达到相同的一个计算效果,它其实会增加更多的腾认的计算去弥补这方面的一个损失。所以说我个人认为就是MLA主要拿到的收益其实是可以被更好的这个GQA的这个。参数设计基本上是可以拿到绝大多数的收益的为什么DeepSeek没有继续引用MLA啊对因为MLA这样的一个转化形式因为DeepSickV4它后面主要推Sparth对Sparth跟MLA它其实不是一个百分之百兼容的东西尤其是在这个在prefail阶段对而且他们其实是用了这个MLA的等价的MQA形式因为从从数学上来讲MLA它本质上就是一个大号的MQA所以DeepSickV4用的是一个大号的MQA我觉得本质上区别不是很大的罗芬利当时是在VR Flash里面采取的是MTP我觉得MLA对Chat来说是一个优秀的模型结构但是他觉得不那么适合Asian的范式MLA在设计之初为了达到很好的仿存和计算的比例在当时的H系列芯片上实现其不浪费算力又打破仿存瓶颈是在这个架构下设计的若发现计算剩余的实在太多了他觉得MTP能够更有效的能够利用起来对这个其实是一个比较reasonable的一个点就是MLA在推理阶段他的计算其实是大大浪费掉的其实从他的计算是远大于他实际的这个建模能力的对所以说对于计算而言的话他这块是有一定的浪费罗弗利可能主要讨论点就是这种计算模式他跟MTP的收益他不是正教的甚至他可能是互相缓冲的因为MTP本质上就是用更多的token同时去计算这样一个条件下,然后逐渐往这个ComputeBunds的方向去推。所以说对于MLA和MTP的加速比会大大减小。我觉得它从来也没有是公式它只是一个选择OK但KCM起码还选择继续沿用的是MLAOK我觉得K3是reasonable的因为K2当时主要是followDeepSig他们当时的选择是先不做模型架构的创新先把结果跑出来对然后就是说然后如果从K2到K3的话这块我觉得对于一个从工程或者说从组织管理上能跑的东西就不要动就如果MLA它不是一个特别大的问题那可能就暂时不会动但我觉得未来也不一定我觉得这块它我觉得是一个比较暂态的一个状态当然了MLA也不是这个没有好处嘛所以说我觉得这个都快好点所以它是加强了MLOA的可控性对Gate它主要是提升MLOA本身的训练问题性这块跟MLOA是正交的就是任何处理探测其实都可以用的好的我们现在讲到2.2对吧对2.2就是Attention ResidualAttention Residual其实当时还挺火的但是其实如果从Follow Attention Residual这样的一个研究脉络来讲的话我反而会认为Hyper Connection我觉得是一个相当好的一个工作Heper Connection 是很早以前Seed 团队去提出的对这块主要讨论的就是在一个比较深度的模型当中的一个深层到浅层的一个连接方式如果我们再仔细去考虑问题的话因为它叫attention recision这个本质上跟ResNet其实都有一个比较深刻的一个连接关系RestNet它本身解决的就是这个模型能力在这个模型参入增长的情况下,它至少可以达到一个不退化的一个效果,包括从稳定性角度它其实也是对或者对它其实从无论是从模型的 [40:00] 在稳定性和模型能力上,RESNET本质上都会比之前的一些工作有本质性的提升,不过这个大家都很熟悉了。然后大家其实没有注意到的是,RESNET它其实是有两个版本的,它一个是CVPR的版本,然后一个是ICCV的版本。其实在RESNET那个时代,凯明就已经讨论过就是Pre-Learn-Norm和Post-Learn-Norm和训练稳定性的这样的一个关系了。然后这个其实也可以追溯到比如在BERT时代,就是BERT时代它其实不太大,大家还是会更常用PostLilernum大家在Bird时代会觉得PostLilernum它的结果可能会稍微好一些但是在模型增大的效果在模型逐渐增大的情况下大家会发现PostLilernum它有T度消失的问题或者说有训练不够稳定的问题所以大家后面就会逐渐的去采取Prelilernum对这样的一个残差连接的手段然后TensureCitual它其实之前苏建林讨论过这样的观点就是TensureCitual它绝对不是Prelernum到另外一个Lilernum摆放方式这样的话它其实这个风险是很大的因为它会有如果你一旦触及了Postelianorm之前的问题的话对,整个Dodrun大家肯定是不敢上的所以说TenryZero当时强调的就是它一定是PreliaNorm一个超级就是它至少是可以退化到PreliaNorm它严格的是比PreliaNorm更强的一个结果然后这块主要就是简单讨论一下,Residual这条研究线,这之前大概是怎么来的HIP Connection 我觉得这个工作是相当有意思的 其实我觉得无论是这个Tipsick后来做的改进也好和Citro也好本身都是从这盘工作来的 它主要讨论的一个点就是我们在PreliairNum的基础上如何去增加模型残杀的容量,从而去提升模型能力的一个表达能力。当然了,我之前也跟HyperConnection一座的同学交流过,我觉得这个工作本身从技术上还是很好的。但是他有一个最大的问题就是他paper写的太抽象了 不太容易读Hyper Connection我觉得本质上就可以说一句话我们在resigual的分支上去用比模型hidden state更大的一个容量然后来去表示模型在模型推理深度上的一个状态所以说如果我们有更大的容量它一定是有更好的一个效果的我觉得Hyper Connection它其实我觉得从思想上是相当简洁的但是这个paper可能相对复杂了一点所以说当时这个工作其实没有出圈可能只是一个比较对大家做架构或者说技术层面的一些同学去了解的MHC可能就比HC本身要活了很多当然我觉得最重要的原因还是当时MHC是DeepSigate的我觉得可能没有别的原因所以说在HyperConnection之后的话大家会尝试去从模型本身的一个连接方式来讲去提升模型的能力因为从HyperConnection包括Alternational Residual它一个比较好的点就是它对于推理来说基本是免费的就是说在模型的Inference阶段它其实几乎不会增加任何的推理开销它就可以拿到对更好的一个模型结果这个其实是大家这个喜闻乐见的对因为如果一旦涉及到对一旦涉及到我们通过更慢的一个实现也好更慢的模型架构设计也好取得模型更好的表片那这块就带来一个自然的随道就是我为什么不能去扩更大的size这样还简单一些所以说一切比如说通过更慢的模型实现的去提升模型效果的话其实都是会被fully questioned的或者甚至说对于一些保守的或者说不是自己提的可能大家就不愿意去用对于这种模型设计它可能在推理阶段是几乎免费的这样的话大家上的时候没有什么压力而且它其实是和这个模型参数本身的提倡它其实并不是一个中央的一个状态对然后hyperconnection最下维度的话其实还有一个比较绕不过的就是desnetdesnet这个是一个更早的一个工作了就是他是对他是黄高老师在那个resnet之后他其实是一个连接方式desnet其实和tennerresidual他其实在思想上一个是一个相当密切的一个方式对只不过在desnet时代他其实是因为residual他其实只是一个层和层之间的一个连接方式但desnet他其实是就是在深层要去看这个所有浅层的状态然后再把它聚合起来的这样的一个方式因为那个时代其实没有Etherment,或者说大家也没有过度重视Etherment本身的一个能力所以DeathNet里边主要是一个大的linear来去把之前所有的HiddenSight聚合到一起的然后到Atlanta时代去的话,其实Defnet它的实现本身是不快的因为它的中间对于连接方面的它会带来一些大量的额外的计算但是到了Atlanta时代的话,大家会发现我们可以把Defnet里边一些比较highweight的部件然后变成更lightweight的部件然后这样的话就诞生了altenture residual这样的一个工作altenture residual它最大的优势就是它其实比dansnet它是一个更对它其实一个更efficient的架口我们可以通过一些这个更深层色的infra code design对比如说用block attention的方式去捷偶掉这个模型的深度对因为如果只是全注意力的话它上层会跟底下所有层来去进行交互这个其实也是这个之前的 [45:00] 一个比较大的问题就是模型越深它这块的overhead其实越不够务略然后block attention的话在这块做了一个解偶所以说它整体一方面是tension它本身的计算比较lightweight然后第二方面就是它解偶的深度所以最后总的看起来它其实就一个比较灵巧但是一个能揭示的去提升模型能力这样的一个组件然后这块它们对这块可以看一些这个skilling的一个结果就block对block attention residual它因为它解偶的深度它是严格来说表达能力肯定是不如付tension residual好的但是这块大家Claim的点就是它其实并没有损失太多能力而且对于Maisline来说它是一个比较显著的一个状态然后Tenry C这块应该主要就是上一个技术paper里讲的,然后K3这块应该没有做太多特殊的处理。然后这块大概就是这样的一个情况。你刚才讲的这几个,你觉得哪个创新性是最强的?其实我更喜欢DASNAT和Kyber Connection拜拜因为DenseNet它是一个相当早的工作,因为在那个时代大家考虑连接的问题,我觉得本质上它在ReCitial考虑的问题,其实DenseNet都考虑到了,只不过当时没有Attention而已。然后HyperConnection的话,其实它相当于是在Transformer时代重新把这个东西带了回来,然后让大家在连接方式上重新去讨论如何有一个更强的连接方式,然后从而去提升模型的性能。我觉得后面的工作当然会有一些CodeDesign或者说有一些模型稳定性的问题,但我觉得大的框架其实是之前的工作已经定好了。OK然后M1应该是年初的,英伟达他们一个团队去提出的。我觉得这块,我觉得一个比较大的好处就是,包括大家如果熟悉DeepSyc v3的同学其实都知道,训练M1无论从模型的稳定性或者训练方式,包括从音范上,它其实就是一个很大的挑战的。然后最大的挑战就是MOE的AutoAu Dispatch,其实在EP的情况下,它的overhead是相当大的,也就是为了解决这个问题,然后我们不得不引入DPP这样一个比较高优化的通信库的方式,从而去降低AutoAu的这样的一个开销。包括其实不同的AutoAu的不公的MOE的设计架架方式,它不仅影响了模型架架本身,它甚至影响了底层不同的Infra的一些设计选行。这个之后后面会在这个Infra那块会做一个更多的讨论。但是Latant的MOE它其实本质上的东西就在于说我们是否可以把这个AutoAu Dispatch这块的开销来去减小。因为AutoAu Dispatch这块的话,我们需要把这个Hidden State分发到各个专家卡上,而且这个通信量它是会随着这个Expert激活的数量和这个。这个模型黑暗色的大小来去并行的去增长的对然后雷特的M1它的思想就是我们是否可以把这个把通信量减少的同时来去保持模型的这样的一个表达能力然后Litent MOE的方式就是我们把Dispatch的这样的一个Hidden State减小它可能减少2倍减少4倍这样的一个量当然了如果我们直接去减少它的Hidden Dimension它后面的模型的这个MOE的参数量可能就会随之增长为了去弥补这个Litent Dimension减小的一个参数量的话这样然后这里边就有两种方式第一种方式就是提升MFN Intermediate Dimension就是通过这个提升MFN本身的一个参数量然后把之前这样的那部分弥补回来这是一种方式另一种方式就是我们去进一步去把模型拆碎这样的话我们去用对我们去用更多的expert和更多的激活然后来去弥补这个这个参数量的这样的一个减少然后最后其实我们可以看起来当然在 Inveida这个paper里它其实结果是更好的其实总的来说就是一句话就是如果一个恰当设计的Latant MOE的一个configuration它其实是可以完全保持这个standard MOE的这样的一个结果的也就是说我们可以在这个模型能力完全相懂甚至还能好一点的一个context底下然后来去减少模型的这个latant减少模型的一个通信开枪而且通信开销其实是在训练和推理中是不一样的训练因为我们主要优化的是throughput我们可以用一些overlap的手段然后来去把通信这部分去弥补掉对于Inference Latency来讲尽管我们可以用一些手段来去掩盖通信开销但是这个时间它是避免不了的因为它整体是在这个critical path上嘛所以说就是对于模型推理的这个latency来说通信开销它还是一个相当不可忽略的一个点所以说其实从模型的这个efficiency上来讲这个推理的收益其实是比训练的收益要大的当然训练也有一定的收益所以说如果说Latant MOE不是一个trade off就是我们不需要去三十号牺牲模型的表达能力来去降低通信的话它其实还是一个free launch或者类似free launch的这样的一个结构对所以说KIMIK3其实是follow的这样的一个结构当然了在雷特达摩批之上的话还有一些比较细节的一个改进,然后针对这样的一个比较细节的改进呢,我们可以讨论一个比较经典的问题,就说起来也很简单,就是两个矩阵连程,这是一个非常非常基本的单元,就两个矩阵连程其实在模型表达能力上是推幼的,因为两个矩阵连程严格的是, [50:00] 是可以合编到一个的但是优化性质上其实并不是这样的就是两个矩阵连程经常会出现这个模型训练不稳定的问题所以说两个矩阵连程一般中间就会用一些这个搭配一些文明性的手段然后来去弥补这样的一个事情这个思想其实在这个MLA里也是出现过的因为MLA本质上也是就是先做一个low projection的投影然后再把它打回来它其实本质上也是两个linear连程的一个方式然后两个linear连程中间的话一般会采取一个normalization的一个方式然后把中间的hid state控制住从而提升模型整体训练的一个问题所以这2-long don't read就是很简单就是一般来说就是模型在模型架构的设计的当中如果你不得不把两个矩阵连程拆开来写而不适合背到一起的话然后这个思想其实在对一个是在MLA里有个设计然后其实这块的Latant MOE其实也是类似道理归根结底就是Latant MOE我是先把这个模型通过一个模型的Head State通过一个Linear Projection把它压到一个DV的状态然后我们再这个linear projection的基础上然后来去进行购买的一些计算然后当然了对于FFN来说第一个计算当然也是一个linear projection所以这块其实就会出现两个linear projection连成的情况所以这块我们需要一个RMSNOM来去控制它OK然后下边就是这个C2GLOU这个设计其实也是一个大家看起来可能对没有那么直观的一个东西然后这个东西其实也跟之前的一些设计是有关系的因为大家其实会发现对于大模型训练来说的话就FFN这块的MLP它其实中间的Heading Set是一个特别容易activation explode的这样的一个状态而且这个东西一个是跟优化器有关另一个就是跟模型的精度有关就在模型精度更低的情况下中间的这个Hidden State更容易出现Outline然后为了解决这个问题呢然后GPT OSS其实刚开始采用了一个特别简单的状态就是把最简单的Sviglue,就是没有邦迪的那块,直接通过一个Clip,然后控制,比如说我们设一个Clip的值,比如说5到10,然后我就把它Clip到这样的一个程度,这样的话就是可以从数据上比较严格的可以把这个它的上限控制住,然后Clip它是一个比较粗暴的状态,然后你如果把这个Hard Clip而变成soft clip,然后你就会比较自然得到tang-diteh这样的一个算子,因为tang-diteh它somo号就是一个soft clip,如果你指定一个下线指定的上级,它可以用一个比较平滑的方式,然后逼近你希望的一个设定上级,所以从这个角度上来讲,我就可以理解为一个clip的升级版,但升级版具体在模型的表达能力上有多大的影响,我觉得这个是而且这个肯定是需要这个具体的实验来去证明的,但whatever,我觉得soft clip它还是一个比较安全的一个做法,从swit glue开始,然后首先把一个比较自由的那个linear projection,然后改成了一个tangeta h bondi的一个状态,然后另一块的话就是switch,因为switchLU它前面就是一个linear的一个结果,然后再加一个swit glue的一个结果嘛,这个switch我们又可以拆成这个sigmoid和一个linear projection,当然这块它是一个共享位置的一个状态所以C2GEL相当于是你把我把所有这个中间可能出现unbounded的一个环节然后把它通过一个tangularh的上下界放缩然后来去bund住这样的话就可以把整个mlp中间的一个激活得到一个严格的数学上界然后这样会可以用于保持模型的训练委内心当然了这块我觉得可能还有一些别的concern比如说我们发现其实如果用命的话它其实是会更容易出现Altolair的你控制中间的激活值总不是一个比较错的一个现象当然如果我说命更容易来Altolair这个苏建林一定会反对他肯定会说对于任何优化器来说它都一定会出现Altolair因为你从模型架构上是控制不了的所以说如果想严格控制的方法它一定是直接从模型架构下手这门苏简单跟你观点不一样这个他没有说,但我猜到他会这么说。因为这个其实之前在Kimi K2的Mion Clip里也做过类似的考论,大家如果之前对Kimi K2或者Mion Lite,大家如果记得的话,当时就会说,因为用了没有油画器,所以QK Logics会更容易去爆炸。所以Mion Lite他们采用了一种对于QK的一个比较特化的处理方式,然后来去压制模型的Outlier。然后在那个时间点,大家就问嘛,说为什么?为什么我们之前用Adam训练的不效价这个东西,为什么之前的QTLogic都很稳就不需要额外的处理,但是Milk为什么要特殊处理?当然苏彦琳就是这么回复的,他就说从严格来说,Adam也不是完全稳定的,然后当时DivTikV3可能 somehow也有一些不稳定的现象,当然这个并没有影响模型最终的结果。他当时在对Milk的观点就是,如果说在Milk信念里有可能出现了一个sclow现象,他严格来说就是容易出现的,只不过你可能出现的早晚问题,所以说为了严格的限制这样这个模型的行为,还是从这个从模型架构本身去做限制是一个更本质的方案,他当时是这样一个观点。所以说这块他肯定也是这个相同的观点,就是我们为什么要做的?不直接在architect上做一些改变然后让它整体把邦地都限制住就完事了也不需要去纠结更复杂的优化的细节其实我觉得是一个道理,所以我觉得他应该还会这么说那又是对于K2的一个沿用对吧 [55:00] 对对对这块相比KR没有做太多的改进 没有当时比较严重的问题就是它其实控制不住这个对控制不住中间activation outlier 更早的一个版本它是更粗方吧它当时连VDK都没有价所以说这个Molite比较率先的就是把VDK这样的一个因素然后是首先引入到这个比较大规模的模型训练里然后这样的话其实在这个更长的run里边是可以保持的另外在KMK2,它就在wait decay的命运技术上额外额外搞了一个QK Clip的一个方式,其实这两个加起来是一个,对,就是Kimi团队在这个优化器上一个比较完整的工作。当然现在其实大家用Mule的方式比较多了,但是大家解决的方式不太一样。比如说你用MLA,你就没有办法去加QK GNOME,因为QK GNOME它是严格可以限制的QK这块的一个边界的嘛。所以说为了去适配MLA和Mule的一个结合,所以说当时Kimi K2引入了这个QK Clip这样的一个操作。当然大家可以注意到比如说DeepSake V4,然后包括Syp1那些,他们应该都是用了没有然后在命的基础上,因为他们又都是用的GQA,没有用MLP,所以直接用cocanom,它其实本质上是一个更简单的办法,就是尝试去控制命带来额外的outlier,outlier在cocanipal更容易出现的,它也一定会在MLP这块出现,相当于采取了不同的方式,cocanipal通过clip也好,normalization也好然后把它限制住,然后在底下MLP这块的话,大家会用一些比较更lightweight的手段,然后Kimi现在就是通过这个用设计的一个结果函数把它放得住大概就是这样的一个思想家然后Quantile Balancing的话,这个没有发什么论文,是苏建林在他自己的博客里去讲的然后Quantile Balancing的话,他主要是可以follow到就之前的这个Lost Free的routing的方式它主要的控制方法就是它只通过一个BIOS而不是通过一个偏整体的Loss控制方式来去解决模型Expert负载均衡的问题Dots loss free大家比较奇怪的一个问题就是它这样的一个BIOS的变量因为这个BIOS的变量它直接决定了每个Token它选哪些Expert但这个更新方式 somehow是有些Hawk的就是它采取了一个比较启发式的更新方案你要去做BIOS的更新然后这块的话一个问题就是它这个东西它其实没有一个比较严格的一个数学的一个收点比较惹令一个就是它其实容易和这个主模型的更新大家有个感觉就是可能没有那么这个偶合但这个形式还是本身还是可以work的对还不错的就是在整体work不错的情况下的话其实当时loss free有几个问题可能是没有完全解决的最主要的问题就是如果在使用loss free的时候呢大家可能会采取模型最底下几层一层或者三层然后都把m1去掉的一个方案对Lost Thread这样的一个控制方案对于底层的模型来说它做Work的不是很好正是Veluxpress没有做整体的扣定材所以它可能会采取一些别的方式然后去弥补模型在大规模训练中碰到的一些问题然后Quantial Balancing其实是主要是尝试用一个更Principal的一个思想然后来去解决模型推理的一个模型安模液负载稳定性这样的一个问题它本身Loss Free的update 方式它肯定是经过大量的调整之后得到一个还不错的方案所以它本质上也很简单,如果你某个专家的你进货的多了,然后就把BIOS往下砍一点如果每个进货的少了,就往上加一点,然后之前的Loss Free是一个比较启发式的方案去做对,然后这个Kimi团队呢,用更principle的一个方案,就是我们能不能直接通过一个这个限制的方式,直接推导出来就是这个BIAS,它应该是长什么样的,答案就是这个是可以被推出来的,而且推出来的具体的方式也跟之前的expert choice有一定的关系。本身就是一个让模型可以负债均衡的方案然后他博客里又写到了为了去避免信息泄漏也就是说我们不能让任意一个token然后来去获得其他token的一个信息所以说这个beta并不会在当前step使用而是会在下一步去使用然后这个是中间contail balance的这样的一个细节苏电林博克里其实就主要提到的一个优点就是首先它其实它不需要调参数因为loss free它是有一个list learning rate的一个更新的方式的这样的话它其实少了一个参数整体的看起来会更加principle一些然后第二个优点就是它其实对于负载均衡balance它其实是一个更优的一个能力然后它这块的博客就会贴出一个图对于第一层而言就因为我其实我刚刚也提到为了这个兼容这个modelLoss-free balance之前大家会把前几层搞成Dance不用MOE这样的方法然后把去把这个东西去规避掉然后如果说对于这种QB这种方式的话其实就没有必要去规避这样的一个问题了其实它其实就可以直接把第一层变得Balance这个其实可以发现前底层用Dance它其实是一个对它其实并不是一个groundshows上一定要去这么去做的一个方法 [60:00] 而是它其实在Loss Free的这样的一框材底下不得不去采用的一个方式其实如果你不采用Loss Free你直接就采用加辅助Loss的方案比如说千万Moy的工作它其实就是采用直接求Loss的方案对第一层也会没有问题所以说这块的话它主要就是可以处理到之前Loss Free一些比较失效的一些情况当然了他伯克里也提到如果本来S3SJD就比较Work的情况下QB它也是比较Work的而且他伯克里也可以证明有比较正常的情况它其实是可以推出来说如果我们不采用这个直接去均衡而去采用一些梯度更新的方案的话它其实是可以和Loss Free做到一个相当等价的数学形式然后这块其实还有一个细节是之前的伯克里没有去提及的简单来说就是我们为了去在整个一个bash也因为现在大家大猛行训练一个bash会特别大比如说4million可能都会比较小可能到几十million这样的一个量级就特别需要在几十million的token之间恰讨取到在一个比例的位数也就是说如果对于一个精确的计算的话我们需要把所有token的所有token的激活情况都存下来其实这个是相当heavy的然后当时在博客里提出了一个方案他采取的方案是每个GPU都去做一个local的分位数计算然后再把不同GPU的分位数计算也不一定是不同GPU了反正就是你得把一个大的batch切碎然后在一个小的batch里然后去求分位数然后这个分位数最后再做一个pooling然后KiminK3这个paper其实是有一些不太一样的一个变化它并不是按token去切chunk的,当然也有可能是我理解错的它其实是对这个模型的在直语切一个chunk也就是说比如说对于SIGMOID的介绍而言,它一定是0到1之间的所以说我们就可以在0到1或者说-1到1这样的一个趋向范围内,然后切成n个桶,然后在这个桶里边去进行histogram的一个统计,然后这样的一个统计值,这样的话它有个好处,它可以是一个常数量长数的存储大小的一个就可以做的一个计算而且它的计算代价会比较补速的时间要高效很多而且它可以比较好的去处理在大规模的BPEP的这样的一个分布式的架构底下是一个比较容易扩展的一个状态然后这个其实是相当于K3后来放出来之前在博客里没有去详细讨论的一个技术这个是其实对QB的一个比较必要的一个实验方式规格解体就是奶油的实验它基本上是不可行的所以必须用一些比如公式上可行的方式去把这个比较精确的解答出来然后到2.4了那因为这Vision这块其实没啥好说的它主要讨论的一个点就是是否有必要就用一个已有的Vision Encoder去做这个VITVision Encoder的一个数字化用已有的VIT的话当然它用已有的Vision Encoder比如说用Sigleaf 2这样也比较大规模训练的一个Vision Encoder它的好处就是它你熟练的会比较快但是这个Kimik3他中间讨论的一个问题就是如果说直接用这个Signalip Initialize的话它的这个模型的不稳定性会比直接NativeTrain它是要来的大的也不一定是模型不稳定性的因为不稳定它是一个比较相对甚至它不是一个严格被定义的东西只是大家可能会一般会去看GradientNorm这样的一个分布然后中间有一些东西是大家比较concern的比如说它的坚持多不多然后甚至说它本身Norm大不大这个团队会发现如果说我们直接FrontScrash训练可能会多用一些算力就是它的最后的结果它是不会有损的如果我们经过恰巧的训练它不会带来更差的结果甚至可能会带来差不多甚至更好的结果对第二个它主要可能有点就是原模型会带来一个更好的兼容性那就会体现在这个gradient的norm会更加稳定我觉得其实可能有一个类似的观察就是CGLEAP它其实是用ADAM来去训练的之前大家其实也讨论过一个比较相关的话题就是用ADAM训练的模型是否能用没有去反定然后反过来用没有去训练的模型可以使用animal去版定当然最后的结论就是肯定是比较原生的方式它肯定是最好的当然用别的方式的话如果想达到一样好可能就得做一些处理或者说它是有一些限制所以说可能对于这个KIMI K3而言,他们是希望去采用一个全M用的一个优化方式,这样的话对于模型整体的这个训练的这个稳定性也好,它的兼容性也好,是一个更优的状态。说到这里我们倒会去讲一下最早那个线性注意力机制的问题吧为什么K3它用的是纯线性注意力机制它没有用任何的spot attention就是线性注意力全注意力和这个Sparse的Tension你可以3选1和3选2就是为什么不用Sparse的Tension我们就会带来一个点为什么要用用了会有什么好处或者说会有什么问题这个其实一方面是跟模型架构有关另一方面其实也跟这个模型它每代这个这个GPU硬件的Fature有关比如说这个DeepSick 3.2那种,DeepSick Sparse一个是这个3.2用的,一个是那个GLM5,也用了DeepSick Sparse这样一个架构。DeepSick Sparse其实到最后在Decode里边其实加速是特别特别小的,原因就在于说,就Sparse求Index这一步它是相当昂贵的,而且在Blackwell的硬件的情况下,越先进的硬件它其实这个overhead是越大的,甚至其实在Decode当中,这种Sphart attention的一个方案,它其实甚至呢,跟这个 [65:00] Botention并不会带来一个显著的加速。为了解决这个问题的话,当时GLM团队做了一个工作叫Index Cache,他当时的做法就是把这个球解index就是球解哪一部分哪些token需要算了才是这样的一个竞争操作然后把不同层之间共享了起来就比如说每四层每八层然后做一个共享只要用这样的方法它其实才可以比较有效的去减小这个Sparse本身带来的开销只有Sparse Attention本身开销足够小的情况下其实才能带来一些比较可观的一个算法的上的一个手艺然后Sparse Attention这块我们也做了一些相关的东西也大概是一个类似的结论当然我们做的更极端了我们在优客的价格上直接去Library Sparse Attention的话因为我们之前的KBcache是once的,所以我们当时采取的方案是直接把Sparse Intex这部也做成once,也就是说我们把每层的Intex开销直接分摊到所有层上,这样的话其实那个开销就会特别特别小,这样的话我们才能吃到Sparse Tension本身的一个计算收益。对,然后我们再回到KBK3,为什么它不去采用?第一个就是我们认为说,就是每层都用Sparse Tension这样一个比较简易的方案,它其实在BlackWire上它的收益是特别特别小的。把多层的Sparse的一个结果然后来去跨层来进行复用然后跨层的方式呢其实比较简单的方式就是相邻的层去跨然后相应的层去跨层的话其实对于hybrid的程序就对于线性注意力和全注意力这样interleave的方式的话它其实并不是一个显然的,因为对于这种hybrid attention,对它不同负 attention,它并不是挨着的,它每个负 attention中间,它其实隔了很多个现役注意力的,所以说在隔很多层现役注意力的情况下,就是这种index share是否有效。加速比是否足够高,这个其实是相当快思想的然后其实还有一个问题就是Sparker retention它基本上是没有办法进行from scratch训练的Sparker retention大家现在一般采用的都是post train然后从负尔腾认进行转化的一个方式不排除KBK3可能未来会把已有的负尔腾认的部分然后来去进行这Sparter 吞噬转化当然如果他们用来MLA的话这个会更难一些所以说我觉得主要就两个原因,一个是想拿到实际加速比,其实对于这个Hybrid Tenshin来说是一个non-triple的东西,如果想拿实际加速比的话可能需要做更多的事情,第二个事情就是它跟Pretrain它并不是一个比较兼容的状态,所以说这个其实留一个接口之后再做也行。我刚才讲的这些不管是架构创建还是训练还是推理工程你觉得它中间有哪些trade off你有哪些许设我觉得hypertension它主要的trait off就是你要去调节这个现录励和全录役率的比例嘛,就你肯定比例越大,就是附的现录励比例越大,它肯定加速比较高嘛,但是如果你想达到一个偏无损的一个加速状态,一个比较无损的状态的同时想获得加速,3:1实验上是一个比较work的方案对这块其实就是一个主要的一个trait off它严格来说它肯定大个率是不会带来更前的表达能力的所以这块其实就是另一回事它其实跟hybrid的架构它其实是另一条线的只不过说如果如果你坚持不用hybrid那你可能就不得不采取一些别的方案我听到这里的感受是就是现在的模型训练好像没有一个巨大的所谓的范式创新但是他把之前很多的工作都融合起来然后再寻找一个可能的更有解我不知道这种感受对不对对我觉得其实问题不大我觉得不完全是技术的原因是为什么的就是因为大家现在都叫传送门但什么是传送门这个其实是其实是没有办法清晰定义的这个学校上还有个对应的概念就是泰修斯之船就是你刚开始的2017年这个船刚开始行驶的时候是川斯佛门但是这个船刚开始是怎么拼起来的它是Attention加Residual这些东西或者说对这些东西拼起来包括Stack Layer这种方式它其实在Transformer之前它其实也并不是一个全新的概念所以说这个船刚建起来的时候我们认为Transformer是个Miles Stone但是这个船已经行驶了8年9年了在这个船慢慢行驶的过程中我们可能会把慢慢的把某些部分换了某些部分换了然后其实我们现在看到2026年其实跟Transformer已经你是否还把这个东西叫做传统文当然这个是哲学上的一个问题但是其实从现在大家来看的话大家还是会叫但是我觉得如果说历史的走向如果有些不同的变化的话可能也就不叫了我们上面讲的这些你觉得总体来说是一个什么样的工作我觉得这个东西很难定义,因为首先它是一个偏综合性的工作,它严格来说,一般大家会把比较有创业性的单点突破会专门拿出来去做讨论。其实之前也考虑过,也之前也专门讨论过来。然后中间其实比较大的就几点。第一个就是注意力怎么设计,这个是一个点。第二个就是M1这块,有没有一些更好的设计。第三个是优化器,然后第四个可能就是中间的一些连接方式。Rossnet时代其实这些单拿出来它可能就是一个架构的对对我觉得在Rossnet时代它肯定是这样的就但是其实在Transformer的时代它可能并不是这样的但是 [70:00] 你可能你把这个东西综合起来它可能你最后再把它跑出来它才有意义因为之前大家做架构比如说大家在这个ImageNet上跑这个足够高的它其实就是一个Miles Stone但是大家在这个时代你想把这个实际的东西跑出来你的要做的东西就特别特别多了你得做这个Skilling的验证然后你得把这个各个工程东西搞定你得把Data搞定把这些东西都搞定然后你把这个Paper或者说你把这个架构迈出来大家才会白印当然我就从研究方面我觉得我Personally我是不会太去关注的因为我觉得架构的验状我觉得是有严格的标准的或者说不需要把这些东西卡不来一起但是我觉得从非技术角度它现在是一个这样的状态所以上面是拼命这篇论文的一些亮点的突破对吧然后接下来还开始讲他的预训练和后训练的工作对我觉得架构方面相比于K2至少不一样也不一定叫创新有些叫创新有些比较偏调调的部分我觉得还是比之前大不一样的你为什么K2到K3变化这么大我觉得是个战略的问题其实K2在那个时间点他们也可以不一样只不过他们当时主要的重心是把模型跑出来所以在K2到K3这个中心他们有更多的时间去做了很多的优化调整我觉得主要是K2它本身是做得不错的包括K2大家可当时他们主要考虑的问题比如说怎么把面评论出来的有效的把模型skill上去,因为当时K2就是1 trillion,当时1 trillion的话还是比之前的,比如说比Deep Seek V3还是要大一些的,其实在那个时间应该也是一个比较相当大的一个模型的嘛,所以当时他们解决的是这样的一个问题,先把这个,先把Base Model整体的一个这个Priple Line做稳,而在这个稳的基础上的话,然后后来这个K3,然后再去追求一些这个更因求精的一个优化。你从上面的这些亮点工作就是这是最后的结果吗你反推你能看出这个团队的整体的状态是什么样的我觉得看怎么去定义对于不同团队定义是不一样的如果只是KIMI的这个架构团队或者是一训练团队我觉得没什么变化我觉得一直就是一个样但是对于整体公司而言还是有这个战略性的侧重的我觉得四重点就是K2当时QB的团队主要的诉求还是把这个Base Model这个东西做稳就是先把能力做出来结合然后先不去考虑这个更高的Efficiency也好更精益求精的创新也好当然了他们团队内部内部是一直在做的只不过你看是你什么时候这个量出来就是研究工作是一个更长期的工作他可能要看放在哪个模型里跟他一起结合对对对好的,那接下来我们是预示那个?对,接下来后面其实就是一些对因为Pretrain和Postrain的话,首先Postrain它是一个偏工程或者说偏具体的场景的一个东西,这块可能就会不会讲太多,因为它也没有写太多。然后Pretrain和Postrain的话,我觉得主要是一些经验性或者说一些knowhow的东西,主要创新可能也是前面多一些。对然后中间会有一些比较我觉得比较有意思可以讨论的点我觉得可以会我会专门拿出来去讨论后面主要的风格会是这样的的然后我们就一个一个来Skin in the law的话我觉得一个比较值得讨论的一眼就是用哪样的这个Learning Weight的策略因为Learning Weight的策略的话其实刚开始就是Mini CPM当时那个Paper提出的WSDMini CPM之后对吧QM3之前我觉得几乎可能所有团队都会都在用的WSD的一个优化器因为这个这样的一个优化器我们可以去学习Mini CPM当时他们是怎么去考虑这个问题简单来说就是WC考虑的一个问题就是如果我们如何能把这个data schedule和learning schedule结合起来首先Mini CFM刚开始讨论的问题就是WSD然后和Costent Decay是可以取得一个比较相近的结果比如说我们从一个更高的学习率到一个更低的学习率中间怎么去调配它对最后的结果其实影响是没有那么大的所以在这种情况下,mini CPM的团队工作的认为,中间具体的DK的方式对结果不是影响特别大的,既然具体DK的方式对于最后的结果影响没有那么大然后这块我们就可以跟DataPython一些联动的方案因为在实际训练中我们还是会发现包括在这个图里我们可以看到就是在DK阶段的话这个模型Loss的这个衰减速度还是比大的学习率稳步去跑它的LearnEvator的Loss的下降速度还是会大很多的所以说之前大家会认为Coldown这个阶段它其实是模型学习最快的一个阶段所以说Mini CFM当时采用的策略就是既然Coldown这个阶段我们为什么不把更多的更好的数据,然后去放在这个空档这个阶段,然后来去做训练。这样的话可能会取得比所有data均匀分布,然后所有delearn rate schedule也均匀分布,然后可以取得一个更好的效果。然后这个是当时这个mini cpm 包括WSD提出的这样的一个背景我觉得这个还是挺有意思的 我觉得一方面的话他讨论了一个non-travel的问题就是为什么我们要采取不同的这个learn rate decay的方式然后learn rate decay 一个是为什么要这么去做的吧 另一个就是他就 decay的不同阶段他具体承担什么样的一个raw然后他们利用这个不同learn rate decay阶段的一个行为 然后跟这个data的具体的策略 然后来去结合这样最后可以取得 [75:00] 更好的一个结果KMIK3这块他们讨论了一个不太一样的事情就是他们为什么不去用WSD的结果这个其实在WSD之后的一些paper里,也是可以去讨论到的因为WSD它除了这个可以用更好的data schedule它还有一个额外的好处就是就因为前面的learning rate它其实是不变化的既然它不去变化就是它跟你整体要训练的flops和token量是无关的因为它是无关的所以说我们可以更自由的去在这个模型训练的过程中去选取我们最后实际的config比如说我们刚开始可能预定的是要跑实际token但如果我们跑了实际token比如说这个训练策略改变了或者说公司的策略改变了或者说我们要更早的发版或者更晚发版然后WST这样的一个优化器呢我们就可以更自由的在中间来进行切换而不用在刚开始就把整个模型要讯的token量定死对,然后这个它其实是这样的一个好处,但是它其实带来的一个问题没有讨论就是我们虽然可以去任意的去选择你实际要跑的token数但是你实际的LearnedWit是和你要跑的token数是有关系的比如说你要设六一夫四,六一夫四作为一个比较稳定的一个schedule你跑10T可能6亿伏斯是最优的,你跑20T可能就是3亿伏斯是最优的,所以说从最优的角度考虑,任意去扩展偷克的时候,它可能并没有大家想的那么有效,然后这块这个KIMI K3的这个paper其实就讨论这个问题就是说 民意就WSD它实际的schedule它的调节的难度其实和VTK是一样的,而且它并不一定好去调整,任意去选取最后训练的token量,这个事情也不一定只有WSD才能做到,我们其实用别的方式也是可以做到的。这个PayPalette可以写到这些原因,其实他们可以选择一个更简单的方案,然后Consent Decay它的方案就是它其实更好调。就它只有两个变量一个就是你要跑多少token然后你要一个就是你的那个maximal learning rate具体是多少但是你如果wst的话它就其实就会多一个变量就是你要decay的这个比例具体是多少所以说从调三的角度来讲的话cocent decay是一个更容易去调三的一个方案所以说kimi k3他们在paper里就写到如果说他们是因为这个发现cocent decay它是更好的去能找到一个hyper parameter setting的话他们最后会采取一些Learn it decay的方式了而且这个其实是大家都用WSD的情况下一个不太一样的才听然后一个是基于一个不太一样的Lenrate schedule的策略然后当然了Keymington对比了从K2到K3然后整体的一个scaling efficiency首先K3比K2大了很多 从1T左右到了2.8T 总参数就是从1T到2.8T大了不到三倍吧然后激活量是从32.6B到1.04B,它其实是比3倍要更多的,其实从模型参数上毫无疑问,是比KMK2强很多的一个模型,然后中间它有一些别的一些config,当然这个主要是上面表的一个总结,最后他们团队给出了一个Skilling Load这样的一个结果,K3比K2最后的在Skilling Efficiency上是2.5倍的这样一个量,但是它从对于一个简单的DAS model,它的Skilling Efficiency是一个比较经典讨论的问题,它之前很多OpenAI的Skilling Efficiency,Skilling Lab,Skilling Lab,Skilling Lab,包括一些比较新的Skilling Lab,其实都讨论过这样的一个问题。当然这块其实比较注意的一点,就是大家其实也问过,说就是KMK2K3的这样的一个Skilling Behavior,是不是固定Data的?我记得他们的回答是应该不是,而Paper的意义应该没有直接写是不是,当然也可以理解,K3K2它用的Data肯定不可能是一样的嘛,所以我觉得这块大概的应该是有一个不一样的Data Recipe,这个整体的Skilling Efficient,它其实一个是综合了一个模型架构,也综合了一个模型的Recipe,Chain Recipe,然后再叠加上这个模型的这个数据特定之后总的一个结果然后总的结果作为一个大的一个综合的一个结果是比这个K2的要高了很多的OK然后接下来是这个长上晒文长上晒文的话DVK3是一个原生去支持E1MLE长上晒文的一个模型然后这块其实比较有意思的点就是位置编码如何去选取我们从刚开始比较传统的这个Transformer的架构来去做的话大家都会用Rope来去做位置编码但是如果用Rope的话它在这个长文扩展的时候它有个问题就是Rope的这个具体的一个参数是需要做调整的如果不做调整的话那么有效然后这个其实是肉苦时代大家一个经典的做法当然说如果现在如果你还是用一个全注意力或者说如果你不引入线性注意力的话这个策略不会有太大的改变也就是说你还是得去在不同的长度的setting来说来去调节不同ROPE的参数但是这个事情在这个混合模型里是可以改变的最早是这个Coreware团队的一个工作主要讲了这样的一个因素 [80:00] 他们的结论也很简单简单来说就是因为这个hybrid tension排布方式对于LinearTension来说它已经引入了这样的一个位置信息无论说你用Rope也好Rope加Slanding Window也好LinearTension也好就是在线性注意力的这样的一个阶段其实位置信息是已经被引入到的所以说如果在这个Setting下就是在HybridAttention的Setting下如果我们可以把ForeTension从Rope改成Nope也就是说在全注意力的情况下把位置编码去掉它其实是可以带来一个更好一个是可以带来更好的一个模型的表现是更容易扩展的也就是说Nope它是在模型扩敞的情况下不需要调整任何模型架构的参数就可以达到一个长沙沙文的这样的一个效果这个效果无疑是很优雅的因为我们会觉得模型架构的参数选择当然是跟具体的长度是没有关系的也没有任何的理论去支持说我们具体我们为什么要去不同的长度recipe下然后来去采取不一样的参数然后这种架构其实就可以有效的避免了这一点一个是刚开始我比较早的看到,然后可能看到第二天我就去浮现了一下,因为我当时看到就觉得特别有道理,然后我第二天浮现了一下,然后也很work,我当然觉得这个肯定在混合注意力的一个里边比较好的一个方式。对,我在会议里边还审道了一篇文章,当时我直接给了一个strong accept,我感觉我这几年可能都没有给过几个strong accept,因为我觉得这个确实是一个很有效,也是一个很优雅的解决方案。本质上它带来的是这个recency bias就是ROPE work最有限的点就是对它对short context的这个建模能力是特别有效的但是它其实对常文来说是没有帮助的甚至是有负面影响的对于某一些舆论观点会认为是肉朴在引入了常文的表现这个其实是错误的肉朴它并不带来任何的常文能力它甚至是损害常文能力所以说KiminK3会把肉朴在长上海门的富河腾圣这块直接下掉然后直接下到之后就会一个是如果你直接侧外推,直接侧外推它都会好很多如果用ROPE的话,你扩长度你需要调参数,如果你调了参数你不去训练,它那个结果其实是很差的所以说如果有动物你不用调参数,它的外推效果也很好,然后长沙海文的这个效果也没有任何问题,甚至还要更好,它其实是一个混合注意力的一个Condust,是一个相当优美的解决方案,所以说这个KIMI-K3也用了这样的一个解决方案。然后post training的话首先其实可以讨论的一个问题就是低阶段这个训练应该在什么阶段去引入然后这个其实大家采取的策略是不太一样的就比如说DeepTek V3他们是刚开始是原刹F8来去训练的然后DeepSick V4他们就直接用W4 A8来去做延伸训练的但是KIMI这块采取的策略不太一样他们是首先用高精度去训练然后在SFT阶段然后再把低精度的QAT引入进来的这样至少我就有两点折的讨论第一个就是从项目而言就抛开技术角度从整个项目的管理而言大规模的训练才会去更高精度肯定是一个更保险的方案因为它无论如何也不会错如果用高精度训练在大规模的Skilling中带来了其他问题的话而且这个东西更大规模的信念是很难就是提前被充分验证的特别精确的我觉得第一点就是从项目管理的角度的一个优势第二个就是从技术角度对吧我们是否有必要从刚开始就用低精度去念起码从我的时间而言应该也是没有必要的然后Kimi可能他们发现也是没有必要的也就是说对于低进度推力而言本身就是从from scratch刚开始就引入并不会带来任何模型能力的一个提升也就是说你WC18你在什么时候引入只要你过了一定量的训练它最后的结果可能都差不多所以在SFT阶段引入是一个更保险然后在技术上也不会带来额外损失的一个方式对然后RL这块的话因为RL其实也是对因为Kimi刚开始他其实对RL这块是一个因为他们其实从很早以前就比较重视RL这块所以说从KMI K1.5到K2.5他们其实一直在做一些比较持续的创新然后其实在K3这边也会比较充分的引入进来然后这些其实都是一些比较成熟的一些方案了这块就不太展开去讨论了然后4.1.3的话这块可以讨论一下OPTOPT刚开始也是董老师团队这边比较早去讨论的一个方式就是艳演员院的对然后B.ROM这个是郁贤做的郁贤去年也是清华特奖这个是他在董老师在艳演员院这边去做的然后其实OPT从刚开始就刚开始大家用起来和其实和后面大家实际在工程中用的方式不太一样,这个其实可以讨论一下就是OP刚开始的Motivation是什么?后来大家又是怎么做的?当时OP讨论的contest是蒸馏,蒸馏有两种,一个是黑盒蒸馏,黑盒蒸馏就是大家现在比较采取的方式,拿一个API,然后我们不知道模型内部的状态,我们也拿不到这个模型推理的logit,对于外界来说,这个模型它完全只是一个黑盒,我们只能拿到它的输入和输出,然后这个叫黑盒蒸馏。 [85:00] 然后白合蒸馏的话就是另一种蒸馏方式我们可以获取到这个模型本身然后我们也可以任意的去拿到这个模型推理的过程中我们想得到的任何的一个状态然后在这个场景下我们如何去做这个蒸馏然后我们是否可以再基于比黑合蒸馏更好的一个表现然后mini-LM当时采取方式就是反其他而行之,因为之前大家采取的方案就是让模型,让teater去生成答案,然后再把这个生成答案用sft的,用forwardkd的方式把它引入到student的模型里,然后mini-LM是反过来做的,也就是让学生去生成答案,然后让teater做一个美部的一个纠正,然后直观来讲的话其实就两种,一个是老师讲课,然后你把这个老师讲课的结果学进来,然后第二个就是你自己去做答案,自己去做题,自己去写中间推理过程,然后老师会把你中间推理哪里做的不对,然后给你指出来,然后告诉你怎么去做,这个叫reverse-scale,然后reverse-scale的话,后来Cinting Machine Lab另一个名字,就叫on policy distillation大家会意识到这个是一个比较有效的一个从蒸馏的角度是一个比较有效的方式就是说从我们不直接去学习模型的答案而是在student自己的推理过程中让教师模型逐步的去verify或者说去纠正学生模型的这样的一个推理的方式然后这个范式刚开始其实是为了这个蒸馏来去使用的无论是你做白盒的一些实验性的时候包括说从公司的角度你可以有一个Pro的版本可以有个Flash的版本然后Flash的版本你可以用OPD的方式然后来去蒸馏更大的模型的这样的一个结果然后从而去获得这个更好的一个表现你如果from scratch训练一个Flash的模型你可以比这个Flash的模型获得一个更好的表现从而在这个比较比较便宜的模型这档然后获得一个更好的竞争力这个是这个OPT刚开始的一个motivation但是其实后来大家更常用的一个方式不是去做蒸馏原因在于其实原因在于如果你想做蒸馏的话你至少得有一个大模型然后你再去训练一个小模型如果你自己训练自己的模型而言但如果说你想去蒸馏这个比如说蒸馏一些黑盒的模型这套方案是完全不可用的从公司或者说从这个项目策略上来讲如果我们不去基于一个大模型然后来去训练一个更快更小的一个小模型的话因为现在大家都不是这个setting大家都一般都是这个搞一个旗舰模型然后就完事了然后来去它作为inference服务然后在这个场景下的话就不存在大到小蒸馏的这样的一个行为了然后大家逐渐去采用的蒸馏的方式就是自己蒸馏自己然后为什么要自己蒸馏自己呢我觉得也我觉得还是两部分一个是非技术层面的一个是技术层面的我觉得从非技术层面的原因的话我觉得这个技术可以让这个整个这个post train team的管理也变得更加简单比如post train核板它其实是一个比较highway的一个东西因为Postrain它跟Postrain不一样Postrain我只要把数据合起来然后一块去干就完事了但大家一般Postrain的话会用一些更复杂或者一些更先进的一些训练策略而且这些策略可能会不太容易训练场可能会如果再直接去做核板的话可能会有一些难度所以说基于项目管理策略的话Unpolicy Distribution它其实就是一个比较好的策略能把整个Postrain的team的管理变得简化一些然后从技术角度的话比如说大家训RL它一般有不同的策略比如说你训Math然后如果你有些preference的一些需求你可能就会有一些reward model来去做然后如果你再想扩展这个RL别的能力你可能每个能力对于RL来说它的reward它都是一个独特的reward然后你如果想把所有的模型的所有的能力都搞到一块因为PostStream一般大家都会专项突破然后你想把直接专项模型的不同的reward直接拿进来一朝汇它其实是比properation的难度要大的我也不是说完全不可能还是有可能的但是OPD的话它就会变得很简单我们可以把不同的reward model或者说不同的RL范式然后简化成不同的模型然后简化成不同的模型这个事情就容易很多了因为对于RL策略或者说对于data来说它是一个高度移构的一个状态是一个高度统括的状态因为现在我们也不会为了不同的任务去专门设计不同的模型架构如果模型都长这样的话我们再做一个Multi-T-shirt的一个河板这个就会容易很多不过这个也不是K3首先去用的这个是一个大家现在比较wide-accepted的一个做法我印象的应该小米GLM应该大家现在都是这么去做的对 然后qualization刚刚讲过了然后draft model这块其实我觉得还是挺有意思的这块还是可以额外去有一些很延伸的工作的因为我觉得这块K3目前优化的不是很完善之前小米他们推出了一个能达到1000TPS的一个方案那个主要是用了两个技术一个就是太奥量团队可以高度融合不同阶段的一个算子然后这样的话其实它可以获得比传统的VLM推理方式强很多的这样的一个推理效率然后那个可能达到三四百TPS然后小米是基于太阳量团队的一个结果然后再加上基于太阳而退的一个结果然后再加上DFLASH这个投机推理带来的额外的加速比最后能带来一个 [90:00] 比原模型强很多的一个强很多的这样的一个推理速度然后这个其实主要的服务是对于一些成本可以付出更高的成本但是想拿到更强的一个推理速度的这一波用户去做的因为它本质上如果说你是为了整体的throughput的服务的话这个其实它的收益会小很多但是如果你是小bash size但是大的throughput的这套方案是会强很多的然后这样的话就是刨开Tile RT那方面的贡献然后最后就落到了如何去做更好的MTP或者说做更好的Draft Model优优独播剧场——YoYo Television Series Exclusive然后这块的话有一些有力气脉露的工作然后刚开始就是Ego3和MTPEgo3和MTP它其实它主要的方法就是因为刚开始Speculative Decoding提出的时候大家还是用一个没有关系的小模型然后来去Speculative比较大的模型然后这样的话它其实有一个问题就是你无法充分的去利用大模型中单的一些Hidden State如果说你可以利用大模型中间的Hidden-C的话你其实就可以把小模型做得更小或者说你在相同的参数底下然后你的接触率做得更高最后可以带来总的更强的一个推理效率然后MTP和Ego3然后它其实都是这样的一个思想当然MTP如果从from scratch的话它还有一些别的好处然后Difflash的话它其实会更有意思一些对因为它联系了传统的Language Model和训练比较火的Difflash Model这两条脉络然后通过Difflash这条线结合了起来对因为Difflash Model刚开始提出的时候这个大家主要的claim就是Difflash Model在这个单用户或者说Batch Size比较小的情况下可以获得比这个可以获得比传统的Language Model一个推理效率对但是deferred language model之前最大有两个问题第一个问题就是他如果from scratch他的训练的训练效率不够高他的整体的结果很难和传统的AR的language model想去PD 第二个问题就是他只能打throughput就是它只能打小batch size的throughput但是如果是多用户最后追求总的throughput的一个场景它其实Deflash当时主要统一了这样者试图去利用Deflash更快的一个推理方式然后进一步去优化MTP或者Draft Model这块的一个加速比最后可以得到一个更优的总的一个单用户的throughput当然了就是MTP这块其实是之前我跟陈俊就是Dflash那个同学也交流过他倒是提了一个点是对于整个模型是很重要的即使我们用Dflash这种更先进的Draft Model的策略它跟预训练的关系仍然是很大的也就是说对于Draft Model来说我们它是需要利用这个大模型的一定的这个推理能力的基础上然后再去使用Draft Model进一步的去扩大也就是说对于MTP来说MTP是需要给MTP提供一个接口,然后这个接口会对下游的Draft Model的提升会特别王主,这部分其实是需要在这个Draft Model的阶段就引入的当然了Draft Model也是需要做一些自己特化的处理的,比如说我们可以用一个KL loss 然后来去替代比较传统的NAS token prediction的auth这样的话,我可以在原model verify的过程中,它可以对的更齐这样的话可以进一步去提升Draft model接收的一个效率对这块,我觉得之后还会有一些更深层次的工作,我猜哈,因为这个肯定不是对于MTP的一个重点然后Homer RL task的话,它是一个比较specific,对于不同的任务来说,它有不同的具体的一些策略,我觉得这块的话只要看原文就好了然后接下来的一大块就是InfraInfra这块的话首先现在其实对于模型架构的设计来说关键的设计它是需要和Infra进行一些co-design的一个是Code Design,然后一个就是模型架构本身它会影响整体的Infra Trusher它本身的一个设计,然后这块包括跟DeepSick这一系列的Infra它是有一些设计上的区别的,这块我觉得也是一个比较有意思的一个点。的一个效率然后这块其实多的一个点就是KDA的这个CPKDA的CP是一个我觉得这个LinearTenship的CP其实是一个可以简单讨论一下的一个点因为比如说对于SlideWinnow或者说对于ForeTenship而言其实CP它其实从概念上是相当容易的因为比如说你对于ForeTenship来说比如说现在有些比较经典的算法比如说你可以用RainTenship或者说用ZegazagTenship因为Tenship它本身的这个计算模式是够简单的而且它很多地方是省不了的我至少会得把这个跨GPU的所有的KP cache都拿到一个GPU上然后来去做计算我觉得这块是一个相对来说比较简单的一个概念但是对于Linear Tension的CPU而言它的概念其实是一个更复杂的然后这个大的框架其实我们还是可以回到最经典的一个chunkwise recurrent就chunkwise recurrent首先我们都同意说chunkwise recurrent对于linear tangent来说是一个必备的算法然后对于一个正常的单机的一个 [95:00] 不开CP的一个训练场景来说Chunk Recon它其实就是两部分一个就是你可以拆成比如说比较小的16Tile或者64Tile的一个Chunk然后Chunk之间然后使用这个Dgrade的方式去计算然后Chunk内部的话可以用一些比较Parallel的方式去计算然后KDA也是这么做的然后KDA的那个Decade限制主要是解决这个Chunk内部的一个可以用Parallel计算的一些高效性然后这样的话其实对于单机的这个Linear Attraction来说就是一个Chunk内部用并行的方式去计算用串行的方式去计算这样的一个计算的Python但是呢对于CP来说我们就需要讨论它的一个linear tension比较有意思的一个范式就是它这个chunk本身是可以任意去拆分的也就是说不同的chunk的数字就比如说你想512个token一个chunk或者说8k token一个chunk它在数学上是完全等价的这个就跟早年一些比较拼借式的方案比如说有一些工作会尝试这个chunk之间都要用用Linear Tenshunk内部用Fort Tenshunk如果用这种策略的话它的这个Tenshunk的大小就跟你具体的模型的这个architecture design是有关的了但是纯Linear Tenshunk其实是无关的既然是无关的的话我们就可以对这个Tenshunk的层次做出一个比较任意的处理比如说对于单机来说它Tenshunk是一步去拆分的我们就这个16Tile去拆分然后16Tile内部用一个并行的方式去计算但是它其实并没有限制说你Tenshunk只能拆一次它的思想就是比如说我有一个1M特别长的一个Tenshunk然后我们可以这个我们拆我们可以拆成8K放一张卡8K放一张卡这样的话我们就构建了一个以大chunk为单元然后不同这Po之间然后采取低过计算这样的一个chunk的拆分方式然后我们拿到这个8K的这样的一个拆分方式之后我们可以在这个内部进一步去拆分就在LinearTension的时候我们没有任何的限制说一个chunk中间是如何去计算因为对于一个比较小的chunk而言这个parallel是一个比较优的实现但是如果我们拆chunk足够大的话我们可以采取这个chunk套chunk的方式然后来去进行寄算也就是说对于LinearTension的CP而言的话我们是做一个层次性的chunk我们首先是在不同机器上做一个chunk然后在一个机器内的话我们再在Kernel来过然后做一个chunk然后通过这样的一个双层chunk的形式然后组成一个对于LinearTension一个比较大的CP然后这个能够主要还是就来源于说就是chunkLinearTension的chunk可以任意拆分的一个特性然后这样的话可以带来就是LinearTension的一个CP的一个方案然后这个其实是对于这个FortTension不太一样的一个处理方式这个是可以讨论一下然后接下来是上面这个是CP或者说Kernel-Less的一个Infra的方案然后接下来的话其实就会讨论就是从这个分布式训练的一个角度然后我们如何去优化它的分布式的这样的一个方案然后这块的话我们后面就可以发现其实它跟DeepSick方案是稍微有些区别的,然后这个区别是主要是来源于不同MOE的一个架构的一个方式。然后首先的话5.2.1这部分,KIMI团队带来了一个GDPP进一步延伸的一个EP的一个计算方案。然后他们的主要的Claim的一点就是对于传统的EP,因为我们现在都用DropplusEP,DropplusEP就是对于每一个Token而言,我选哪个专家他是不受整体的一个约束的,就是我想选哪个选哪个。这样带来一个方案,我们汇总起来之后会发现不同的专家的负载是不一样的然后既然它是不一样的它就会带来一些问题第一个问题就是对于EP而言因为每个GPU它分到的投稿数不一样投稿数不一样的话它就会带来它的整体的执行时间不一样然后执行时间如果一旦不一样它就会互相等互相等就会浪费这个模型的会浪费GPU的算力这是第一个问题第二个问题就是如果我们不同的卡上的它的投稿数是不确定的然后对于GPU的通信来说它会额外多一个阶段就是我们首先是需要告诉所有GPU就是你要接受多少投稿所以基于这样的阶段的话传统的EP它严格来说当然不是一个最优的方案的如果完全为了Infra它最优的方案就是这个Dedrope的EP也就是说我每个token然后要去受到全局的一个影响然后受到一个全局的影响的情况下我们可以通过一系列的一个allocate的方式从模型的角度让每个expert都受到完全均匀的一个token然后通过模型的方式然后让它达到完全的balance完全理想的情况其实就是这样的所以说如果在infra的层面完全均衡然后是一个最优的话从Infra的策略就是我们努力把Infra从非自由岛上一个最优然后同时保持模型能力是不下降的因为如果DropToken的话大家现在都不会用因为它对于模型损失对模型能力损失还是相当明显的然后这个然后MNEP它就采取了一个我觉得是一个比较高端的一个方案它把模型的EP的方式变成了一个更动态的一个方式就是它是可以计算出比如说之前的一个经验的方案就是我比如说我有128个专家如果我们EP8的话可能每张卡放是6个专家的话它是一个比较静态的一个方式然后MWEP的话它采取的是一个动态性的方式就是它有一些冗余的专家然后通过这个额外冗余的专家的话然后它从数月上是可以证明说我存在一个策略可以使得就是我们只需要 [100:00] 增加一个小比例的荣誉专家就可以保证token数的完全对齐的,我感觉像是一个比较经典的数据结构与算法的一个问题,这个是可以证明到的,然后他们可以证明到这一点的话,他就可以得到一个结论,就是我们通过少量的荣誉专家就可以达到所有卡上都均分的这样的一个效果,然后具体如何去达到他们采取了一个online planning的方式,然后这样的话我们去提前去规划,哪些卡应该有哪些荣誉专家,然后在这种情况下可以达到不同的这个对不同卡上这个就从投根数的一个完全的一个均衡当然即使说你从卡的角度是均衡的它并不代表专家层面是均衡的因为这个算法它只是保证了所有每张卡对吧每张卡的这个它的这个所有的投根数是一定的但是它并不保证这个每个专家是一定的因为一张卡里有多个专家嘛如果说你还想保证这个每个专家的这个都是一定的那就没有办法了那你就只能采取这个有损的一个策略去优化这个可能如果大家是不希望的话这个上线可能就卡到这里找一些更优的一个处理方式这块是这个KIMI团队带来的一个比较有意思的一个创新接下来就是这块就Memory的Effinant Training我觉得这块比较有意思就首先他们带来了一个从软件工程的层面这个比较简单的一个方案就是我们可以去更细利度的去控制每个部件应该去采取activation还是去采取offloading的一个策略,然后这块不一样的一点就是KBK3它采取了大规模的offloading,把中间计算得到一个结果offloading到CPU上,然后这个其实是一个non-tribal的一个东西,因为理论上如果想满足offloading不拖慢模型的训练,它是有一定的条件的,你得保证CPU和GPU之间的通信它满足的某个不等式,这样你才有完全用计算overlap时候通信的一个,然后为了达到可以做offloading的话,然后Kimi Ketan他把所有可以offloading的东西都用FP8去存,这样他可以省一倍,省一倍他可能才能从,一个编辑然后跨到另一个编辑然后具体这个编辑怎么算这个就跟具体的这个卡具体的具体环境机群环境也跟具体的模型config是有关系的然后后面的话他一方面他们是需要去优化这个aturnal residual他本身的一个infra的关系的这个其实在aturnal residual的paper里其实也讨论过然后我觉得PP这块其实它我觉得一个是PP一个是那个通信的overlap的手段这个其实跟DeepSync是不太一样的一个方案因为首先比如从DV6v3的角度而言,它采取了两个不太一样的,至少是non-trival的一个一个就是这个比较细利度的MOE角度的overlapMOE角度的overlap就是因为首先就是MOE中间有两个通信嘛,有两个通信,一个是dispatch,一个是combine然后这两个通信它是overhead是比较大的,其实在这个blackware上它其实又不太一样,但是无论如何它是一个比较大的一个开销然后Dipsic V3的话它一个是在MOE的overlap这块它会拆的特别细然后具体的方式它就是会把这个MOE上一个batch的MOE的forward还有backward和下一个MOE的forward把它俩融合起来然后通过重排序计算的一个先后顺序从而达到把所有的大的dispatch和comband的计算然后这个Combin的Dispatch和Combin的通信都藏起来然后想达到这点的话其实是需要特别精细或者也特别复杂的一些软件工厂的一些优化的这个其实在这个MicroStone Core里边也讨论过这样的类似一个事情因为这个事情如果想做的足够好的话我们需要把这个所有的Forward和Barcode的计算从原子计算的层面就拆开然后是手工进行重新排布我觉得这个还是有一定的难度的然后另一个就是这个DPSYKV3采用了这个DOOPIP的策略也就是为了去缓解这个PV的气泡和这个不同的activation不均匀的方式然后他们去采取了DOOPIP的一个训练的一个PIPELINE的排布方式然后当然后面除了DOOPIP还有个DOOPIPV他们达到的效果是一样的对它从逻辑上会更简单一些起码从公开的他们写到的里边KIMIK3是没有采取采用这两个优化方式的一些别的方式然后第一个就是如何去隐藏通信这个就跟实际的模型架构的选新有关系因为KimiK3他采用了Latant MOE因为Latant MOE他本身是极大的降低了通信开销的所以说他在整个的计算开销里边他其实是减小了特别多的因为它的通信开销减小的特别多所以其实如果想把它overlap掉就会变得容易很多就是我们没有必要再去跟另一个batch的计算来去做overlap,我们可以采取这个一个batch内部更简单的overlap手段就可以把这个通信很好的隐藏掉,然后KimiKetsan他具体采用的方式是把这个MOE的前向和互相的通信跟sharedexpert的计算这个overlap在一起因为ShareGasper的现在质量多数都有嘛而且ShareGasper它是有一定的计算量的然后正是因为这个通信的开销减小了所以说它才能被shared expert的一个比较简单的方式去overlap掉,但是如果你用传统的MOE,它的同意开枪就会特别大,特别大的话你用shared expert的去overlap就很难overlap掉,所以说如果你shared expert overlap不掉的话,你就必须 [105:00] Chuyệt. Để cho nên được được những thông tin có thể được được. Các bạn có thể dùng một cách khác nhau và đều có thể dùng một cách khác nhau. Và có một cách khác nhau là một cách khác nhau là một cách khác nhau. Các bạn có thể dùng một cách khác nhau. Và trong cách khác nhau, chúng ta có thể dùng một cách khác nhau. nên là nó là một cách rất đẹp. Vì vậy, 如果 dupype, 或者 dupype vay, 这样的 PP 方式, 它其实不同 PP Rang 之间, 它相对还是比较对称的状态。 如果你用单向的 PP 的话, 它其实就不太对称, 然后不太对称的话, 就两种解决方式, 第一种就是让它变得对称。 第二个方法, 其实就是 Kimmy paper 里讨论到的, 我们可以把不均衡的方式 transfer 掉。 因为比较朴素的 PP 的话, 比如说前面的 PP Rang, 它会进入的更早, 它会积累的 bash就更多, 它的 activation 的压力就会越大, KMX3 采用的方式是 它把 memory 占用 比较大的一些 PP rank 然后直接让它存到 比较小的一个 PP rank 然后通过这种 也是比较 lightweight 的方式 然后去 推避了 更复杂的 DoPipe 的一个设计方式 Mewm thì sẽ có những điều đó để làm những điều đó, vì Mewm thì sẽ cần phải làm những điều đó để làm những điều đó để làm những điều đó. Vì vậy, khi có những điều đó là một số số số, thì có thể làm những điều đó để làm những điều đó, sau đó thì có thể làm những điều đó để làm những điều đó. Vì vậy, Adam thì có thể làm những điều đó để làm những điều đó, thì không thể làm những điều đó để làm những điều đó. nên là chúng ta sẽ làm những điều đó để cho những điều đó sẽ được làm những điều đó để cho những điều đó được đạt được. Và PP này cũng có thể là một cái gì đó. Đây là một cái gì đó là một cái gì đó. Còn khi làm VL Native Trayne đó, VL Token chỉ có một số đối tượng. Còn khi có một cái đối tượng này là một cái đối tượng. Và sau khi có một cái đối tượng này là một cái đối tượng. Còn khi có một cái đối tượng này là một cái đối tượng. Còn khi có một cái đối tượng này là một cái đối tượng. Điều này không có thể giúp đỡ, nhưng mà cũng có thể giúp đỡ. Nếu như chúng ta có thể nhìn vào một số thông tin của chúng ta Điều đó là phân tự nhiên, nó sẽ giảm ra một cách giảm, nó sẽ giảm ra một cách giảm. Và để phân tự nhiên, Phân tự nhiên, Phân tự nhiên là phân tự nhiên, Phân tự nhiên là phân tự nhiên, nó sẽ giảm ra một cách giảm ra một cách giảm ra một cách giảm ra. Cảm ơn các bạn đã theo dõi và đăng ký kênh để theo dõi và đăng ký kênh của mình. Đói [110:00] 如果他写出来在复线难吗我觉得Infra上的事情本质上没有什么难的因为它本身就是个高度确定性的东西我觉得所有Infra的事情都本质上它是确定性的东西但是你如果想自己提出来的话它就对你本身分析Profeeling的方式或者说对于你本身的组织密度或者说就是你团队氛围就是有比较高的一个要求但是你如果整个Infra的团队比较好你还是可以自己搞出来的但是你如果不行的话你就尝试去follow一些比较好的一些工程实践的practice但如果这个事情都搞不定那我觉得就可能就不太应该了大家主要就翻三部分一个是pre-trainpre-train的话前面主要是讨论了一些大规模分布式的情况下一些比较复杂的一些优化方式然后后面的话一个就是后面的话就是两部分一个就RL然后还有一个就是inference然后RL的话因为它本身就是涉及大量的inference的所以在这两个中间其实是有一些overlap的然后LR它本身一个不太一样的点,就是它需要对大规模sandbox会有一些比较细的一个要求。但这个其实就算是一个更工程的一个东西了,这块的话它其实就是一些比较细的处理,如何去处理不同的sandbox。对于RL的task来说,你每一个trajectory它可能都对应一个它自己的docker。所以说如何去管理大规模docker,其实是这块比较麻烦的一个问题。然后上面这块的话,我觉得这个KimicSandrio比较有意思,它会时不时给你蹦出来一些比较有意思的东西。谢谢大家我觉得这块也比较有意思的东西但也不一定是刚才他提的了这块可以省一个gradient的buffer对这块相当于是一个比较tricky的一个东西因为对于一个完整的RR来说它有好几部分的model比如说你至少有一个种model然后你还有一个reference model然后你种model它还有对应的一个gradient和optimizer当然如果你还想做reward model的话它还会再多一个model然后其实这块的话它就会多特别特别多的model然后就Kimic3这块这样的一个比较有意思的事情它不同model之间因为你放一个model它对于GPT来说它还是很大的一个memory所以说它这块相当于是把两部分memory就拖到一块了就对于reference model而言然后他们发现它可以跟gradient buffer来去合起来因为首先就是reference model它是没有梯度的然后在你求objective的过程中你是没有gradient的等你有了gradient之后然后你可能这个reference model就不会去用了所以说它这块用了一个gradient buffer也有是for non-policy model一丝的一个东西然后上下来我就感觉是一些比较常规的处理方式然后我觉得Inference目前不会有太多的一个东西因为主体的Inference Optimization它其实是VLM或者S这样这些的专门讨论的一些内容然后这块它其实讲的就是对于Kemic 3架构它所带来的增量就是在现代的推理引擎中是如何去处理的然后首先就是会带来就就Linear Tension它在现代的这个Inference Angeline它有一个麻烦它有一个麻烦就是它Prefix Cache它是一个比较麻烦的一个点因为对于ForeTens来说它相当于是每个位置它都有一个Cache所以说你可以任意就是你下一个位置的Cache它一定是上一个Cache的一个简单的一个增量所以说在这种情况下Prefix Cache会简单很多但是对于LinearTens来说的话它会有一些它会有一个比较麻烦的特性就是LinearTens它每一步它是需要它是会在原来上一步的这个CarrieCache的基础上它是做一个复写的也就是说对于每一步而言它的这个prefix state它其实都是不一样的所以说如果我们把每一步都存起来那其实linear的好处就完全没有了但是你如果完全不存的话你就完全没有办法去享受到这个prefix cache所带来的好处对然后这块的话就是对现在目前对于这个linear tension它的一个采用的策略就是按照block去切就是我每个block去做一个呢去做一个这个prefix caching然后同样的话我们还需要另一个Long Non-Trival的点就是VLM这样的一个Page KV它的一个实现方式从工程上或者从概念上它最简单的一个分布方式它是不考虑层和层之间的意志性的所以说其实从去年还是前年就是如果想直接在这个VLM里去引入混合价格的话它在Infra上并不是一个容易的事情而且因为现在Inference Engine越来越heavy了所以说如果简单这些改法的话会把整个Inference Engine搞得特别特别的乱当然现在这个Inference Center可能都有一些比较先进的管理方式但是这个就是需要去透露处理一下就是把这个一个就是一个就是把不同的Tenchant Pattern去结合起来对因为对于Fortenchant来说是按配置管理的嘛但是对于LinearTrain或者Slideven的话它才是不能按照配置管理的因为它并不辞在一个长久的一个对于TokenVisor而言的一个CarrayCache的一个产生方式这个本身对于VLM的设计来说它其实是需要做一些兼容性的处理的然后我觉得后面就是一些就是适配性的一些优化因为Decoding的优化它其实跟Prefill或者说跟Training不太一样所以说这块的话就对于每个环节都需要做一些额外的一些Chronelize的一个配置但我觉得这块应该对我觉得这块都是可以去做的的一个事情然后后面就是evaluation了我觉得evaluation这个没啥好讲的就是 [115:00] 好呗特别好就是在每个环节都好然后后面主要就是这样的一个状态然后应该就没啥了觉得K3让你最impressive的地方是哪里啊个人而言吧我觉得impressive的一点就是他们把这个激活搞得特别特别大就是足足有100比0比我预期的还是要大一些的这个依赖的是什么能力呢这个不依赖任何能力就是你具体定义多少激活这个本身它不是一个技术性的东西就看你想到达到什么阶段的一个效果我觉得KIMI K3他还是比较有破裂的,就是在已有的开源模型这个赛的基础上他们要提升一个数量级,所以我刚刚就说他们比上一代的激活其实是多了三倍多的,我觉得这个决定是一个非技术性的一个决定,但是这个是要一定要副理的。因为杨真林喜欢说有概率的非共识你觉得在K3上能看到他们的什么样的Different Bats或者说创新我觉得也没查因为有价值的技术创新他们都单写了一个paper了所以这个K3刚出来的时候我主要就surprise这个size别的我都不合我预期的就是你刚才给大家也展示了好多他们历史的paper其实中间就已经发出来对吧但是他把它优化到了一个更大的模型上对我其实的一个观点就是科学研究是不存在节约性的提升的只是说大家习惯把这个技术的渐进性提升的某些节点会成为一个milestone我其实一直是这么认为的技术永远是慢慢去提升然后靠这个公司里的所有人下面的所有人包括整个业界的同学一块去推动的所以我觉得从这个角度没有什么milestone有人说听你的研究方式相对比较科学 你觉得这个你认同吗 怎么解释首先我是认可的,但具体认可的方式的话,我觉得首先,我觉得这个主要是来源于他们内部的一些管理方式吧。当然的,有些公开大家都知道的就是Kimi,其实公开里边大家认可的最强调这个模型内科的一个团队。所以他们其实一直去强调这个摩西内科的这样的一个case我觉得这个其实是他们科学化的一个体现吧我觉得这个其实是没有任何问题的我觉得科学对应的就是不科学嘛就是什么是不科学的我觉得这个事情就是讨论清楚大家就知道什么是科学的什么是不科学的我觉得不科学的方式就是如果从整体项目的角度你想去推一个东西你想证明某个东西是有效的我觉得这个东西不存在任何疑问因为学术创新或者说你从学术论文的管理的角度我觉得这个大家都是有明确标准的你得有明确的Avaluation你得有足够的变量的控制你得用更科学的方式去说明你这个东西是有效的我觉得这个大家都是认可的然后为什么不科学,不科学就是基于某些利益需求,然后把科学的方式都干掉了,这就是不科学,不特指任何技术。我一直强调的就是,我觉得KIMI这个团队非常团结,然后非常的能把劲往一处,如果大家是这样的motivation,你的判断方式自然而然就是科学。因为最近也是V4发布的时间,K3和V4你觉得他们的区别是什么,能不能做一些对比?我觉得是不同层面吧,我就从模型定位也好,然后从这个。刚刚咱们比较详细的讨论在Infra上的一些区别然后从模型角度层面的话我觉得目前区别还是比较大的我觉得完全不是一个东西我觉得其实比较好的一个case就是DeepSick现在出了两档一档是1.2T的然后另一个是一个更小的size然后DeepSick我觉得目前还是更强调一个性价比的他们其实Flash模型做的还是挺好的但Kemic我觉得他们目前主要的经历里还是尝试去提升开源模型的一个能力的上显而不是去考虑模型的也不是完全不考虑一个考虑条件当然也可以看到现在K3 API相当贵比别的模型贵多了照这个趋势发展下去Kinme和DeepSick会分化吗我觉得技术层外的东西只要大家不笨都是知道什么是好什么是不好我觉得组织团队的走向和取决于人的选择我觉得就是这么简单我觉得基础上这个东西不存在太多debate的好就是好不好就是不好这个是有明确的客观标准的但是对于组织而言对于人而言这个是比较模糊的你觉得K3相比之前的所有模型来说不一样在哪里它有架构创新它创新性更强了我觉得两方面我觉得从技术的层面来说的话我们可以讨论很多很多就是它中间的游戏有一些创新也好有些TRACK也好这个对于技术同学而言是可以去讨论的但这个东西是不是成为里程碑它是个非技术的问题所以说它最大的变样是你最后的一个能力DVC跟V3,我觉得比如说它那些RE这些东西,我觉得这就是紧张才花,我觉得最大的问题就是它其实是国内第一个,对,把模型思考到一定程度,并且把RL全都说打通的,因为在K3之前,可能最大的就是千万72B嘛,这个其实是从模型size上一个比较大的飞跃,因为有size它才有智能,所以说K3,你把激活多了三倍,把模型也快大三倍,它就是下一个level,这个就没有任何问题,它核心是size。有效的skating 其实是这样 [120:00] 对 这是个完全是一个靠团队来去做起来的东西因为你把模型增大,最简单,如果TRAWELL来看,我就把模型几个数字调大一点,我就可以达到一个更大size,但这个不解决任何问题,从技术上来讲,它不是一个太大的创新,因为你扩大模型size它本身不是创新,你把这个东西做work,它中间采用创新。觉得新团队现在再去重做一个模型还有时间窗口或者机会吗我觉得如果这个团队足够好,这个团队的氛围足够好,然后单B作战能力足够强是有机会的。但这个条件我觉得大概率是不存在的,所以说后面的事情也就不存在。为什么不存在 因为好的人其实已经进去了 还是怎么说我觉得好的人和好的组织文化想达成我觉得是有历史的局限的你不是想达成就能达成的邓伟这个事情真的是有点虚很难去描述他我觉得也不虚我觉得就是取决于这个leader的taste或者说leader的性格是绝大多数影响到整个团队的氛围的我觉得Kimi有一个特点是所有人好像都不怕杨志林吧对啊为什么要怕呢有道理你就谁有道理谁说了算吧对啊还是一个非常集体的一个工作它不是一个个人的工作它不依赖于个人英雄主义对的你觉得未来的模型的发展方向你有没有什么预测比如说半年之后一年之后模型size毫无疑问还会继续扩大我说一下我的判断我的判断比较暴论我的暴论就是大模型可能没有太本人的创新了后面都是一些改样性的进行进步然后他会做到一个什么样的水平呢做多大size对应的是什么样的性能呢我觉得这个重要的就是大家去定义什么能力去定义写的只要大家能定义一个能力就能去达到因为大家之前定义的方式比如说就是墙扣定这些东西是清晰定义出来然后大家就可以去做到这个取决于大家怎么去定义这能力或者说从商业化角度大家注重什么能力只要他能清晰定义这个任务本身他的能力就能够达成我觉得如果是纯language的应该没有太大问题它能达到所谓的AGI吗我觉得AGI最大的问题就是它没有被well define所以只要能够定义它就能达到后面都是一系列的优化工作当然如果说你定义AGI的是巨神是真实物理世界交互我觉得这个事情肯定还是gap是更大的但是如果你还是在这个Language Model的这个scope里讨论问题我觉得问题不大你觉得它最后会是一个多大的模型呢还是说他是无限大无限往上叠上去我觉得这个事情是不可能的,因为首先就是预期量的数据量,包括说我们已知的,人类,我觉得从抽签来讲,就是人类互联网上能集结到的所有的信息量,这个是有限的,这个事情是不可能无限提升的基于这个case来讲,从数写理论上,你想吃掉一个足够大的数据量,模型不太多,不可能是无线的,没有必要是无线的,所以说这个能带来一个更宽的bund然后这个宽的bund可能上下会更好,然后更窄的bund就是在什么情况下?我们对于模型具体在任务上的一个感知可能会没有那么充分然后这个是一个更窄的一个棒子或者说如果未来有更难的任务它必须有更大的size那可能就会退化的更宽在那个棒子里对但是我无论如何不可能是无限的你觉得它会最后有多大这个模型现在是只有到了2.8以后呢B原的肯定还是有更大的所以如果想完全MatchB原的肯定还是可以再大一些但是更大的话这个就不确定了你现在为什么去探索世界模型了我觉得这个主要是一个personal的一个东西因为我觉得这个弹幕型不存在太大的改进空间,没有大的突破的话就没有大的这个所以说我觉得对于个人来说可能从职业上来讲不是一个能做出太大的一个贡献的领域了我是一个well defined的问题 这玩意的问题更大 但我觉得至少是一个新的东西字幕志愿者 李宗盛