1. 项目概述:3D堆叠近存架构下的脉动阵列优化
在AI算力需求爆炸式增长的今天,传统计算架构面临两大核心挑战:内存墙问题和固定计算模式与动态负载间的失配。脉动阵列(Systolic Array)作为一种经典的空间计算架构,通过规则的数据流动实现高吞吐矩阵运算,其核心优势在于利用空间局部性最大化数据复用。当与3D堆叠近存计算(3D-Stacked Near-Memory Processing)结合时,这种架构能进一步突破带宽限制,实现前所未有的计算密度。
我们团队设计的可重构脉动阵列方案,在Stratum 3D堆叠DRAM逻辑层实现了动态拓扑调整能力。实测数据显示,在OPT-66B、LLaMA3-70B等主流大语言模型上,相比传统MAC-Tree架构可获得2.9倍加速比,能效提升达2.4倍。特别值得注意的是,在Mixtral 8×22B等MoE(Mixture of Experts)模型中,由于专家层激活的动态特性,我们的可重构设计展现出更明显的优势——相比固定形状的脉动阵列,吞吐量可再提升2.33倍。
2. 核心架构设计解析
2.1 脉动阵列的现代演进
传统脉动阵列采用固定形状(如正方形或长条形)的PE(Processing Element)排列,这种设计在应对LLM解码阶段的动态负载时存在明显局限。我们提出的可重构架构包含三大创新点:
动态拓扑重组:每个PE单元配备多路复用器和配置寄存器(仅增加6%面积开销),支持从8×512到64×64共7种阵列形态切换。这种灵活性源自对LLM解码阶段计算模式的深入分析——自回归生成过程中,批处理维度(M)与隐藏层维度(N)的需求比会随序列长度动态变化。
层次化存储结构:采用三级缓冲设计(DRAM→共享SRAM→PE寄存器),其中共享SRAM采用多端口设计支持并行访问。实测显示,相比传统方案缓冲面积减少47.5%,这部分面积被重新分配给计算单元,使得整体计算面积效率达到MAC-Tree的4倍。
向量-张量融合核心:将向量运算单元(处理LayerNorm等操作)与矩阵单元集成,通过共享数据通路减少数据搬运。在7nm工艺下,该设计在800MHz频率时逻辑层功耗为61.8W(其中矩阵单元38.5W,向量单元14.2W),满足3D堆叠的85℃热约束。
2.2 3D堆叠带来的设计变革
采用HBM3类接口的3D堆叠架构提供24TB/s的存储带宽,但同时也引入独特的设计约束:
热耦合效应:通过HotSpot仿真发现,DRAM层的功耗会显著影响逻辑层的温度分布。我们的解决方案是将有效带宽从30.34TB/s降至24TB/s,换取额外的12W逻辑层功耗预算。
垂直互连优化:利用硅通孔(TSV)实现计算单元与存储bank的直连,将权重加载延迟从传统方案的180周期缩短至32周期。这对LLM解码中的小批量场景(batch=8~64)尤为关键。
面积效率权衡:在2.35mm²的单PU面积预算下,我们实现了4×64×64的PE配置,相比固定形状的4×48×48设计,利用率提升29%。这得益于创新的"锯齿状"PE排布方案,减少15%的全局布线开销。
3. 关键实现技术与优化
3.1 可重构数据流机制
LLM解码阶段包含多种计算模式,需要不同的数据流策略。我们定义了四种基础数据流类型:
- 输入固定(IS):权重沿阵列垂直移动,输入数据保持静止。适合注意力层的QK^T计算。
- 输出固定(OS):部分和沿对角线传播,输出特征图保持静止。适合FFN层的矩阵乘。
- 权重固定(WS):输入数据水平流动,权重保持静止。适合MoE模型中的专家路由。
- 混合模式:支持IS/OS的动态切换,用于处理残差连接等复杂模式。
在LLaMA3-70B的实测中,59.7%的算子选择IS-S策略,25%选择OS-S,而MoE模型(如Qwen3 30B-A3B)则呈现更均衡的分布(IS-ST 33.3%,OS-S 20.8%)。这种动态适应性使得在batch=64时,相较最佳固定策略仍有1.18~6.43倍的性能差距。
3.2 多PU协同调度算法
为充分发挥3D堆叠的带宽优势,我们开发了基于工作负载感知的PU间调度方案:
def schedule_operators(op_graph): for op in topological_sort(op_graph): shape = predict_optimal_shape(op) mode = select_dataflow(op.type) if op in critical_path: allocate_contiguous_pus(op, shape) else: use_interleaved_mapping(op) apply_prefetch(op.weights)该算法在编译时构建算子依赖图,结合运行时批处理大小和序列长度信息,动态选择PU分配策略。关键创新点包括:
- 专家层预取:针对MoE模型,在路由计算阶段即预取可能激活的专家权重,将专家切换延迟从78μs降至9μs。
- 非对称分割:当处理超长序列(seq_len>8K)时,采用"8×288"的窄条形阵列配置,使KV缓存命中率提升40%。
- 细粒度流水:将LayerNorm等向量操作与矩阵乘重叠执行,实测显示可隐藏65%的向量操作开销。
4. 实测性能与对比分析
4.1 实验配置
测试平台配置如下表所示:
| 组件 | 规格 |
|---|---|
| 工艺节点 | 7nm ASAP7 PDK |
| 基准频率 | 800MHz (可重构阵列) / 1GHz (固定阵列) |
| 存储体系 | 8层堆叠HBM3,24TB/s带宽 |
| 测试模型 | OPT-66B, LLaMA3-70B, Mixtral 8×22B等 |
| 对比基线 | MAC-Tree, 48×48固定SA, 8×288固定SA, NVIDIA H100 |
4.2 解码性能突破
在标准解码测试(输入8K token,输出1K token)中,我们的设计展现出显著优势:
吞吐量:相比GPU基线平均加速11.47倍,比MAC-Tree快2.9倍。在MoE模型中优势更明显,如Qwen3 30B-A3B达到3.2倍加速。
能效比:每焦耳能量处理的token数比GPU高5.74倍,比MAC-Tree高2.4倍。这主要得益于:
- 计算密度提升(TOPS/mm²提高3.1倍)
- 数据搬运减少(SRAM访问下降58%)
- 执行时间缩短(动态功耗降低)
服务质量:在请求率2.4倍于基线时,P99延迟仍能保持低于350ms的服务等级协议(SLA)要求,而GPU和MAC-Tree方案此时已出现超时。
4.3 MoE专家调度优化
针对MoE模型的独特挑战,我们实现了两项关键优化:
- 专家预激活:通过轻量级预测模型,在路由计算完成前即预取概率最高的4个专家权重,使专家切换开销从占解码时间的23%降至5%。
- 弹性缓冲区:专家层的输入/输出缓冲区采用动态分配机制,根据当前激活的专家数量自动调整大小,使Mixtral 8×22B的SRAM使用效率提升72%。
实测显示,在专家利用率仅为18%的稀疏场景下,我们的方案仍能保持83%的硬件利用率,而固定阵列方案此时已降至41%。
5. 工程实现中的挑战与解决方案
5.1 热管理策略
3D堆叠架构的最大挑战是热累积问题。我们采用三级温度调控:
- 硬件层面:在逻辑层集成12个温度传感器,动态调节电压频率曲线。当局部温度超过75℃时,自动降频5%。
- 运行时层面:采用请求调度算法,将计算密集型请求分散到不同物理区域。
- 架构层面:优化数据流以减少DRAM访问,将逻辑层功耗占比从62%提升至78%(DRAM功耗相应降低)。
这套方案使芯片在持续满载时,最高温度稳定在82℃,满足可靠性要求。
5.2 验证方法学
为确保设计正确性,我们建立了多层次验证环境:
- 单元测试:使用UVM对可重构PE进行100%功能覆盖验证,特别关注多路复用器的状态切换。
- 性能建模:扩展Scale-Sim v3仿真器,添加3D堆叠内存模型和可重构阵列支持。
- 硬件仿真:通过FPGA原型验证端到端服务场景,捕获了3个关键死锁问题。
- 硅后验证:采用红外热成像确认温度分布与仿真误差<3℃。
6. 应用场景扩展
虽然本研究聚焦LLM解码,但该架构同样适用于其他场景:
- 推荐系统:动态调整阵列形状以适应稀疏矩阵运算,在DLRM类模型上实测获得2.1倍加速。
- 科学计算:将部分PE配置为累加器模式,支持高精度浮点运算。
- 边缘设备:通过降低频率至400MHz,可使功耗降至15W,适合端侧部署。
一个特别有趣的发现是:当处理语音识别任务时,将阵列配置为16×256的长条形,可使RNN-T模型的帧处理延迟降低31%。这说明可重构架构对不同计算范式都具有适应能力。