多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

存算一体大模型芯片架构解析:从带宽瓶颈到COMB存边计算

存算一体大模型芯片架构解析:从带宽瓶颈到COMB存边计算 简介面向大模型硬件设计与存算一体技术研究者的专业文献内容基于中兴通讯技术2024年刊发的论文系统分析以ChatGPT为代表的大模型在参数规模与算力需求指数增长下所面临的带宽瓶颈及数据中心能耗压力。论文提出采用存算一体集成芯片架构将计算与存储紧密集成以减少数据搬移并进一步探讨轻量化-存内压缩协同设计实现稀疏网络在存算一体硬件上的稠密映射从而提升存储密度与计算能效。资源包为单个PDF文件大小3.49MB包含完整的摘要、关键词、图表与参考文献适合硬件架构师、AI工程师及学术研究人员快速掌握存算一体芯片在大模型推理场景中的前沿方案。目前已有137人学习可作为理解集成芯粒与存内压缩技术路线的重要参考资料。1. 存算一体大模型硬件架构这篇论文凭什么值得你读ChatGPT出现之后最让人头大的不是模型调参而是推理时显存带宽卡脖子。以LLaMA2-7B这样70亿参数的模型为例要跑到每秒1万令牌的实时速率光权重搬运就需要64TB/s而当前HBM3的有效带宽只有0.8GB/s左右——差了三个数量级。这个带宽焦虑就是复旦大学陈迟晓团队这篇论文的切入点用存算一体集成芯片把计算塞进存储边缘再配合轻量化-存内压缩让稀疏网络在硬件上稠密映射。这不是停留在PPT上的概念论文给了完整的存算一体架构分析、三种存储介质选型对比以及一颗28nm实测芯片的参数。适合芯片架构师、AI加速卡规划者、做模型部署优化的工程师以及研究存算一体和Chiplet的研究生。2. 存算分离为什么顶不住大模型从HBM带宽到算力存储比2.1 大模型参数爆炸不是广告是数学事实论文第一张图给了一组让人头皮发麻的数字模型参数量每两年增长240倍推理算力需求增长将近750倍而硬件算力每两年只涨3.1倍。传统的超大尺寸单芯片SoC已经撞上了光刻掩膜版上限单片最大设计面积约为858 mm²。这组数据的意思是别指望靠工艺迭代硬扛大模型架构必须换。工程上最常见的一个误判是把大模型推理当成算力不够。其实对十亿级以上模型真正的瓶颈是权重搬不动。论文用LLaMA2-7B拆了一个账单层全连接层包含三个连续的矩阵乘法维度分别是4096×11008、11008×4096、4096×4096。单层参数量约2.03亿32层加起来65亿参数占了整体系数和计算量的85%以上。这65亿参数不可能全部放在片上SRAM里——单体CMOS芯片的片上存储最多百MB量级所以权重必须放在DRAM或HBM里推理时反复取回。要满足每秒1万个令牌相当于每秒要从存储里读出64TB的权重。这个数字怎么算的权重总量65亿个参数每个参数按FP16算2字节一次推理每个令牌都要过一遍全部权重那么单个令牌的数据搬运量就是65亿×2字节≈13GB每秒1万令牌就是130TB/s。论文里的64TB/s可能是按稀疏度或者更低精度折算了但量级完全一致。对比一下HBM3的理论带宽只有0.8GB/s差了80倍。这个账算清楚就明白为什么所有做AI芯片的公司都在喊存算一体。2.2 算力存储比一个决定架构选型的关键比值论文里反复出现一个指标算力存储比Ops per Byte。这个比值决定了计算单元和存储单元之间需要多大的带宽。对于传统以卷积神经网络为主的模型比如ResNet-50算力存储比大概是164×帧率GOPS/kB量级意味着每个字节取出来要做几百次运算存储带宽的压力相对小。而大模型完全不同LLaMA2的全连接层算力需求约68TOPS存储需求约3.4GB算力存储比只有每秒20Ops/Byte级别差了近万倍。传统交叉阵列存算一体架构的算力存储比也有上限大约是时钟频率的2倍除以存储深度。也就是说如果交叉阵列存储深度很深算力上不去正是大模型这种权重密集、单次计算量小的场景最不擅长的。论文给出的方案是存边计算COMBComputing on Memory Boundary把乘加计算逻辑分布在片上权重缓冲区SRAM的边缘而不是放进存储阵列内部。做硬件选型时这个比值值得反复算。假设你手里的存算一体宏单元存储深度是512行工作频率200MHz那么算力存储比就是2×200M/512≈0.78Ops/Byte。如果你要部署的模型算力存储比是0.05Ops/Byte宏单元的算力就过剩反过来如果模型是1Ops/Byte你就得增加读带宽或者减小存储深度。论文里的COMB架构就是冲着大模型这个低比值去的把计算逻辑挪到SRAM边缘后算力存储比可以做到时钟频率的2倍除以存储深度同时权重可以预先加载、按输入通道方向切块展平塞进不同列。2.3 存边计算架构COMB把乘加逻辑放到SRAM边缘COMB的结构一句话概括乘法器放在SRAM位线旁边读出来的权重直接在本地和输入激活做乘法累加不用再把权重搬回计算单元。权重在计算开始前预先加载在COMB宏中输入特征沿输入通道方向切块后展平存入不同列输出通道方向的并行度靠多个COMB宏堆出来。这种布局的工程收益是数据搬移量从每层权重全搬一遍降成只有输入输出特征流动。这里有个初学者容易翻车的点COMB不是存内计算是存边计算。如果粗暴地把计算单元塞进存储单元的位线内部SRAM的读稳定性和噪声容限会显著退化。COMB的折中做法是计算逻辑放在存储宏的边界不破坏存储单元结构代价是数据和计算单元之间依然有一段物理距离只是从几十毫米的芯片级互连缩短成几百微米的宏级互连。论文里提到近存计算架构中广泛使用的数据流映射方法完全可以运用在COMB宏中说明它兼容已有的卷积和矩阵映射方案不用推倒重来。3. 存算一体集成芯片的落地形态DRAM、SRAM、RRAM怎么选3.1 DRAM存算海力士AiM与三星LPDDR5-PIM的实测口径存算一体不是一种技术而是一类技术。论文把业界已有方案分成几档第一档就是DRAM颗粒形态的存内计算。海力士AiM每颗DRAM芯粒集成0.5GB存储和512GFLOPS算力三星LPDDR5-PIM峰值算力102.4GFLOPS。用NPU做对比的话LPDDR5-PIM提升了4.5倍算力省了72%功耗。DRAM存算的优势是高密度、成本低但工程上有个绕不开的硬伤工艺专用性太强。DRAM工艺和CMOS逻辑工艺不兼容而且DRAM需要定期刷新读操作还会破坏存储电荷。你在街边跑一个推理任务数据读着读着就要停下来刷新这让控制逻辑变得极其痛苦。论文明确指出来DRAM存算的高密度是诱人的但它更适合做片外大容量存储粒不适合做需要频繁随机访问的片上计算宏。如果你从数据中心视角看DRAM存算的价值在于它插在现有DIMM插槽就能用不改主板、不换CPU。但代价是你要同时维护刷新窗口和计算窗口时序上多了一堆条条框框。论文里提到DRAM存算颗粒方案时重点是带宽缓解没有把它当作大模型推理的终极答案。3.2 SRAM存算4颗65nm芯粒2.5D集成论文的重头戏是SRAM存算原因很直白SRAM和CMOS逻辑工艺完全兼容不需要额外开发存储工艺。但SRAM也有两个天生劣势一是单片面积大单芯片最大SRAM在100MB量级二是微缩比例远低于逻辑。所以论文给出的路径是用小颗粒SRAM存算芯粒用2.5D封装把它拼起来。具体做法是他们基于集成扇出FanOut工艺把4颗65nm的SRAM存边计算芯粒集成为一体。每颗芯粒按12/14nm工艺估算时计算电路面积约8mm²存储面积约300mm²算力10TOPS存储容量200MB。这组数据暴露了一个现实存储面积占了绝对大头算力密度只有约0.0325TOPS/mm²。你指望靠单颗芯粒打天下不现实必须靠多芯粒线性堆算力。多芯粒集成有个隐藏问题芯粒之间的互连带宽。论文很诚实地说超过4颗芯粒时映射方法尚需优化才能实现算力随芯粒数量线性增长。言下之意4颗之前线性度还行再往上互连和调度就成了瓶颈。做系统设计时别一口气堆8颗先做4颗的验证再谈扩展。3.3 RRAM存算1TnR阵列与三维堆叠第三种是阻变存储器RRAM靠改变二端器件的阻值来存储信息。和DRAM比RRAM非易失、读取功耗低和SRAM比RRAM存储密度接近DRAM而且可以三维堆叠。论文里给的关键信息是基于1TnR的RRAM存储器阵列通过三维堆叠技术能实现接近DRAM的高密度存储。RRAM的实际工程坑在于阻值漂移和良率。阻值漂移会影响多比特存储精度通常需要额外的校验和校准逻辑。良率问题意味着你流片回来的阵列里可能有坏点需要在映射时做冗余设计。论文没有展开这些物理层面的坑只把它定位为存储颗粒形态的存边计算实现方案说明它在能效和密度之间找了一个平衡点适合做边缘侧的低功耗大模型推理。我的建议是如果你做研究或早期架构探索优先看RRAM和SRAM的组合DRAM存算适合现有数据中心的存量改造RRAM适合新架构设计SRAM是眼下最容易流片验证的一条路。4. 轻量化-存内压缩协同设计稀疏网络映射不掉进的坑4.1 剪枝参数怎么定子组32、稀疏率75%稀疏化的直接动机是减少计算和存储。但怎么剪是有讲究的。论文做了两组任务Enwik-8和Text-8、12层注意力模型上的实验找到一个关键拐点剪枝子组大小为32、稀疏率75%时网络性能保持不变。这里的子组大小为32意思是权重向量被划分成固定长度的子组每个子组内按预定义稀疏度统一修剪。选32是因为它在GPU和NPU上对齐了SIMD宽度方便后续硬件实现。稀疏率75%意味着每个子组32个权重里有24个被剪掉只保留8个。这个比例不是拍脑袋出来的论文说全局修剪下本文还有配套的精品资源点击获取
返回列表