一个"鸽"了的DeepSeek V4,炸出整个行业
事情是这样的。
Sebastian Raschka,原本打算写一篇DeepSeek V4的技术解读。结果V4迟迟不发布,他等了两周,愣是没事干了。
于是这位老哥干了件很"程序员"的事——既然没新东西可写,那就把过去几年攒的LLM架构来个大整理。
两周后,他甩出来一个东西:一个包含45种架构变体的可视化图库。
1400+点赞,6万+浏览。评论区炸了。
有人问:什么时候出书?我买。
有人补充:XSA在OpenAI的autoresearch里火了,能加上吗?
还有人说:能不能讲讲多模态的跨模态注意力?
Raschka统一回复:这篇文章先聚焦文本LLM,其他的后续再说。
但真正让我觉得有意思的,不是他整理了多少种架构,而是他顺手揭示了一个行业真相——
注意力机制,已经分裂成了N个流派,而且每个流派都在"省内存"这件事上,玩出了花。
注意力机制的"进化论":从RNN的痛点到Transformer的革命
先说个背景。
在Transformer出现之前,机器翻译用的是编码器-解码器RNN。原理很简单:编码器一点点读入源句子,压缩成几个隐藏状态;解码器再基于这个"压缩包"生成目标句子。
问题来了。
想象翻译这个句子:"The animal didn't cross the street because it was too tired."
"it"指的是"animal"还是"street"?RNN的隐藏状态只有一个,信息一多就记不住。远距离依赖成了噩梦。
Figure 2: Poster版本,对比一下尺寸
2017年,《Attention Is All You Need》横空出世。Transformer干掉了RNN的循环结构,把attention直接变成了主角。
核心概念叫self-attention:每个token都能"看"序列里所有其他token,给自己打分,然后基于这些分数混合信息。
多头注意力(MHA) 就是这个机制的"豪华版"——同一层开多个head并行工作,每个head学不同的投影,最后把结果拼起来。
一个head专注局部语法,一个head专注跨句子语义,一个head专注指代关系……各司其职。
听起来很完美,对吧?
但问题也随之而来。
推理的时候,模型要把之前的token信息存进KV cache。head越多,cache越大。上下文一长,显存直接爆炸。
怎么办?
整个注意力机制的进化史,本质上就是一部"省内存"的斗争史。
分组查询注意力(GQA):省cache的"中庸之道"
2023年,GQA论文问世。
想法很直接:别每个query head都配独立的K/V投影了,好几个query共享一套K/V,cache直接砍半。
这就好比——
以前开会,每个人都要单独做会议记录。现在好了,3个人共用一份记录,内存省了,信息也够用。
Figure 3: OLMo 2使用MHA的例子
Llama 3 8B、Qwen3 4B、Gemma 3 27B 这些当红炸子鸡,用的都是GQA。
Raschka在文章里说,GQA是"新的标准替代方案"。为什么?
它比标准MHA省显存,又不像某些激进方案那样需要大改代码。实现简单,效果稳定,训起来省心。
当然,GQA也有极限。极端情况下砍到只剩一套K/V,那就变成"多查询注意力",省得更多,但模型质量也开始掉。
所以GQA的精髓在于:找到那个"够用但不太省"的甜点。
MLA:DeepSeek的"核弹",让GQA看起来像"过渡方案"
但GQA的位置还没坐热,DeepSeek V2掏出了另一个东西——
多头潜在注意力(MLA)。
如果说GQA是"少存点",MLA的思路完全不同:压缩存储。
Figure 4: 逐词翻译的失败案例
MLA不减少K/V的头数,而是把整个tensor压缩成一个"潜在表示"存进cache。用的时候再解压。
这就好比——
GQA是"3个人共用1份会议记录";MLA是"把会议记录压缩成ZIP文件,要用的时候再解压"。
DeepSeek-V2的消融实验很有意思:GQA的性能比MHA差一截,但MLA不仅没掉队,甚至还能略超MHA。
Figure 5: Attention打破RNN瓶颈
Raschka的点评很到位:MLA不只是"省内存",而是"省了内存还能保持质量"。
这也是为什么MLA后来成了DeepSeek V3/R1的标配,并开始向其他模型扩散——Kimi K2、GLM-5、Ling 2.5、Mistral Large 3,都在用。
不过MLA也有代价:实现复杂,服务端改动大。小模型(<100B)用GQA反而更划算。
滑动窗口注意力(SWA):不看全局,只看眼前
还有一种省法更直接:别看那么远。
滑动窗口注意力(Sliding Window Attention)规定:每个token只能关注前后固定窗口范围内的token。
Figure 6: 带因果掩码的注意力矩阵
这招听起来很"短视",但Gem 3的实验表明:窗口小一点,性能掉得不多,但省得是真多。
Gemma 3把窗口从4096砍到1024,局部/全局层比例从1:1改成5:1。 ablation结果出来,业界一惊——
原来可以这么玩?
Gemma 3 27B、OLMo 3 32B、Arcee Trinity这些模型都跟进了SWA。
而且SWA经常和GQA搭配使用:一个减少要考虑的上下文长度,一个减少每个token的缓存量。双管齐下,省上加省。
混合注意力:Transformer的"拆分术"
但真正让我觉得"这才是未来"的,是另一股趋势——
混合注意力架构。
核心思想很颠覆:别全用Transformer了,把大部分层换成更便宜的序列模块,只留少数层用回全注意力。
为什么?
因为全注意力的计算复杂度是O(n²),上下文越长越要命。128k、256k甚至1M token的上下文,全注意力根本扛不住。
Figure 8: 单头注意力示意
2025年,Qwen3-Next成了第一个"吃螃蟹"的旗舰级模型。
它的配方是:3个Gated DeltaNet块 + 1个门控注意力块。
Gated DeltaNet是种线性注意力机制,内存增长比全注意力平缓得多。门控注意力则负责偶尔"清醒"一下,做精确的内容检索。
Figure 9: 多头注意力示意
然后Qwen3.5把Qwen3-Next的配方直接搬进了主系列。
这信号太明显了:混合架构不是实验品,是下一代标配。
Kimi Linear跟进,换成了Kimi Delta Attention + 门控MLA;Ling 2.5更激进,用Lightning Attention + MLA,官方宣称32k token吞吐量比Kimi K2高出一大截。
Figure 10: GQA示意
Nemotron更狠,Mamba-2 + 稀疏MoE + 少量自注意力,彻底远离Transformer的"全注意力"老路。
行业格局:三条路,各有各的活法
梳理完这45种架构,你会发现行业已经分成了几条清晰的路线:
第一条路(GQA/MLA): 在Transformer框架内做优化,适合不想大动干戈的团队。MLA性能更好但实现复杂,GQA简单稳定但效果有上限。
第二条路(SWA): 用窗口限制注意力范围,配合GQA使用效果更佳。适合对长上下文有需求但不想上混合架构的场景。
第三条路(混合架构): 大胆替换大部分层,用线性注意力或状态空间模型替代全注意力。长期来看可能是终极方案,但当前推理栈的优化还没跟上。
Figure 12: Sarvam 105B (MLA) vs 30B (GQA) vs MHA的KV cache对比
Raschka在文末说了句大实话:
"混合架构的推理栈还没那么优化,我在本地跑GPT-OSS + GQA的throughput反而更好。"
这大概就是技术转型期的常态:新架构潜力巨大,但配套工具链还需要时间。
尾声
回头看这篇文章的起因,有点黑色幽默——
DeepSeek V4跳票,Raschka顺手整理了个45种架构的图库,结果成了行业爆款。
评论区里有人问他:能不能加个多模态跨模态注意力?
他说:下一篇文章再说。
也有人说:能不能讲讲HySparse、MiniCPM-SALA这些更新的东西?
他说:有些还没来得及看,后续补充。
这种"边做边更"的节奏,倒是跟LLM架构本身的进化方式有点像——
没有人一步到位,都是在实践中迭代,在反馈中进化。
那现在问题来了:当你选一个LLM架构的时候,你更看重什么?
是MLA的"高质量省内存"?
还是GQA的"简单稳定"?
或者是混合架构的"长期潜力"?
评论区聊聊。
【MiniMax-M2.1锐评】:这篇文章把"省内存"这条主线讲透了,从GQA到MLA再到混合架构,层层递进,最后用Raschka的"大实话"收尾,留了个开放性问题让读者自己选边站。节奏可以,信息密度也有,但混合架构那部分可以再精简点。
参考链接:
https://x.com/rasbt/status/2035700481033482688