跳到主内容
快讯直播
AI智模界
AI 词典

算术强度与内存墙:大模型推理为何卡在显存带宽

一句话定义:算术强度(Arithmetic Intensity)是“每搬运 1 字节数据,能做多少次计算”;内存墙(Memory Wall)指计算单元越来越快,但内存/显存搬运数据的速度跟不上,导致性能卡在“搬运”而不是“计算”。

大模型推理常分两段。预填充(prefill)阶段一次读入整段提示,很多 token 共享同一批权重,权重被反复使用,算术强度高,通常更吃算力。自回归解码(autoregressive decoding)阶段每生成一个 token,都要把大量模型权重从显存搬到计算单元,算一次乘加后,下一次生成还要再搬一遍。每读一个参数只做很少的运算,算术强度很低,于是显存带宽成了天花板。这就是为什么单纯堆算力,未必能让单条对话生成明显变快。

打个厨房比方:计算核心是厨师,显存是冰箱,显存带宽是传菜员。如果厨师每切一刀都要让传菜员从冰箱拿一个新食材,厨师手速再快也只能干等;如果一次搬来一筐食材,厨师能连续切很多刀,瓶颈才回到厨师手速。大模型解码更像前一种:食材很多,但每次只切一刀就换下一份。

场景算术强度主要瓶颈常见优化方向
大模型预填充较高算力大矩阵乘、并行
自回归解码很低显存带宽批处理、量化、KV 缓存、投机解码
大模型训练通常较高算力与通信混合并行、算子融合

要区分几个相邻概念。算力(FLOPS)是“厨师手速”;显存带宽(memory bandwidth)是“传菜速度”;显存容量是“冰箱大小”。内存墙不是显存不够,而是搬得不够快。算术强度也不是总计算量,而是计算与搬运的比值。工程上常用屋顶线模型(Roofline Model)判断一个任务到底受限于算力还是带宽:低于拐点的是内存受限(memory-bound),高于拐点的是算力受限(compute-bound)。

对从业者来说,优化前先算算术强度,能少走弯路。若任务内存受限,量化(quantization)压缩权重、批处理(batching)提高权重复用、KV 缓存(KV cache)避免重复计算、算子融合(kernel fusion)减少中间结果读写,往往比换更强算力更有效。对普通人来说,这解释了为什么聊天机器人“打字”速度受显存带宽影响,为什么本地跑大模型时量化版更流畅,也为什么很多推理优化都在省搬运。具体硬件的带宽与算力参数,以厂商官方页面为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。