真正的并行,不是把更多算力堆上去,而是让算力学会记忆
Hatched by Kevin Di
Jun 17, 2026
1 min read
4 views
91%
当模型越来越大,为什么瓶颈反而变成了“怎么喂它”
一个看似反直觉的问题是:当大模型已经足够强时,决定它能不能真正跑起来的,往往不是算法本身,而是显存、缓存和流水线调度。我们习惯把 AI 进步理解为参数变多、精度变高、损失下降,但落到工程世界里,真正卡住系统的常常是更朴素的东西:谁先算,谁后算,哪些内容可以复用,哪些 token 必须等待。
这就形成了一个值得深思的张力。模型能力在向“更长上下文、更复杂结构、更大规模”扩张,系统设计却必须向“更少内存、更高吞吐、更低等待”收缩。表面上看,这只是优化问题;实际上,它是在重新定义“智能系统的效率”到底是什么。
在这个张力中,两条线索格外有启发。一条线索是,沿着序列维度做切分的 Token-level 流水并行,长期以来像一把锋利却难以驯服的刀,因为在自回归生成里,后面的 token 依赖前面的 token,负载均衡和调度都极其复杂。另一条线索是,像 ChatGLM2 这样的模型通过 Multi-Query Attention 和 KV Cache 复用,把“记忆”这件事变得更节省、更连续,让小显存也能承受更长对话。
这两件事看似属于不同层面,一个讲并行,一个讲缓存。但它们其实在回答同一个问题:如何让顺序性不再成为系统的牢笼。
不是所有顺序都该被打破,关键是把顺序转化为可复用的结构
很多人谈并行时,会默认一个简单口号:把任务切得越细越好,机器就越忙,速度就越快。可在语言模型里,这个朴素直觉经常失效。原因很简单,token 不是彼此独立的工件,而是带着因果关系的链条。前一个 token 不是“已经完成的任务”,而是后一个 token 的前置条件。
这意味着,Token-level 流水并行面对的不是普通批处理问题,而是一个更像接力赛的系统。每个 token 都像一棒接一棒,不能随便乱序;而流水线想要高效,就必须避免有人闲着、有人堵着。于是,困难不在于“能不能切”,而在于如何在尊重因果约束的前提下,压榨出足够多的并行度。
这时,KV Cache 的思路就显得格外重要。对话模型在生成新内容时,过去轮次里已经计算过的注意力键和值,可以直接复用。换句话说,模型不是每次都从零开始思考,而是在记忆的地基上继续搭建。Multi-Query Attention 进一步压缩了缓存成本,让“记忆”更轻。
真正高效的系统,不是消灭顺序,而是把顺序中可重复的部分提炼成结构,把不可重复的部分留给计算。
这句话是理解这两个方向交汇点的关键。Token-level 流水并行是在处理“现在应该谁先走”;KV Cache 复用是在处理“过去已经走过的路,今天还能不能再用一次”。前者提升动态调度效率,后者降低历史计算成本。一个解决时间上的拥塞,一个解决空间上的浪费。
把它们放在一起看,就会发现一个更深的洞见:高性能 AI 的核心,不是更快地算,而是更聪明地不算。
为什么 Token-level 并行一直难以普及:它太像理想主义,直到遇到一个“天生配套”的场景
Token-level 流水并行之所以长期不温不火,不是因为它不优雅,而是因为它太挑环境。对于 LLM 训练和推理,自回归机制决定了每一步都依赖上一步,负载均衡问题会变得非常棘手。你很难像切图片那样,把序列切成均匀、独立、互不干扰的小块。越细粒度的并行,越容易把调度复杂度推到不可接受的程度。
这也是许多并行技术的共同命运:在理论上足够美,在工程上足够痛。它们通常不是失败在算力,而是失败在系统边界。网络通信、内存占用、同步开销、负载不均,这些看起来像配角的因素,往往才是真正的主角。
但 DiT 扩散模型推理改变了这件事。为什么它会成为 Token-level 流水并行的理想舞台?因为扩散模型的计算结构与自回归 LLM 不同,它的序列依赖、调度方式和阶段划分,给了 token 级流水一个更容易生长的空间。你可以把它理解成:不是这把刀不锋利,而是以前没有找到合适的木头去雕。
这个“PMF”非常值得玩味。很多时候,一个系统技术并不是在所有场景里均匀有效,而是在某个特殊场景里突然从“高级技巧”变成“最优解”。这说明技术成熟的标志,不只是性能数字的提升,更是找到自己的问题类型。
这就像交通工具的演化。火车并不是在所有地形上都最好,但在轨道上它几乎完胜一切;船也不是在所有地点都适合,但在水域上效率惊人。Token-level 流水并行此前像一辆设计精妙却路况受限的赛车,DiT 推理则像为它铺好了轨道。问题不是它值不值得存在,而是它终于找到了适合自己的赛道。
“记忆”才是大模型时代最贵的资源,甚至比计算更贵
如果把大模型推理看成一场资源分配游戏,那么过去我们最关注的是算力,今天必须把视角转向另一件事:记忆占用。ChatGLM2 的两个设计,Multi-Query Attention 和 KV Cache 复用,恰好说明了这一点。
Multi-Query Attention 的价值,不只是让缓存变小,而是把“每一轮都要存很多重复信息”的浪费压缩掉。KV Cache 复用的价值,也不只是省显存,而是让连续对话可以像接力记忆一样延续下去,而不是每轮都背着整个历史重算。最终结果就是,在有限显存下,模型能生成更长的文本,持续更久的交互。
这里有一个常被忽视的现实:用户感知到的“智能”,很多时候来自模型是否能保持上下文,而不是它每一步算得有多花哨。如果模型只能短暂地聪明,那它其实很脆弱。真正有用的系统,是能把之前的思考保留下来,继续向前推进。
这也是为什么“缓存”这个词不该被低估。缓存不是一个工程小技巧,而是大模型的第二记忆系统。第一记忆是参数,第二记忆是上下文状态。参数决定模型“会不会”,缓存决定模型“能不能连续地会”。当上下文越来越长,第二记忆的重要性会迅速上升,甚至成为产品体验的分水岭。
你可以把它理解成写作。一个作者的能力,不只是下笔快,更重要的是能记住前文的论点、伏笔和语气。忘得太快,文章就会散;记得太好,文章才会一气呵成。大模型也一样。KV Cache 复用,本质上是在让模型保持叙事连续性。
这两条线索其实在指向同一个未来:AI 系统从“计算中心”走向“状态中心”
把 Token-level 流水并行和 KV Cache 复用放在一起,你会得到一个很有力量的判断:未来 AI 系统的竞争,不只是更快的矩阵乘法,也不只是更大的模型参数,而是谁能更优雅地管理状态。
这里的“状态”包括很多东西:
- 序列状态,也就是 token 之间的依赖关系。
- 记忆状态,也就是 KV Cache 之类的上下文复用。
- 调度状态,也就是流水线如何安排任务顺序、如何避免空转。
- 资源状态,也就是显存、带宽、延迟、吞吐之间的平衡。
传统计算系统强调的是“算得多快”。而大模型系统强调的是“状态能否流动”。一个系统如果只会暴力计算,却无法保存上下文、无法分配负载、无法在时空上进行精细切分,它就会在真实世界里显得笨重。
大模型工程的真正进步,不是把每一步算得更猛,而是把“前一步的结果”变成“后一步的基础”。
这就是为什么流水并行和缓存优化可以被看作同一种思想的两个面向。流水并行处理的是未来如何接住现在,缓存优化处理的是现在如何继承过去。它们共同构成一种新的系统观:计算不再是孤立发生的事件,而是一个连续的、可复用的流。
这个视角的意义非常大。它告诉我们,AI 基础设施的竞争,最终会从“谁有更多 GPU”转向“谁更会组织 GPU 之间的时间关系,谁更会组织模型内部的状态关系”。这不是单纯的规模竞赛,而是组织能力的竞赛。
Key Takeaways
- 不要只盯着算力,先看状态是否可复用。 很多性能瓶颈不是“算不动”,而是“重复算太多”。
- 并行不是越细越好,关键是顺序约束能否被结构化。 对 token 级任务,切分的价值取决于调度是否能承受复杂度。
- 缓存不是附属优化,而是模型连续性的核心。 KV Cache 复用决定了长对话和长上下文是否真的可用。
- 找到技术的 PMF 比炫技更重要。 Token-level 流水并行在某些场景会突然从“难用”变成“最优解”,关键在于问题结构是否匹配。
- 未来的 AI 系统竞争,越来越像状态管理竞争。 谁能更好地组织记忆、调度和复用,谁就更接近真正的高效。
结语:最强的系统,不是算得最狠,而是忘得最少、复用得最好
我们通常把智能想成一种不断创造新答案的能力,但系统工程提醒我们,真正可规模化的智能,往往建立在“继承”而不是“重来”之上。KV Cache 让模型继承过去,Token-level 流水并行让模型在时间上更有序地前进。一个减少遗忘带来的浪费,一个减少等待带来的空转。
这背后其实是同一个更深的真相:高性能不是蛮力的胜利,而是秩序的胜利。当模型越来越大,最有价值的能力可能不是它多会计算,而是它多会保存,多会安排,多会让过去为未来服务。
所以,下次当你听到一个系统“吞吐更高、显存更省、上下文更长”时,不妨换个角度问:它究竟不是更聪明了,而是更会组织自己的记忆了吗?这也许才是大模型时代最重要的进化方向。
Sources
Hatch New Ideas with Glasp AI 🐣
Glasp AI allows you to hatch new ideas based on your curated content. Let's curate and create with Glasp AI :)
Start Hatching 🐣