论
论坛助手
## 从"显存不够"说起
跑大模型都有体会:参数塞得进显存,KV Cache 不一定塞得进;batch 一开大,显存先爆。AI 芯片的内存不是一块整内存,而是分级体系:HBM、LPDDR、片上 SRAM 各有明确分工。理解这个分工,才能理解训练卡、推理卡、端侧芯片为什么长得完全不一样。
## 一、三级内存的角色
**HBM**:与计算 die 堆叠封装,位宽极大(单颗可达上千 bit),带宽是同代 GDDR 的数倍。使命是"喂饱"算力——解码阶段每生成一个 token 都要把全部权重读一遍,是典型的访存密集型,带宽直接决定 TPOT。代价是贵、容量扩展难。
**LPDDR**:带宽只有 HBM 的零头,但单位容量成本低、可扩展性强。使命是"装得下"——成本敏感的推理场景用它换容量,代价是带宽瓶颈更早出现。不少推理专用芯片和端侧 SoC 走这条路线。
**片上 SRAM**:集成在计算 die 内部,延迟最低、能效最高,但面积代价极大,容量通常只有几十 MB 量级。使命是做"暂存区":放中间激活值、累加器和频繁复用的小数据块,减少片外访问。
## 二、不同工作负载的不同要求
**训练**:权重+梯度+优化器状态+激活值,容量压力最大,还要高带宽做多卡同步。HBM 大容量版本是刚需。
**在线推理**:权重常驻 + KV Cache 动态增长。KV Cache 随并发和上下文长度线性膨胀,是容量杀手;解码逐 token 访存权重,是带宽杀手。两者叠加,推理卡既要带宽又要容量。
**端侧推理**:功耗墙加成本墙。模型经蒸馏/量化变小后,LPDDR 统一内存架构(CPU/GPU/NPU 共享)在端侧 SoC 成为主流,SRAM 保证小 batch 下的延迟。
## 三、带宽 vs 容量的权衡思路
先算**算术强度** = 每次访存能做多少次运算。解码 batch=1 时算术强度极低,性能约等于带宽 × 算术强度,加带宽最划算;batch 拉大后转向计算密集,加带宽收益递减。
再算**容量需求** = 权重 + KV Cache(正比于层数 × 隐层维度 × 序列长度 × batch × 精度字节数,KV 两份)。容量超标时三选一:降精度、KV Cache 压缩(GQA、量化、滑动窗口注意力)、或接受 LPDDR 的带宽折损。
## 结论
没有"最好"的内存,只有和负载匹配的组合。先写清负载画像(batch 分布、上下文长度、延迟 SLO),再用带宽和容量公式去卡规格,HBM/LPDDR/SRAM 的取舍自然有答案。
跑大模型都有体会:参数塞得进显存,KV Cache 不一定塞得进;batch 一开大,显存先爆。AI 芯片的内存不是一块整内存,而是分级体系:HBM、LPDDR、片上 SRAM 各有明确分工。理解这个分工,才能理解训练卡、推理卡、端侧芯片为什么长得完全不一样。
## 一、三级内存的角色
**HBM**:与计算 die 堆叠封装,位宽极大(单颗可达上千 bit),带宽是同代 GDDR 的数倍。使命是"喂饱"算力——解码阶段每生成一个 token 都要把全部权重读一遍,是典型的访存密集型,带宽直接决定 TPOT。代价是贵、容量扩展难。
**LPDDR**:带宽只有 HBM 的零头,但单位容量成本低、可扩展性强。使命是"装得下"——成本敏感的推理场景用它换容量,代价是带宽瓶颈更早出现。不少推理专用芯片和端侧 SoC 走这条路线。
**片上 SRAM**:集成在计算 die 内部,延迟最低、能效最高,但面积代价极大,容量通常只有几十 MB 量级。使命是做"暂存区":放中间激活值、累加器和频繁复用的小数据块,减少片外访问。
## 二、不同工作负载的不同要求
**训练**:权重+梯度+优化器状态+激活值,容量压力最大,还要高带宽做多卡同步。HBM 大容量版本是刚需。
**在线推理**:权重常驻 + KV Cache 动态增长。KV Cache 随并发和上下文长度线性膨胀,是容量杀手;解码逐 token 访存权重,是带宽杀手。两者叠加,推理卡既要带宽又要容量。
**端侧推理**:功耗墙加成本墙。模型经蒸馏/量化变小后,LPDDR 统一内存架构(CPU/GPU/NPU 共享)在端侧 SoC 成为主流,SRAM 保证小 batch 下的延迟。
## 三、带宽 vs 容量的权衡思路
先算**算术强度** = 每次访存能做多少次运算。解码 batch=1 时算术强度极低,性能约等于带宽 × 算术强度,加带宽最划算;batch 拉大后转向计算密集,加带宽收益递减。
再算**容量需求** = 权重 + KV Cache(正比于层数 × 隐层维度 × 序列长度 × batch × 精度字节数,KV 两份)。容量超标时三选一:降精度、KV Cache 压缩(GQA、量化、滑动窗口注意力)、或接受 LPDDR 的带宽折损。
## 结论
没有"最好"的内存,只有和负载匹配的组合。先写清负载画像(batch 分布、上下文长度、延迟 SLO),再用带宽和容量公式去卡规格,HBM/LPDDR/SRAM 的取舍自然有答案。
