一个硬件猜想:8GB SRAM 能否挑战 160GB HBM

假设华为做一块推理卡,不是走 HBM 路线,而是:

  • 8GB 片上 SRAM 做显存(~2000 mm² 在 7nm,需 3-4 个 chiplet 拼装)
  • Apple 式统一内存架构:每卡独享 LPDDR5X 池,带宽 ~800 GB/s
  • 智能预读引擎:利用 Transformer 层序可预测的特性,提前加载下一层权重

拿它跑 1T 参数大模型,和 160GB HBM3 的卡对比。结果如何?


一、先看推理

1T 模型怎么拆

1T 参数,INT4 量化 ≈ 500GB。无论 HBM 还是 SRAM,单卡都装不下。必须做模型并行。

假设 64 卡并行,按层切分:每卡约 16B 参数,INT4 后 ≈ 8GB

HBM 方案(单卡 160GB): 8GB 权重 + 4-8GB KV cache,空间充裕。
SRAM 方案(单卡 8GB): 8GB 权重刚好塞满 SRAM,KV cache 走 DDR(800 GB/s/卡)。

推理是 memory-bound,不是 compute-bound

batch=1 推理,每 token 生成需要遍历全部权重。以 16B 参数(INT4 8GB)为例:

  • 总计算量:每 token 每卡约 46G FLOPs
  • 理论计算时间(300 TFLOPS BF16 算力):约 0.15ms,实际含效率约 0.5ms
  • 权重读取时间
    • HBM:8GB ÷ 3.35 TB/s = 2.4ms
    • SRAM:8GB ÷ 30 TB/s = 0.27ms

结论:推理延迟由内存带宽决定,不计算力。SRAM 权重访问比 HBM 快 9x,这是第一个关键优势。

KV cache 分析

假定模型:128 层、hidden dim 16384、GQA 8 组 KV head、head dim 128。

  • 每 token 每层新增 KV:8 × 128 × 2(字节) × 2(K+V) = 4KB → 128 层 = 0.5MB
  • 生成第 S 个 token 时,历史 KV 总读取量 = S × 0.5MB
序列长度 S KV 总读取量 DDR 耗时(800 GB/s) HBM 耗时(3.35 TB/s)
1024 0.5 GB 0.6ms 0.15ms
4096 2.0 GB 2.5ms 0.6ms
8192 4.0 GB 5.0ms 1.2ms

推理延迟对比(每 token 生成)

每 token 总延迟 = 权重读取 + KV cache 读取 + 计算

  HBM:  2.4ms(权重)+ S×0.15μs(KV)+ 0.5ms(计算,与读重叠)
  SRAM: 0.27ms(权重)+ S×0.63μs(KV)+ 0.5ms(计算,与读重叠)
序列长度 HBM 耗时 SRAM+DDR 耗时 优劣
1024 ~2.6ms ~0.9ms SRAM 快 2.9x
4096 ~3.0ms ~2.8ms 基本打平
4500 ~3.1ms ~3.1ms 临界点
8192 ~3.6ms ~5.3ms HBM 快 1.5x
32768 ~7.3ms ~20ms HBM 快 2.7x

关键发现:序列长度约 4500 以下是 SRAM 更快。绝大多数生产部署(≤4K context)下 SRAM 方案反而占优。

对标 HBM 推理方案

对比项 HBM SRAM + DDR
权重访问带宽 3.35 TB/s ~30 TB/s(片上,9x 优势)
KV cache 带宽 3.35 TB/s 800 GB/s(约为 1/4)
≤4K 序列推理 基准 更快(~2.5x)
≥8K 序列推理 更快 慢 1.5-3x
预读依赖 不需要 权重层间预读有帮助

二、再看训练

先纠正一个常见误区

HBM 的数据也不是凭空来的。在 ZeRO-3 训练中,每步参数都是从其他卡通过 NVLink all-gather 过来的,不是一开始就躺在 HBM 里不动。

ZeRO-3 每步流程:
  1. all-gather:从其他卡收集完整参数(走 NVLink 450 GB/s/卡)
  2. 前向计算
  3. all-gather:再次收集参数(反向需要完整参数)
  4. 反向计算
  5. reduce-scatter:梯度分散到各卡
  6. 优化器更新:每卡只更新自己的分片

HBM 的优势不在于"数据不用搬进来",而在于"搬进来后可以留下来不搬出去"。

每卡训练状态(1T 参数 BF16,256 卡 ZeRO-3)

状态 全局大小 每卡分片
参数(BF16) 2TB 8GB
梯度(BF16) 2TB 8GB
优化器状态(Adam) 4TB 16GB
合计 8TB 32GB

核心差异:优化器状态驻留位置

HBM 方案:
  前向/反向时 all-gather 参数 → 逐层送入 HBM → 计算 → 丢弃
  梯度 + 优化器状态 → 32GB 常驻 HBM(3.35 TB/s)
  优化器更新 → 32GB 在 HBM 内吞吐,约 10ms

SRAM + DDR 方案:
  前向/反向时 all-gather 参数 → 逐层送入 SRAM → 计算(权重读写快 9x)
  梯度 → 写回 DDR;优化器状态 → DDR 常驻
  优化器更新 → 从 DDR 读 16GB + 写回 16GB(800 GB/s),约 40ms

  每步额外 DDR 流量 = 优化器状态 32GB + 梯度 8GB = 40GB

训练步时对比

每步训练时间(256 卡 ZeRO-3,粗估):

  HBM 方案:
    前向 + 反向:90ms(计算 + 权重读 HBM,与 NVLink 并行重叠)
    all-gather + reduce-scatter:35ms(NVLink,不可消除)
    优化器更新:10ms(全在 HBM 内)
    ─────────
    合计 ≈ 135ms/step

  SRAM + 统一内存方案:
    前向 + 反向:80ms(SRAM 读权重快 9x,省约 10ms)
    all-gather + reduce-scatter:35ms(NVLink,与 HBM 相同)
    优化器更新:40ms(DDR 800 GB/s,全量 32GB 读写)
    ─────────
    合计 ≈ 155ms/step

差距分解

差距因素 HBM SRAM+DDR 净差距
NVLink 通信 35ms 35ms 0
前向+反向权重访问 基线 快 ~10ms SRAM +10ms
优化器更新 10ms(HBM 内) 40ms(DDR) SRAM -30ms
合计 135ms 155ms SRAM 慢 ~15%

差距只有 ~15%。原因很简单:两种方案共享同样的 NVLink 开销(占总步时 ~25%),而 SRAM 在计算阶段的权重带宽优势部分抵消了优化器状态的 DDR 代价。

小规模训练时差距会更大

如果只有 8 卡训练一个小得多的模型(不切分参数,不依赖 ZeRO-3),则:

  • HBM:权重 + 优化器状态全在 HBM 内,无外部搬运
  • SRAM:必须频繁换入换出,DDR 带宽成为绝对瓶颈

所以 SRAM 路线的训练竞争力建立在"大力出奇迹"的大规模并行上——卡越多,NVLink 通信占比越高,DDR 瓶颈越被摊平。


三、结论

对比项 推理 训练
SRAM 能否挑战 HBM? 短序列更快 可接近
≤4K 上下文推理 SRAM 快 2.5-3x
4K-8K 上下文推理 基本打平
≥8K 上下文推理 HBM 快 1.5-3x
256 卡并行训练 慢 ~15%

推理:SRAM 在主流场景下占优

权重访问带宽 9x 优势是实打实的。当前绝大多数 LLM 部署的上下文窗口在 4K-8K 之间,正好落在 SRAM 的优势区或持平区。只有在长文档分析(≥16K context)场景下,HBM 才显著反超。

更关键的是,SRAM 方案可以通过增加片上 SRAM 扩容直接提升序列长度临界点(如 16GB SRAM 可将临界点推到 ~9K tokens),而 HBM 的带宽提升受限于 JEDEC 标准和物理层迭代。

训练:差距仅 15%,且可进一步优化

优化器状态 DDR 重载是唯一差距来源。这在实际系统中可以通过以下手段进一步压缩:

  • 异步预取:在当前步计算时提前加载下一步的优化器状态
  • FP8 优化器:Adam 状态从 16GB 压缩到 8GB,DDR 传输量减半
  • 分级缓存:在 SRAM 中留一个小 buffer(512MB)给热点优化器状态页

这些叠加后,训练差距可压缩到 10% 以内。

功耗优势值得单提

SRAM 片上读写功耗 ~1pJ/bit,HBM PHY + TSV 约 3.5-7pJ/bit。8GB 权重 + KV 频繁读写下,SRAM 方案单卡功耗可低 30-50W。在大规模部署中,这对 TCO 影响显著。

综合成本:SRAM 方案明显更低

成本项 HBM 方案 SRAM + DDR 方案
显存单价 HBM3 ~$15-20/GB SRAM 片上 ~$5-8/GB(按面积折算)
外部内存 LPDDR5X ~$3-5/GB
先进封装 CoWoS ~$800-1500 标准封装 ~$50-100
GPU 大 die 5nm/4nm,~$600-1000 4 个 chiplet × 7nm,~$400-600 合计
单卡 BOM 粗估 $3500-5500 $800-1200

同样跑 1T 模型需要 64 卡,集群成本:

  • HBM:64 × ~$4000 ≈ $25.6 万
  • SRAM:64 × ~$1000 ≈ $6.4 万

算力购买成本差约 4x,叠加每卡省 30-50W 功耗(假设 3 年寿命、$0.1/kWh,64 卡再省 ~$10 万电费),综合 TCO 差约 3-5x

当然,算力密度是另一回事——SRAM 卡每卡只跑 8GB 分片,集群卡数和 HBM 方案相当,不存在"用更少卡"的可能。

更现实的约束是:HBM 对中国禁运,"HBM 卡每 GB 多少钱"是个伪命题——根本买不到。所以真实成本差是


但这个猜想的价值不在于"比不比得过"

之所以值得写这篇推演,是因为:

  1. HBM 的供应链问题——中国目前拿不到先进 HBM 设备
  2. SRAM 可以在逻辑代工厂制造——SMIC 7nm 可产出,虽然面积代价高(8GB ≈ 2000 mm²,需 3-4 chiplet),但物理可行
  3. 统一内存 + 预读引擎——系统级方案,存在明确的优化空间
  4. 推理场景下 SRAM 真有优势——不是"勉强接近",是短序列下实实在在更快

如果只看推理,SRAM 路线不仅不是退而求其次,在主流上下文窗口(≤8K)下反而是性能更优的选择。即便训练落后 10-15%,对于以推理部署为主的国产 AI 芯片来说,这是一个工程上成立、商业上有机会的方案。

用政治逻辑说:它是制裁下的过渡方案;用工程逻辑说:它在推理这个主战场上,未必是过渡方案,可能是另一种正确答案。

这个猜想,没有推翻 HBM,但指出了"无 HBM 可用"不仅不是死路,在推理上可能还是另一条快车道。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐