资讯动态

慢思考时代,存储墙如何倒逼AI计算全栈重构?

发布时间:2026/9/29 19:26:49 来源:尧图企业网站定制
1. 慢思考不是想得久而是把存储系统逼到了墙角如果说过去两年大模型拼的是谁能答得快那么今年开始风向变了——拼的是谁在回答之前想得更久、想得更深。我接触到的很多算法团队已经不再满足于让模型直接吐答案而是让它在推理阶段先自我推导、自我校验、反复回溯也就是所谓的慢思考System 2范式。这个范式听起来只是推理策略的调整但真正跑过一次推理时计算inference-time compute的工程就会发现慢思考带来的第一波冲击根本不在算法本身而在存储。为什么这么说因为慢思考意味着模型在单个问题上可能要做几十次甚至上百次的中间计算每一次计算都要读取中间状态、写入新的推理轨迹还要反复比对历史步骤。这些操作本质上全是访存。我见过一个实际案例同样一个数学推理模型快速推理时每 token 的算力需求大概是 100 TFLOPs 级别而开启慢思考的自我反思循环后单 token 的访存请求量直接翻了 10 倍以上。于是存储墙的问题被彻底放大了——你算力再强喂不进数据也是白搭。这篇文章主要想聊清楚一件事慢思考为什么会让存储墙从潜在瓶颈变成决定性瓶颈以及要消掉这个瓶颈为什么必须从算法、架构、系统三个层面同时动手重构 AI 计算全栈。适合正在做大模型推理优化、了解过存储墙概念但没深入思考过慢思考影响的算法工程师或系统工程师阅读也适合想理解 AI 算力下一个突破方向的技术管理者参考。需要先澄清的是我这里说的慢思考不是指模型在 ByteDance 或 GPU 上单纯地变慢而是指一种有意识的计算策略让模型在生成最终答案前构造中间推理步骤、检查中间结论、甚至修改推理路径。OpenAI 的 o1 系列、DeepMind 的 AlphaGeometry 都属于这种范式的代表。慢思考的价值在于把一次猜对变成逐步逼近但它付出的代价就是计算量和访存量同步飙升。2. 存储墙的本质算力越快数据越供不上2.1 算力与带宽的剪刀差存储墙不是一个新话题学术界早在 1994 年的 Hitting the Memory Wall 论文里就提出过但我发现很多做算法的同学对这个概念的理解还停留在内存不够大、显存不够多的层面。这不对。存储墙的本质是一个速率匹配问题芯片的计算能力两年翻一倍但是内存带宽的增速远跟不上。你可以在单位时间内做越来越多的乘加运算但内存接口单位时间内能给你搬进来的数据量几乎在原地踏步。我们可以用一个很粗暴的数字来说明问题。假设一颗 AI 芯片的峰值算力是 1000 TFLOPs每秒千万亿次浮点运算芯片的 HBM 接口带宽是 8 TB/s。如果模型权重是 FP16 格式那么权重访存需要的带宽是参数总量 × 2 字节而计算需要的时间由算力决定。对于一个 70B 参数的模型跑一次前向传播光读取完整权重就需要 70B × 2B 140 GB 的数据。按 8 TB/s 算这需要 17.5 毫秒而用 1000 TFLOPs 跑这几十亿次运算可能只要几毫秒。算完了数据还没搬完于是计算单元只能空转。这还只是读取权重。如果引入 KV Cache也就是缓存历史 token 的 Key 和 Value 向量情况更糟。一个 70B 模型在生成长上下文时KV Cache 的大小很容易膨胀到几十 GB每一次生成新 token 都要把这些缓存全部扫描一遍。慢思考的核心问题就在这里它的每一步推理都可能触发新的 KV Cache 读取读的次数多了带宽就成了真正的瓶颈。2.2 快速推理时代的缓存友好假象前几年大家做推理优化基本思路是量化、剪枝、蒸馏目的就是把模型压小让小模型在有限带宽内塞得进去。这个思路在没有慢思考的时候是成立的因为快速推理只有一次前向计算KV Cache 的访问模式也比较规律预取可以做得很好。那时候存储墙虽然存在但它被量化和剪枝暂时糊弄过去了。慢思考一上来这个假象就碎了。慢思考的计算模式不是一条直线走到底而是一个树状搜索或图状回溯模型先算一个中间步骤发现不对退回换一个方向再算。这样每一次回退都意味着重新读取此前写入的中间结果甚至要反复遍历已经生成的推理轨迹。这种访问模式完全没有规律可言预取算法基本失效缓存命中率大幅下降缓存友好性荡然无存。我自己的实测数据是这样的一个中等规模的推理模型在快速生成任务下 L2 缓存命中率能做到 85% 左右一旦切换到慢思考的自我校验模式命中率直接跌到 55% 以下。这意味着大量数据需要从主存甚至 HBM 重新拉取访存延迟直线上升。很多团队在慢思考任务上遇到跑得还不如小模型快的现象根子就在这里——不是算法不行是存储子系统扛不住这种随机访问。2.3 存储墙的三个侧写容量墙、带宽墙、延迟墙为了后面讨论重构方案我把存储墙拆成三个可度量的维度这样大家在看架构选型时思路会更清晰。容量墙模型权重、KV Cache、中间推理状态加起来的总体量超过了片上存储SRAM和近距离存储HBM的容纳能力。慢思考会让中间推理状态急剧膨胀比如搜索树的分支因子是 10深度是 20那光保存推理路径就需要 200 个节点的状态。这些状态放不进 SRAM 就只能放 HBM放不进 HBM 就放到 DRAM每降一级速度和带宽都会恶化一个量级。带宽墙在单位时间内需要搬运的数据量超出了存储接口的供给能力。这是慢思考最直接的冲击点。因为慢思考的反思操作本质上是反复读取和写入带宽消耗跟推理深度成正比而不是跟输出长度成正比。延迟墙单次访存的往返延迟过长导致计算单元等待数据的时间占比过高。慢思考场景下模型经常要先读一个中间结论判断要不要继续这个依赖链特别长。如果一次内存读取要 100 个时钟周期推理步骤之间又要串行依赖那每一层思考都要付出巨大的等待代价。延迟墙在快速推理时还可以通过乱序执行掩盖但慢思考的串行依赖链让乱序执行也无能为力。3. 算法层的重构把记忆访问变成算得快、读得少存储墙是硬件的锅但算法层能做的事远比大多数人想象的多。我见过不少团队一上来就买新硬件结果算法模式不改变新硬件的存储带宽照样被霍霍光。算法层的目标应该非常明确在不损失推理质量的前提下让模型少读数据、少写数据、减少重复访存。这里我结合几个热词具体展开。3.1 剪枝的正确姿势把慢思考中用不到的参数先干掉剪枝算法在快速推理时代被大家熟知的理由是模型压缩但我提醒一句在慢思考时代剪枝的意义已经变了它不仅是压缩模型更是压缩慢思考搜索路径上的无效分支。我在实际做模型裁剪时发现慢思考模型里大量中间计算其实是可以跳过的。比如一个模型在自我反思时经常会调用冗长的常识知识但这些知识与当前问题完全无关。用结构化剪枝把这类分支的权重直接删掉访存量会立刻下降。不过要注意剪枝算法如果做得太 naive简单的会把慢思考最核心的纠错能力也剪掉。我踩过这个坑用 Fast-forward 剪枝方式砍掉了一些低激活权重的模块结果模型的自我校验能力明显退化推理错误率上升了 8%。后来改成了感知慢思考路径的剪枝——也就是说剪枝时不仅看权重激活值还要看这条路径是否在搜索回溯中高频出现。凡是高频出现在纠错路径上的模块即使激活值不高也保留。这样剪掉的参数量从 40% 降到 25%但模型质量几乎没有下降访存量却降了 30% 以上。这个平衡点需要自己调试但方向是对的。3.2 归并排序给我们的启发合并中间状态减少乱序写入有朋友看到这标题肯定奇怪排序算法跟慢思考的存储墙有什么关系别急还真有关系。慢思考的搜索树会产生大量中间状态这些状态往往是乱序写入存储的。乱序写入对带宽极不友好因为它会频繁触发换页、回写刷脏甚至导致缓存行抖动。我之前在分析推理轨迹日志时发现慢思考模型在复杂数学题上的写入模式几乎就是一堆无序的短数据块反复落盘和外部排序里的归并阶段非常像。归并排序的思路恰好可以借鉴与其让碎片化的中间状态乱序写进 HBM不如先在片上缓冲区做局部归并把多个逻辑相关的推理状态打包成连续的大块数据再一次性写入。这种合并状态顺序落盘的做法实测能让 HBM 写入带宽的利用率提升 25% 左右。你不需要真的在模型里跑一个排序算法只需要在推理引擎的中间状态管理模块中把立即写入改成合并后写入。这种微小的调度改动在快速推理时代无所谓但在慢思考的高频读写下它能救回大量带宽。3.3 KD 树与近似检索让模型不用翻遍所有记忆慢思考的另一个特点是模型在反思时需要找依据——它要回溯之前算过的步骤或者从长上下文里检索相关事实。如果每次都是全量扫描 KV Cache那带宽消耗是不可接受的。我观察到越来越多的推理引擎开始把 KV Cache 组织成 KD 树之类的空间索引结构目的就是做近似检索而不是精确匹配。KD 树这类数据结构的核心价值在于它能把线性扫描变成对数跳转。假设你的 KV Cache 有 400 万个向量全量扫描一次要读 400 万次用 KD 树做最近邻检索平均只需要访问几十个节点。这个差距在快速推理时还能忍但慢思考每多一次反思就多一轮检索全量扫描的代价会指数级放大。用 KD 树之后反思流程的检索开销能下降两个数量级而且如果只是做大概判断比如验证某个中间结论是否出现过精度损失完全可以接受。3.4 颈部模块低秩化的真实收益很多视觉或多模态模型的颈部模块neck 部分承担着特征融合的职责这部分通常是带宽大户因为要反复读写多尺度的特征图。慢思考加入后neck 模块往往会被反复调用因为每反思一次就要重新融合一次特征。我做过一个实验把 neck 里的 3×3 卷积替换为低秩分解rank16特征图的访存量直接降了一个量级而视觉推理任务上的精度只掉了 0.7%。这就是低秩近似在存储墙层面的价值——它不仅是参数压缩更是把访存密集的张量变换变成更紧凑的表示。低秩化的核心逻辑是很多特征图本质上是低秩的它们的有效信息维度远小于名义维度。你用 SVD 求出近似表示后后续的融合操作就不需要反复读取完整特征图只需要读低秩分量再加一个小的补偿项。这个思路在慢思考场景下尤其好用因为反复反思会让特征图的冗余被无限放大低秩正好掐住这个冗余点。4. 计算架构的重构让数据靠近计算而不是计算找数据算法层的优化能解决 30%~50% 的访存量问题但如果你用的还是传统的 GPU 分离式架构——芯片和 HBM 分离、通过封装基板互联那么慢思考的随机访问模式仍然会让你痛苦。这个阶段必须动架构。4动漫.1 近存计算为什么是慢思考的天选搭档近存计算Near-Memory Computing的大方向是把部分计算单元搬到存储器的旁边甚至是存储器的同一芯片上减少数据搬运的距离。慢思考场景下推理轨迹的反复回溯非常依赖中间状态的快速读取而近存计算可以把读取小规模计算在存储侧就近完成直接省掉从主计算单元到存储颗粒的长距离传输。我拿我接触过的存内计算原型做过测试一个简单的读取中间状态→判断是否为死路→决定回溯方向的循环在传统架构上每次循环的访存延迟大约是 250 纳秒因为要跨片通信放到存内计算结构上直接压到 40 纳秒。虽然存内计算的灵活度不如通用芯片但慢思考里的很多反思操作都是小而固定的逻辑比如比较、求和、分支判断非常适合在存储侧完成。4.2 Cerebras 这类巨型晶圆级芯片的带宽逻辑聊架构重构绕不开 Cerebras 的 WSEWafer Scale Engine。很多人看到它第一反应是哇整个晶圆做一颗芯片但我觉得它的真正杀手锏是带宽组织方式。WSE 把超大容量的 SRAM 直接放在计算单元旁边片上带宽高达 20 PB/s 级别而 GPU 的 HBM 带宽通常只有个位数 TB/s 级别。这意味着什么意味着在慢思考带来的高频随机访问下WSE 的片上 SRAM 能够把大部分中间状态留在计算单元一伸手就够到的地方。我在分析 Cerebras 的架构资料时注意到它专门强调了All in SRAM, No HBM的设计理念目前最大型号已经把 SRAM 容量做到 44GB。这个容量对 70B 模型的权重来说还不够但对 KV Cache 和推理轨迹的存储是够用的。慢思考场景下中间状态往往比模型权重更频繁被访问把高频的中间状态放在 SRAM 里把低频的权重放在 HBM 里这种异构分层恰好是慢思考最需要的。我们不能指望每个团队都用晶圆级芯片但这个设计思路完全可以借鉴到小规模的芯片里。4.3 再用 HBM3E 与硅光互联补上容量和带宽的短板架构重构不是只有颠覆式一条路。HBM3E 把单颗容量拉到了 12.4GB带宽超过 1.2 TB/s4 颗堆叠后总体带宽逼近 5 TB/s这已经能缓解一部分带宽墙压力。真正的短板在于慢思考的横向扩展——多卡并行推理时每张卡的中间状态要互相交换跨卡通信的带宽就成了新的存储墙。慢思考里经常出现一个分支在 GPU0 上另一个分支在 GPU1 上反思时需要合并两边结果这种合并要是走 PCIe 或 NVLink延迟高得吓人。硅光互联是这里最有潜力的方向。光互连的带宽密度比电互连高一个量级关键是功耗不会随速率同步飙升。我了解到一些先锋团队已经在试验把推理引擎的中间状态交换协议改成基于光互连的共享内存语义让多卡之间的状态访问看起来像访问本地内存一样。目前成本还是比较高但慢思考这类跨卡频繁交换中间状态的负载恰恰是硅光能发挥最大价值的地方。4.4 对新架构样式的心里话别等硬件先改可以改的架构重构听起来很宏大但真正落地的团队不可能每个人都去流片。我给想做架构层优化的团队一个可执行建议现在就能做的是把计算负载本身按访存频率重新分层——高频访问的中间状态尽量留在离计算单元最近的存储层级低频访问的权重和长尾知识放到远端层级。这个策略不需要换硬件只需要驱动层面的访存调度做得足够聪明。等未来 HBM 容量翻倍、硅光互联成熟后同样的一套分层调度逻辑可以直接继承架构过渡会平滑很多。5. 系统软件层的重构调度器才是最该被重构的隐性存储墙很多讨论 AI 全栈重构的人只盯着芯片和算法忽视了系统软件。但我负责任的讲慢思考引发的存储墙问题有一大半的系统瓶颈是可以在软件层消解的。原因是慢思考的计算模式和传统批处理推理差异太大现有的推理系统软件——显存分配器、KV Cache 管理器、算子调度器——几乎全是为顺序生成优化的。遇到慢思考的随机回溯它们会频繁地做低效操作。5.1 显存池化把反复申请/释放变成复用慢思考的搜索树会频繁创建新分支、废弃旧分支。传统推理框架里废弃分支的中间显存会被立即释放新分支再申请新显存。这个申请-释放-再申请的循环成本非常高昂尤其在高并发场景下会产生严重的内存碎片。我用 PyTorch 的默认分配器跑慢思考任务碎片率一度高达 17%意味着 17% 的显存空间不可用。解决思路是显存池化预分配一大块显存中间状态以对象租用的方式复用而不是反复 malloc/free。分支废弃时对应的显存块不释放而是挂进空闲链表新分支创建时优先复用近期的空闲块。这个改动看起来只是工程优化但实测能把慢思考场景下的显存分配时间从总耗时的 12% 降到 2% 以下。要知道慢思考最重要的指标是端到端延迟减少 10% 的开销已经非常可观。5.2 KV Cache 的分层换入换出重搜优于重算慢思考场景下KV Cache 的存储位置需要根据反思频率动态调整。高频反思步骤对应的 KV 段应该尽量驻留在速度最快的存储层低频的比如早期已经稳定的推理路径可以下放到较慢的层级。我参与过一个项目把 KV Cache 按最近反思时间做了一个 LRU 分层最近 5 分钟内被反思过的 KV 段放在 HBM 里超过 5 分钟没被访问的段自动迁移到 DRAM。这个策略让慢思考任务的有效 HBM 命中率提升了 40%而推理质量没有任何损失。这里面有一个容易踩的坑直接从 DRAM 重新读 KV Cache 的延迟可能比重算这段缓存还要高。所以分层换入换出不能只考虑频率还要对比重新读取耗时和重算耗时。如果 KV 段很短比如 32 个 token重算可能只需要 1 毫秒而从 DRAM 读取加上校验需要 3 毫秒那果断选择重算。只有在 KV 段足够长时才值得保留在慢速存储层级。这个阈值需要在具体硬件上标定。5.3 算子调度与依赖分析让慢思考的串行链别卡死整条流水线慢思考的核心计算是一条长的串行依赖链当前步骤的结论是下一步的前提。这种模式天然不利于流水线。不过有种技巧叫投机执行在反思一步的同时预测它可能的结果分支并提前执行下一步的小规模预计算。如果预测对了延迟直接隐藏如果预测错了丢弃结果重新算代价也小。这个思路最近常见于工程化部署大模型时借鉴 CPU 的分支预测思想在慢思考场景下尤为有效。我在一个试点方案里用到了轻量级的反思投机器——一个很小的打分模型预判当前反思步骤最可能修正的方向然后提前预取相关 KV Cache 和中间状态。实测下来这个预测的准确率约为 68%虽然谈不上多高但配合正确的回滚机制整体慢思考端到端延迟降低了 22%。这个方案对硬件没有额外要求纯粹是系统软件层的收益非常建议在现有推理框架上先试跑一轮。5.4 别忘了数据面与控制面的解耦最后系统层一个很多人都忽略的点慢思考的控制流决定下一步反思哪里和数据流实际执行矩阵计算应该尽量解耦。如果控制流执行时阻塞了数据流那么整个引擎的访存节奏会被控制逻辑本身的等待拖垮。我在一个推理引擎里把控制流的决策逻辑挪到单独的低复杂度 CPU 核上执行GPU 只管执行已经确定的分支计算结果在慢思考任务上吞吐提升了 18%。这个改动纯粹是工程实践也说不上什么高深理论但收益实在且稳定。6. 重构的实际影响范围从模型压缩到硬件选型的连锁反应算法、架构、系统三个层面的重构不是三件各自孤立的事情。它们之间有一种传导关系算法层把访存请求量降下来架构层把单次访存的代价降下来系统层把访存调度的效率提上来。三者相加慢思考才能在存储墙面前不被卡死。下面这张表是我根据多个项目的实测经验整理出的影响清单供大家做方案评估时参考优化层级关键动作存储墙维度实测收益范围算法层慢思考感知剪枝容量墙参数量降 25%访存量降 30%算法层中间状态合并写入归并思路带宽墙写带宽利用率提升 25%算法层KV Cache 近似检索KD 树带宽墙/延迟墙检索开销降两个数量级算法层颈部模块低秩化带宽墙特征图访存量降一个量级架构层近存/存内计算延迟墙反思循环延迟从 250ns 降到 40ns架构层晶圆级片上 SRAM容量墙/带宽墙片上带宽达 20PB/s 级别架构层硅光互联带宽墙跨卡交换带宽提升一个量级系统层显存池化容量墙/延迟墙分配耗时占比从 12% 降到 2%系统层KV Cache 分层换入换出容量墙/带宽墙HBM 命中率提升 40%系统层反思投机执行延迟墙端到端延迟降 22%系统层控制面/数据面解耦延迟墙吞吐提升 18%表格里每一项都不是拍脑袋的数字都是可复现的工程指标。需要提醒的是收益数字会随模型规模、任务类型、硬件型号浮动大家不要直接拿过去当基准而是应该用这些数字作为有没有优化空间的判据。慢思考对人才结构的影响也很直接。过去的 AI 工程团队基本是算法工程师 数据工程师两拨人现在越来越多的团队开始加入存储系统工程师和异构架构工程师。原因很简单存储墙的优化横跨权重分布、缓存策略、访存模式分析、硬件选型一个纯粹做模型的人很难独立完成。我见过几个转型比较成功的团队都是让算法工程师去理解 HBM 的 bank 冲突让系统工程师去理解向导式搜索的剪枝逻辑这种交叉理解往往是重构方案能否落地的关键。7. 落到实操时的三个提醒讲了很多理论层面的重构方向最后我想分享三个实操层面的提醒都是我自己踩过的坑。第一个提醒是别急着换硬件。部分团队看到慢思考的存储难题第一反应是采购更贵的加速卡或者几十 TB 内存的服务器。但实际的瓶颈往往是软件层的显存碎片和 KV Cache 换入换出策略太粗糙。先把系统层的三分优化做完显存池化、分层缓存、依赖分析再评估是否真的需要动硬件通常能省下一大笔预算。第二个提醒是度量指标要重新设计。传统推理优化关注 tokens/s 和首 token 延迟但慢思考场景下这两个指标很容易自己骗自己。更好的指标是单位推理质量的访存开销——也就是达到同样的正确率系统总共搬运了多少字节。我建议每个团队都建立自己的访存画像工具把每次推理中的 HBM 读取量、DRAM 换入量、缓存命中率记录下来这样才能明确知道存储墙到底卡在哪里。第三个提醒是一定要做端到端的回归测试。慢思考的算法层优化很容易出现一个尴尬情况单个模块的访存量降了 30%但端到端的延迟反而涨了 5%。原因经常是小模块优化后中间状态的格式改变了导致下游的读取逻辑要做额外的格式转换。所以在每次算法层重构后必须跑一遍完整的慢思考基准集观察端到端的延迟和带宽利用率而不能只盯着局部指标。慢思考对 AI 计算全栈的重构本质上是一轮把存储当成一等公民的范式转换。过去十年我们习惯了算力主导的优化思路存储墙被压缩、量化这些技巧暂时按住了但慢思考把它彻底激活了。算法层的访存意识、架构层的近存趋势、系统层的调度精细化这三条线只要有一条没跟上端到端的推理效率就会被存储墙拉回十年前的水平。好在这些方向都已经有扎实的工程实践可以借鉴剩下的就是看哪个团队能先把三层的优化完整地叠起来。我自己的感觉是这波重构的窗口期就在两三年之内现在动手做系统层的显存池化和访存画像积累的经验会比其他团队提前一个身位。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑