22580倍参数量级:大模型从GPT-2到Kimi K3的架构进化

近期一款开源大模型引发了行业关注,一位专注大模型推理优化、GPU内核与低比特量化的工程师耗时近两天梳理了其建模代码,期间依靠大量咖啡因与气泡水支撑,研读了8篇相关论文,最终完成了从2019年GPT-2到该款新模型的完整技术路线复盘。该复盘文章以一个数字作为开篇:22580,这个数值由新模型2.8万亿的参数量除以GPT-2的1.24亿参数量得到,直观展现了七年时间里大模型规模的爆炸式增长。
初代仅解码器架构的效率瓶颈
早期的仅解码器架构大模型存在明显的效率短板:在自回归生成过程中,模型会计算每个输入位置的隐藏状态,但每一步解码仅使用最后一个位置的输出logits来选择下一个词元。如果没有缓存机制,每生成一个新token都需要重新计算整个历史序列的投影,带来大量重复计算。
仅解码器的生成模式存在明显低效之处:模型会计算每个输入位置的隐藏状态,但每一步解码仅使用最后一个位置的输出,若没有缓存机制,大量计算都会在生成下一个token时重复进行。
KV缓存的出现正是为了解决这个问题:通过保存已经生成的token对应的键向量与值向量,避免重复的投影计算,不过随着序列长度增加,KV缓存的内存占用会线性增长,甚至成为内存带宽瓶颈。以初代基线模型GPT-2为例,其参数规模约为1.24亿,包含12个Transformer块、12个注意力头、768维嵌入,以及约5万个候选词元。
线性注意力:打破序列长度的二次依赖
随着模型规模与序列长度的增长,传统注意力的O(N²)复杂度成为瓶颈。早期的Transformer训练中,往往需要显式构建完整的N×N注意力矩阵,而自回归解码也常因没有高效缓存机制重复计算历史信息。
线性注意力通过对查询向量与键向量分别应用ELU+1特征映射,将原本需要随序列长度增长的键值集合,压缩到固定维度的D×D状态矩阵中,从而将复杂度从二次降低到线性。与Softmax注意力通过指数运算实现分数归一化不同,线性注意力使用表达能力稍弱的近似归一化方式,其核心步骤包括:将分数转为非负、除以总和、计算值的加权平均,最终保留了注意力机制的基本框架,但优化了内存与计算效率。
增量式记忆的局限与DeltaNet的改进
不过线性注意力的固定状态记忆存在明显局限:当序列长度远大于状态维度时,不断通过加法更新缓存会导致信息相互干扰,因为每个新的键值对都会直接叠加到同一个状态矩阵中,无法保留每个token的独立表示。当存储容量被耗尽后,新的关联会覆盖旧的信息,导致模型无法准确检索历史内容。
针对这个问题,DeltaNet提出了增量修正的记忆更新机制:不同于直接叠加新的键值对,DeltaNet会先读取当前键对应的旧缓存信息,再用新的值减去这份旧信息,最终将修正后的结果更新到缓存中。这一机制让模型能够精准替换特定的记忆关联,而非全局覆盖。
不过DeltaNet的并行化实现曾是一大难点:传统的线性注意力预填充需要逐token递推,无法直接利用GPU的矩阵乘法硬件加速。通过分块并行的方式,将输入序列划分为大小为C的块,基于前一个块的最终状态与当前块的查询、键、值数据计算输出,实现了硬件高效的线性时间训练。当C=N时等价于标准的O(N²)注意力,当C=1时则为普通线性注意力,实践中通常取C=64或128以平衡计算量与硬件利用率。
带门控的自适应记忆:Gated DeltaNet
纯DeltaNet的记忆更新只能精准替换特定关联,无法实现全局的记忆衰减,在上下文切换时无法高效释放容量。而Mamba类的门控机制可以通过统一衰减所有缓存来防止状态无限增长,但这种方式会平等衰减所有记忆关联,无法区分不同关联的重要性。
Gated DeltaNet将两者结合,引入了介于0到1之间的alpha参数:当alpha为1时等价于纯Delta规则,为0时则清空所有记忆。通过数学重参数化,同样可以实现分块并行的高效计算,将自适应的记忆衰减与精准的关联更新结合起来,让模型能够动态调整不同记忆的留存比例。
细粒度控制的Kimi Linear架构
后续的研究进一步优化了自适应记忆机制,Kimi Linear通过引入细粒度门控改进了Gated DeltaNet:不再使用单一的标量衰减值,而是为每个通道学习独立的衰减参数,实现对记忆衰减的精细化控制。该架构主要包含三项核心改进:
- 采用交错放置的多头潜在注意力(MLA)层混合系统
- 用混合专家(MoE)层替换传统MLP
- 通过alpha投影扩充DeltaNet的记忆容量
实验表明,该架构在性能优于完整注意力的同时,解码吞吐量最高可提升6倍。
Kimi K3的完整架构设计
最终的Kimi K3语言主干架构延续了Kimi Linear的设计思路,包含23个四层宏周期,每个宏周期中三层使用Kimi Delta Attention,第四层使用Multi-head Latent Attention。其中第一层使用稠密前馈网络,其余所有层均采用潜空间混合专家结构。其核心改进包括:
- 模型规模大幅提升
- 每12层使用一次分块AttnRes
- 加入MLA查询LoRA与输出门控
- 潜空间MoE结构
- SiTU激活函数替代传统激活
- Gated MLA层
KDA层提供恒定状态的递归记忆,而周期性的MLA层则保留了对完整上下文的Softmax检索能力。Gated MLA通过与输入投影得到的门进行逐元素乘法,控制从MLA检索到的特征进入残差流的比例。Kimi K3共包含898个专家,其中2个为共享专家处理所有token,其余896个专家中,路由器会为每个token选择16个进行激活。
在激活函数方面,Kimi K3使用SiTU替代传统的SiLU门控结构,虽然在未融合内核的情况下速度会比原路径慢约3倍,但通过在压缩的潜空间中运行专家网络,将前向传播的计算量减半,抵消了部分性能损耗。
残差注意力:解决深度模型的信息稀释问题
传统的Transformer残差连接采用简单的加法聚合,每一层的输入都是原始嵌入与之前所有层输出的总和,且所有项的权重相同。这种方式存在两个明显问题:一是不同类型的层无法根据上下文调整权重分配,二是越靠后的层需要输出更大的数值才能影响累积的残差,可能导致训练不稳定。
AttnRes机制通过为每一层的残差项分配专门的权重,让模型能够根据当前上下文选择性地使用更早的层输出。每个权重alpha_i通过查询与键的点积计算得到,查询针对每一层学习,键与值则来自更早的残差流状态,最终通过归一化得到加权组合的残差。
为了避免额外的计算成本,Kimi K3并未在每一层都应用残差注意力,而是每12个解码器层设置一个块边界,在边界处应用AttnRes。23个四层宏周期共产生8个AttnRes块,在提升推理速度的同时,缓解了残差稀释与隐藏状态增长的问题,同时带来了1.25倍的计算优势。
从GPT-2到Kimi K3的七年演进中,大模型的核心变化远不止参数规模的增长。每一次架构迭代都在优化记忆的存储、更新与检索方式,从固定缓存到线性注意力,从增量修正到细粒度门控,再到混合注意力与残差注意力机制,每一步都在解决前一代架构的核心局限。最终的Kimi K3将递归记忆、周期性检索、稀疏专家容量与选择性残差访问结合,实现了性能与效率的平衡。


