差就是好:从 DeepSeek 未采用 n-gram 结构说起
本文是对原知乎回答的摘记与轻度整理。
这篇回答最有意思的地方,是把大模型结构设计里的一个反直觉规律说得很直白:差就是好。
这里的“差”指向一种工程取向:放弃过度精巧,优先忠于硬件效率。一个结构能不能在今天的大模型系统里留下来,首先要看它能不能把显卡喂饱,能不能顺着成熟的矩阵乘法、张量核、通信和编译优化一路跑下去。
大模型时代的架构选择,常常在两种设计哲学之间摆动。一派重视理论完备性、归纳偏置、可解释的记忆机制和更细的结构表达;另一派更关心吞吐、显存、并行、内核融合和工程可扩展性。前者看起来更优雅,后者看起来更粗粝。多年下来,粗粝的一边经常赢。
原因不复杂:模型已经大到无法容忍太多“精巧但难跑”的结构。理论上的漂亮一旦不能转化为实际吞吐,很快就会被训练成本和推理延迟抵消。
简单压倒一切
复杂结构很容易让人心动。它们承诺更强的表达能力、更自然的长程记忆、更合理的递归推理,甚至能把控制器、图结构、检索模块和层级状态都放进模型里。纸面上看,这类设计往往更贴近人对任务的理解。
麻烦出在实现上。只要引入动态控制流、非规则内存访问、难以融合的分支,训练和推理就会被拆成一堆小算子。参数也许省了,GPU 却没有被充分利用。大模型工程里,数学上的节省不一定带来系统上的加速。
Transformer 的胜利,很大程度来自这种工程上的朴素。它的主要计算可以组织成大块矩阵运算,注意力、MLP、残差和归一化都能接到成熟的底层优化上。FlashAttention、张量核、分布式并行和各种编译器优化,都是沿着这种规则计算图不断堆出来的。
所以第一条铁律是:简单压倒一切。这里的简单说的是算子规则、内存访问规则、并行模式规则,能够让硬件长期稳定地发挥。
正确性要给速度让路
很多结构在理论上显得更“正确”。模型似乎应该显式表达序列依赖,应该有更好的组合性,应该内置对长程关系的归纳偏置,也应该减少那些看起来笨重的过度参数化。
这些判断没有错,只是它们在大规模训练里经常排不到第一位。当数据、参数和算力都推到很高的量级,局部的理论正确性会被整体吞吐吞没。一个笨重但能高速运行的结构,常常比一个精巧但跑不快的结构更早到达可用能力。
这解释了许多“看起来更聪明”的模块为什么没有成为主干。它们在小规模实验里可能很漂亮,一放到真实训练链路中,就要面对吞吐下降、显存碎片、通信复杂、内核难写、推理服务不稳定等问题。
所谓“差就是好”,是一种系统层面的权衡。一个设计只要显著降低可用 FLOPS,就必须拿出足够大的收益来补偿。否则,它的正确性只停留在黑板和小实验里。
一致性胜过拼凑
第三条铁律是:一致性胜过拼凑。
复杂架构的代价不只在单个模块。真正麻烦的是模块之间的并行模式、内存布局、通信方式和调度策略彼此不一致。系统优化需要一个稳定的计算图;拼起来的异构组件越多,优化空间越碎。
Transformer 的强大,也在于它足够重复。线性变换、非线性、残差、归一化,反复堆叠,计算图稳定,优化栈才能围绕它积累多年。编码器也好,解码器也好,主体逻辑并不花哨,却很适合被整个硬件和软件生态反复打磨。
为了某个局部目标塞进特殊结构,可能会在单点指标上多拿一点收益,也可能让整条训练和推理链路为它付出代价。大模型是算力、数据、通信和部署共同组成的系统,单个模块的精巧必须服从整体效率。
完整性可以被牺牲
学院派设计会自然地想覆盖更多场景:超长文档、严格逻辑、低比特量化、多模态对齐、长程记忆、可控检索。每个目标都能导向一套专门结构,每套结构也都有自己的合理性。
大模型工程里的取舍更冷。一个简单解码模型已经能解决大部分任务时,剩下的特殊场景未必值得让主干结构承担额外复杂度。持续堆算力、堆数据、扩上下文、改内核,很多时候比引入一套专门模块更划算。
这就是完整性可以被牺牲的意思。特殊场景依然重要,但主干模型必须优先服务于最常见、最稳定、最容易规模化的路径。
等到下一代显卡、上下文窗口和注意力实现继续前进,今天看起来需要专门结构解决的问题,可能会被更便宜的通用计算覆盖。与其追求面面俱到的架构,不如让简单结构在算力和数据的加持下继续生长。
这种取舍听起来不精致,却很符合大模型一路走来的经验:能被高效规模化的东西,会不断吞掉那些只能在小规模上显得漂亮的东西。
回到 n-gram 结构
回到 DeepSeek 和 n-gram 结构,判断就变得清楚了。一个新结构即使来自自己提出的想法,也不等于应该进入主干模型。它要通过理论、实验、训练系统、推理服务和硬件效率的共同检验,单一论文指标并不足够。
概念优雅和小规模 benchmark 改进都不够。它还要能高效跑在 GPU 上,能接入已有训练框架、并行策略、缓存机制和推理链路,收益要大到足以覆盖吞吐、延迟和复杂度上的损失。
做不到这一点,不采用它并不奇怪。
大模型时代的真理很朴素:算得快的结构,会不断淘汰算得慢的结构。矩阵乘法看起来笨,只要能在显卡上稳定狂奔,就比许多精巧技巧更有生命力。
最后留下来的设计未必最优雅,却一定要能把硬件、数据和规模结合起来。精巧结构进不了高吞吐流水线,就很难成为时代的主角。
这就是“差就是好”的含义。它承认大模型工程里的基本事实:规模会惩罚难以优化的精巧,硬件会奖励规则、重复、可并行的简单。