内存计算:DRAM 即将能进行数学运算
摘要
三星在 Hot Chips 2026 上展示了具有集成计算单元的 16 GB LPDDR5X 内存包,提供 614 GB/s 内部带宽,通过克服内存带宽限制显著提升 AI 推理性能。
暂无内容
查看缓存全文
缓存时间: 2026/08/28 21:30
# 内存处理:DRAM即将开始计算
来源:https://ben3d.ca/blog/processing-in-memory
在Hot Chips 2026(https://www.servethehome.com/samsung-lpddr5x-pim-at-hot-chips-2026/)上,三星展示了一款16GB LPDDR5X内存封装,其内部带宽可达614GB/s,为自身的计算单元提供支持。
作为对比,614GB/s的带宽与Apple M5 Max在其整个统一内存系统中(即售价3499美元的MacBook Pro中40核GPU配置)的内存带宽相当。三星声称该数据来自单个内存封装内部,而其通过外部引脚输出的带宽为76.8GB/s。Tom's Hardware报道了由此产生的八倍差异(https://www.tomshardware.com/pc-components/dram/hot-chips-2026-samsung-makes-lpddr5x-smart-with-logic-unit-in-memory-lpddr5x-pim-is-3-01x-faster-than-lpddr5x-in-ai-inference-with-8x-the-bandwidth)。
LPDDR PIM 示意图
这八比一的比率充分说明了内存处理的价值。DRAM存储库已经提供了大部分带宽,只是外部引脚无法将其完全暴露出来。
## 术语(https://ben3d.ca/blog/processing-in-memory#the-terms)
**存储库(Bank)。** DRAM包含多个存储库,即可以并行操作的独立阵列。现代LPDDR5X芯片拥有数十个存储库。它们共同提供了巨大的内部吞吐量,但共享一个狭窄的外部接口。
**GEMV与GEMM。** 矩阵-向量乘法与矩阵-矩阵乘法。批大小为1的自回归解码使用GEMV:将一个token的激活值与整个权重矩阵相乘。预填充和批处理服务使用GEMM。PIM对GEMV的帮助最大。
**PIM。** 内存处理技术将计算单元放置在存储库旁边,位于内存芯片内部,使其能够使用存储库级带宽而非接口带宽。
**算术强度。** 每加载字节所执行的浮点运算次数。高强度使工作负载成为计算瓶颈;低强度使其成为带宽瓶颈,导致矩阵引擎闲置。
## 瓶颈在于内存带宽(https://ben3d.ca/blog/processing-in-memory#the-bottleneck-is-memory-bandwidth)
生成一个token需要从DRAM读取每个参数,进行一次乘法运算,然后丢弃。每个token都依赖于前一个token,因此批大小为1的解码无法跨token复用权重。算术强度几乎处于最低水平。
一阶模型:
```
tokens/sec ≈ memory_bandwidth_GB/s ÷ model_size_GB
```
以614GB/s的带宽对抗20GB的模型,理论上限约为每秒30个token。实际数字会更低,因为KV缓存会随上下文增长并争夺相同的带宽。在生成过程中,你购买的大部分矩阵硬件都在等待DRAM。
Apple的本地推理性能核心在于内存带宽。M5 Pro提供307GB/s,M5 Max提供460或614GB/s,M5 Ultra则达到1.2TB/s(https://www.apple.com/mac-studio/specs/)。这些数字比TFLOPS更能预测每秒token数。Apple为此支付了更宽的外部接口。
而三星的设计将大部分数据传输保留在内存封装内部。
## 三星构建了什么(https://ben3d.ca/blog/processing-in-memory#what-samsung-built)
十六个PIM模块与DRAM存储库并列,其内并行运行着MAC树,还有一个ALU处理浮点和整数类型。该封装是JEDEC标准的561引脚部件,每个rank包含4个芯片,总容量16GB。三星针对服务器、移动设备和客户端,采用与普通LPDDR5X相同的封装尺寸。
该封装分四步处理数据,每一步都对软件产生影响:
1. **激活值写入。** 十六条`WRPB`命令将FP8激活数据从主机广播到各存储库的源寄存器文件中。
2. **权重加载。** `PIMX_RD`从DRAM单元格读取32字节的权重元素,将其映射到各个MAC树,并在向量寄存器文件中合并输出。
3. **向量存储。** `PIMX_WR`将部分和移回存储库。读写比可以变化,而不是固定在1:1。
4. **回读。** 主机切换到单存储库模式,发出最多64次连续读取来清空1-kbit向量寄存器文件。
权重保留在封装内部。只有小得多的激活值需要通过总线传输,而主机则向PIM块发送命令。
三星通过配置寄存器中的MAC精度字段支持十五种精度组合。SINT4权重可达到2.4 TOPS;FP8可达到每个封装约1.2 TFLOPS。
### 传统内存控制器可以使用它(https://ben3d.ca/blog/processing-in-memory#conventional-memory-controllers-can-use-it)
三星称其兼容机制为地址对齐模式(Address Align Mode)。它将DRAM地址映射到MAC指令,使该部件能够与传统DRAM控制器一起工作。系统通过预定义的行和PIM寄存器在用于普通DRAM的单存储库模式和用于PIM的多存储库模式之间切换。三星表示,与早期的HBM-PIM部件相比,这种方法切换模式更快、更可靠。
要求每个SoC供应商构建新的内存控制器本可能将PIM限制在研究原型阶段。地址对齐模式避免了这一要求,但留下了软件集成这个更大的问题。
### 测量结果(https://ben3d.ca/blog/processing-in-memory#the-measured-result)
三星在其边缘AI加速器SoC上验证了实际芯片。它在运行Llama 3.1 8B(320 token上下文)时,比较了LPDDR5X与LPDDR5X-PIM,使用SINT8激活、SINT4权重和SINT32输出。
| 项目 | LPDDR5X | LPDDR5X-PIM | 提升倍数 |
|--------------|---------|-------------|----------|
| 运行时间 | 12.3 秒 | 5.4 秒 | 2.28x |
| 吞吐量 | 27 tok/s | 81.3 tok/s | 3.01x |
这个供应商基准测试涵盖了一个模型、一个短上下文、一个加速器以及全链路整数量化。它证明了该架构在芯片上是可行的。但它并不能预测所有工作负载的性能。特别是320 token的上下文最小化了KV缓存问题。
三星尚未公布封装定价,因此与更宽内存接口相比的成本优势目前仍是一个声明,而非实测结果。
## 为什么内存厂商在意(https://ben3d.ca/blog/processing-in-memory#why-memory-vendors-care)
三星以一张成本幻灯片开场。内存成本在AI芯片组件支出中的占比从2024年第一季度的52%增长到2025年第四季度的63%,其中HBM占了大部分。
LPDDR5X-PIM为客户提供了获得HBM级推理带宽的途径,而无需支付HBM的价格、功耗或封装复杂性。三星自2021年Aquabolt-XL HBM2-PIM概念验证以来一直在追求这个想法。LPDDR5X-PIM是其首个基于LPDDR的PIM设计达到产品化。
## 软件问题(https://ben3d.ca/blog/processing-in-memory#the-software-protein)
llama.cpp、vLLM或其他主流运行时中都没有PIM后端。三星提供模拟器、可按需提供的数据手册以及包含参考工具的SDK。在供应商软件栈和`--pim`标志之间存在三个障碍。
### 1. K-quants无法映射到硬件(https://ben3d.ca/blog/processing-in-memory#1-k-quants-do-not-map-to-the-hardware)
llama.cpp的大部分每比特质量优势来自于GGUF k-quants(如Q4_K_M)。这些格式使用分块量化,具有每块缩放因子和超块缩放因子。CPU和GPU可以在附近的通用ALU上执行每块的少量反量化操作。
DRAM芯片上的通用逻辑很少。PIM MAC单元保持小巧,因为DRAM制造工艺为存储电容进行了优化,而非逻辑晶体管,且每增加一个晶体管都会降低存储密度。关于内存激活量化(https://arxiv.org/html/2604.18137)的研究发现,主流量化方案需要在MAC单元之上添加额外的缩放和控制硬件。一项被引用的设计为了支持FP16和INT32,增加了约126%的面积开销。其他关于跨内存层次结构处理(https://arxiv.org/pdf/2602.11521)和高效稀疏PIM(https://arxiv.org/pdf/2404.04708)的研究也显示出对芯片面积开销的相同敏感性。
三星最小的MAC单元无法执行k-quants的缩放操作。其十五种精度模式使用均匀格式,包括基准测试中的SINT4和SINT8组合。它们不实现Q4_K_M。现有的GGUF文件需要重新量化为PIM原生布局,而我们尚不清楚k-quants的质量优势能保留多少。
### 2. 物理内存布局(https://ben3d.ca/blog/processing-in-memory#2-physical-memory-layout)
`mmap`允许内核将页面分散在物理DRAM中。PIM需要权重矩阵被连续放置并与其MAC树将要乘以它的存储库对齐。三星的`PIMX_RD`从单元格中读取32字节的权重元素并映射到MAC树,这仅在数据占据预期位置时才有效。
操作系统需要一个向用户空间暴露的、支持大页面、存储库感知的分配器。macOS、Linux和Windows今天都不提供这个。llama.cpp的内存映射模型加载(使其易用的特性之一)与这一要求相冲突。
### 3. 存储库级PIM有利于GEMV(https://ben3d.ca/blog/processing-in-memory#3-bank-level-pim-favors-gemv)
当前的近存储库设计,包括三星的HBM2-PIM、SK海力士的GDDR6-PIM和LPDDR5X-PIM,都针对GEMV。这适合批大小为1的解码,而这正是带宽壁垒伤害最大的地方。
现代推理也介于纯粹的GEMV和密集的GEMM之间。批处理将多个查询的GEMV操作组合成GEMM。分组查询注意力将多个GEMV合并成窄GEMM。这些操作提高了算术强度,但通常仍然太窄,无法让GPU保持忙碌。CENT架构论文(https://arxiv.org/pdf/2502.07578)分析了这一操作强度差距。
GQA出现在大多数当前模型中。推测解码也处于这种中间地带,因为并行验证草稿token会将GEMV转换为GEMM。关于LPDDR-PIM推测推理(https://arxiv.org/html/2508.07227)的研究发现,这种转换降低了专注于GEMV的PIM设计的效率。小批量本地服务面临同样的问题。
### 多token预测呢?(https://ben3d.ca/blog/processing-in-memory#what-about-multi-token-prediction)
多token预测有两个作用。模型可以将其用作训练目标(如DeepSeek-V3(https://arxiv.org/html/2412.19437v1)所做的),并在普通推理中丢弃额外的预测模块。推理运行时也可以将这些模块用作推测草稿生成器:它们提议几个未来的token,然后主模型并行验证这些候选者。Google报告称,使用Gemma 4时这种方法可带来高达3倍的加速(https://blog.google/innovation-and-ai/technology/developers-tools/multi-token-prediction-gemma-4/)。
这个验证步骤暴露了三星设计的弱点。在一个过程中检查多个候选token会将大型线性层从GEMV转向窄GEMM。存储库内的MAC单元仍然可以执行一些内存密集型工作,但它们无法在这些更宽的操作上使用其完整的存储库级吞吐量。三星当前的设计还阻止了NPU在PIM运行时访问DRAM,这防止了两个处理器同时处理一个层。
MTP和PIM可以在异构系统中协同工作。PAPI(https://ar5iv.labs.arxiv.org/html/2502.15470)提出了一种调度器,在运行时测量解码并行性,并将内存密集型内核发送到PIM,同时将计算密集型内核保留在GPU上。该研究架构使用了比三星LPDDR5X-PIM封装更灵活的硬件。
加速效果不会简单叠加,因为两种技术都降低了读取模型权重的成本。MTP将一次权重读取分摊到多个被接受的token上;PIM使每次剩余的读取变得更快。在今天可以购买的硬件上,对于具有准确草稿头的模型,MTP可能提供更大且更便宜的收益。其收益取决于草稿接受率和验证成本,而PIM的收益取决于模型布局、量化以及仍然是GEMV的工作比例。
混合专家模型增加了不均匀的内存访问。路由将token发送到一部分专家。如果这些专家占据一部分存储库,则某些存储库会变热,而其他存储库则处于空闲状态。可变工作负载还会产生变化的GEMV与GEMM比例,从而降低硬件利用率。
计算机架构师已经探索了几种应对方法:
* **拆分工作。** AttAcc、IANUS和NeuPIMs保留一个NPU用于计算密集型预填充GEMM,使用PIM用于内存密集型解码GEMV。一篇关于集成NPU-PIM加速器的综述(https://arxiv.org/html/2511.06838v4)涵盖了这种异构方法。
* **将计算移至逻辑芯片。** Duplex(https://arxiv.org/pdf/2409.01141)针对MoE、GQA和连续批处理,在HBM逻辑芯片上放置32个GEMM模块。每个模块有512个FP16 MAC和一个8 KB缓冲区。它们总共消耗17.80 mm²,约为121 mm² HBM3芯片的14.7%。逻辑芯片可以负担真正的GEMM单元;而DRAM存储库旁边的面积则不能。
* **在内存内部构建异构计算。** CENT从CXL系统中移除了GPU。HALO按阶段拆分工作,将计算密集型预填充映射到内存内计算(compute-in-memory),将内存密集型解码映射到DRAM内计算(compute-in-DRAM)。研究人员也在继续改进实际PIM硬件上的GEMM库(https://dl.acm.org/doi/10.1145/3696443.3708953),但已出货的存储库级设备仍然倾向于GEMV。
三星选择了近存储库计算,以通过JEDEC标准的561引脚封装和传统内存控制器来降低HBM成本。该封装只有在逻辑部分足够小、能放置在存储库旁边时才能工作。
因此,产生的设计针对解码侧的GEMV,并可以以熟悉的内存封装形式出货,代价是GEMM的灵活性。它适用于密集模型上的批大小为1的本地推理。MoE、推测解码和批推理可能需要第二代产品。
```
llama.cpp
│
├─ 当前 ────────> NPU/GPU <══ 76.8 GB/s ══> 被动DRAM
│
└─ PIM感知 ────> 传统DRAM控制器
│
└─(命令)─> 存储库内MAC @ 614 GB/s
```
## 时间线(https://ben3d.ca/blog/processing-in-memory#timeline)
JEDEC于2025年7月发布了基础的LPDDR6标准JESD209-6。2026年4月,JEDEC表示JC-42.6工作组即将完成单独的LPDDR6 PIM标准(https://www.jedec.org/news/pressreleases/jedec%C2%AE-previews-lpddr6-roadmap-expanding-lpddr-data-centers-and-processing-memory),同时还有512 GB密度、更窄的x6芯片接口和SOCAMM2模块标准。JEDEC尚未公布发布日期。三星的路线图显示LPDDR5X-PIM现已出货,而LPDDR6-PIM正在向完成的标准迈进。
三星现在有可用的芯片,JEDEC有一个未完成的标准,开源运行时仍然缺少软件栈。
加速器软件通常比硬件落后一年或更长时间。PIM深入到内核的页面分配器,并反向延伸到量化管道,这使得其集成比添加另一个计算后端更困难。采用取决于是否有人在人们使用的运行时中构建一个存储库感知的分配器和重量化路径。
一个资源丰富的供应商可以资助这项工作。可能的途径是三星或SK海力士支持的运行时分支,后来再合并到上游,就像供应商GPU后端所做的那样。
## 为什么重要(https://ben3d.ca/blog/processing-in-memory#why-it-matters)
其他应对内存墙的方法通过更宽的总线、更多通道、HBM堆叠或大型统一内存SoC来购买带宽。每种解决方案都增加了功耗、成本和封装复杂性。
PIM将计算放置在DRAM存储库旁边,为系统设计师提供了另一种在不拓宽内存接口的情况下提高有效带宽的方法。
三星3倍的供应商基准测试是一个……
相似文章
Samsung的存内计算 (PIM)
在2026年Hot Chips会议上,Samsung展示了其存内计算 (PIM) 技术,该技术将MAC单元集成到LPDDR5X芯片中,以利用高内部带宽,从而提升AI工作负载中的计算效率。
本地 AI 硬件内存带宽(2026 年版)
本文深入解析内存带宽作为本地 AI 硬件性能的关键指标,对比了 NVIDIA、Apple、AMD、Intel 等厂商在不同性能层级下的当前 GPU 与统一内存系统。
Xcena和三星的近内存计算CXL设备
Xcena和三星宣布了MX1,这是一款配备3072个用于近内存计算的RISC-V核心的CXL内存扩展设备,旨在解决机器学习工作负载的内存需求,在Hot Chips 2026上发布。
这家芯片初创公司刚融资1.35亿美元,押注AI的最大瓶颈不是计算,而是内存
XCENA,一家由三星和SK海力士资深人士创立的芯片初创公司,融资1.35亿美元,用于开发一种以内存为核心的芯片,该芯片可在DRAM附近处理AI推理任务,从而减少CPU与GPU之间昂贵的数据传输。该公司的MX1芯片有望提高效率并降低基础设施成本。
SK海力士与SanDisk合作推出全新高带宽闪存(HBF)标准,助力解决AI推理瓶颈,目标带宽高达3TB/s
SK海力士与SanDisk发布了高带宽闪存(HBF)标准,以弥合HBM内存与SSD之间的性能差距,目标带宽高达3TB/s,容量512GB,以加速AI推理。