当前位置: 首页 > web >正文

ISSCC 25 14.4 性能达51.6TFLOPs/W的全数据路径存内计算宏单元,逼近稀疏性极限,应用于复合人工智能时损失低于2-30

大模型快速发展,但是模型之“大”使得其难以部署在端侧。融合AI模型显著降低了参数量,但计算过程中多个模型的特征交融使得计算硬件中传统的基于单一模型的经验型简化失效,带来精度损失和功耗。本文旨在解决混合模型在端侧部署时面临的挑战,提出了后置乘积对齐、全通路存内计算、稀疏捕获三项创新。下面是文章的详细解析[1]。

(一)文章基本信息

本文作者是清华大学尹首一团队的Zhiheng Yue和Xujiang Xiang。文章发表在ISSCC(IEEE国际固态电路会议)的存内计算篇章,ISSCC,是全球集成电路设计领域最顶尖、最权威的学术会议,其中的存内计算篇章自2023年起从存储器篇章中独立,聚焦于存内计算领域的创新成果。

当前,人工智能(特别是深度学习模型,如大型语言模型LLM)取得了巨大成功,但它们通常模型巨大、计算量密集。为了解决大型单一模型的部署难题,复合型AI应运而生。其核心思想是:不再依赖一个庞大、通用的模型,而是将多个小型的、专门化的模型组合起来,协同工作以完成复杂的任务。根据文章数据,这种方法甚至可以在精度上媲美或超越大型单体模型,同时由于单个模型较小,为边缘部署带来了新的可能性。

然而,利用高精度的浮点数据格式(FP)开发复合AI的存内计算(CIM)加速器时,面临以下三大挑战:

(1)精度下降

传统的FP CIM为了简化设计和减少对齐操作带来的精度损失,通常假设输入数据遵循某种特定的统计分布(如高斯分布,数据集中在均值附近)。在这种假设下,浮点数的指数变化范围相对较小,对齐操作更容易处理。

复合AI系统由多个不同的专用模型构成。这些模型可能处理不同类型的数据,或者其内部的激活值呈现出非常多样化的数据分布,远非单一高斯分布能概括。当这些具有不同分布特征的数据流经为单一分布优化的FP CIM时,浮点数的对齐会变得非常困难且低效,导致显著的精度损失(超过5%)。

(2)高功耗

存内计算的核心优势在于在内存中执行乘累加(MAC)操作。然而,一个完整的AI计算数据通路并不仅仅包含MAC。例如,部分和的累加、残差连接等操作也必不可少。

在传统的CIM设计中,如果CIM单元只负责MAC,那么部分和、残差等数据仍然需要在CIM阵列和外部的数字逻辑单元(如累加器)之间来回搬移。这种数据搬移会消耗大量能量(占26-72%的功耗),尤其是在需要频繁进行中间结果累加的复合AI系统中(模型之间可能也需要数据交互和累加)。位串行CIM由于数据逐位处理,这个问题可能更突出。

(3)稀疏利用率下降

神经网络的权重和激活值中往往存在大量的零值(即稀疏性)。有效利用稀疏性(跳过零值相关的计算)可以显著提升计算速度并降低功耗。

传统的CIM在设计稀疏性加速时,可能针对的是某些特定模型或特定、规则的稀疏模式(如结构化稀疏)。然而,复合AI系统由于包含多个不同模型,其整体呈现的稀疏模式可能更加灵活、动态和不规则。如果CIM的稀疏处理机制不够灵活,就无法充分利用这些多样化的稀疏机会,导致实际加速比远低于理论上的稀疏度上限。

图1 实现基于FP CIM的混合AI时面临的挑战

为此,本文针对上述三大问题,提出了支持并行尾数乘法和指数累加的CIM Macro、全通路CIM计算范式、存内网络(NIM)和动态稀疏启动器三项创新,下面是创新点的详细解析。

(二)创新点解析

(1)支持并行尾数乘法和指数累加的CIM Macro

首先,论文在图2展示了CIM Macro的整体架构,并展示了其实现峰值精度、能效和计算速度的三个关键特性。CIM Macro由16个CIM核组成,用于部署专用模型。在每个CIM核中,包含8个CIM-Set与一个Set内部的加法器。一个0.5kb大小的“存内加”(图中的AIM,accumulate-in-memory)用于部分和的加法。CIM-Set在1.375kb大小的尾数-指数CIM(ME-CIM)中进行4并行度FP16或者8并行度FP8的MAC计算。还包括一个0.25kb大小的NIM(network-in-memory)和动态启动器,用于稀疏感知加速。CIM Macro被设计作为边缘加速器,以适应一些复合人工智能系统任务(compound-AI task),提升精度、能效与FOM。

图2 异质CIM Macro的整体架构和工作流程

论文在图3中详细展示了所提出的工作流程,首先,本文采用了在CIM中先并行计算指数和位数,在之后再进行后对齐(Post-alignment)。同时,论文也进行了理论推导,证明最大FP16的MAC计算的误差小于2-30,而之前提出的FP Macro误差可以达到2-1。

图3 后对齐与理论推导

这种无损的CIM设计适用于将不同精度转换为MantissaEE格式。具体来说,FP16被解包的尾数至少左移2bit,5bit的指数位对应取高三位,形成了与FP8、INT8兼容的表示格式MantissaEE16b。MantissaEE数据和高三位指数存储在ME-CIM的同一行中,并行进行MAC计算。ME-CIM阵列集成了乘法器与加法器,周围的其他电路(Booth-Shifter、Partial-FA)按照数据精度的需求来激活进行计算。最后再进行后对齐,根据指数的差异移动尾数。总而言之MantissaEE格式集中了指数分布,而后对准进一步有益于位宽更宽的表示,从而减少截断的损失。

图4 MantissaEE格式计算的数据流

针对这个创新点,论文进行了信号纠错比(SER)来评估优势。该Macro达到60.1dB的SER,是传统FP-CIM的3.14倍,同时在一些复合模型中,精度损失平均低于他们的11.07倍。

图5 SER分析和精度损失分析

(2)支持AIM的设计

论文中图6介绍了AIM(accumulate-in-memory) Macro的设计,其用来执行内部的累加来减少数据搬运。数据存储在6T-SRAM中,并使用晶体管N1/N2/N3来解耦读取和进行累加。部分和或者pesudo-row中的残留结果与CIM中存储的内容进行累加。首先XOR逻辑区分为FP或者INT模式,INT模式下仅需要两个元素的累加,而FP模式需要额外的减法来比较两个操作数以进行对齐。并且Partial-FA利用生成逻辑来简化加法逻辑,并将求和输出写回cell。在FP32模式下,FA的输出用于对齐,累加和进一步写入。测试结果表明,AIM在INT32和FP32模式下节省了38.3%和15.4%的功耗,部署在复合模型上,AIM能够降低22.1%(INT)和9.7%(FP)的系统功耗。

论文通过利用乘数/乘法格式的最佳组合来优化乘法数据路径的功耗。先前高能效的SM格式代替2C格式,但是这些格式不适用于CIM结构。ME-CIM中的Booth-multiplier通过编码输入并移位权重来实现并行计算,并且,混合SM(W)和2C(IN)会带来最小的bit翻转,并避免增加1位补偿。因此,这一方法相比于其他格式降低了6.3%-42.7%的功耗。

图6 AIM的设计和混合格式乘法优化

  1. NIM和动态启动器

论文中图7展示了动态静态结合的稀疏感知加速器,用于适应灵活的复合模型稀疏模式。其中静态路由器针对固定稀疏性优化,用于处理权重剪枝、注意力掩码等静态稀疏场景,采用广泛认可的2:4压缩格式,以确保与不同模型的兼容性。NIM从4个存储单元里根据匹配的权重选取有效的2个输入数据,支持编码过程的并行化,同时排除两条不可能的路径,简化网络结构,降低硬件复杂度。在动态稀疏启动器中,输出数据使用Booth编码进行权重乘法,提升乘法运算效率,每个编码项含有4个字段:标识ID、符号位sign、有效标志valid和移位偏移量SF。由于valid字段随机分布反映了动态稀疏特性,因此设计不仅适应固定稀疏,也能处理动态稀疏模式。通过Booth pool-lane sharing (BPLS)机制,非零项被重新分配到8个或4个并行输入的Booth池中,使得利用稀疏性带来的加速尽可能接近理论理想倍数:具体来说,8或4个并行输入和4或8个编码项组成一个Booth池,动态发射器收集有效的Booth-pool字段,并行前导1检测器依次迭代寻找有效项,保留有效项,并应用到CIM中进行选择性Booth编码乘法运算。其中ID字段从数组中选择匹配的权重,XOR逻辑切换符号位,AND逻辑屏蔽任何无效元素,SF字段提供移位偏移量。

结合静态和动态稀疏技术,该加速器在复合模型上平均实现了5.30×的加速,其中静态稀疏贡献约2×,动态稀疏贡献约2.65×。该性能表现已达到稀疏性理论加速上限的92.6%,极大地提升了计算效率。此外,为进一步提升稀疏数据的能效,本文设计了无预充电的双端口10T位单元,利用自身反相器结构代替功耗较大的预充电电路。该电路仅在读出电压发生变化时消耗充放电能量,特别适合连续读取大量零的数据稀疏场景,与传统8T双端口单元相比,功耗降低近1.95倍,面积略增1.26倍。

图7 静态动态结合、稀疏感知加速以及相应的NIM、稀疏感知单元和动态启动器设计

(三)结论与思考

图8展示了本文芯片的测试结果,测试芯片采用28nm工艺制造,芯片面积为2.67 mm²,集成224kb异构CIM宏,支持包括乘加(MAC)、路由和累加在内的全存内计算数据通路。当部署在复合模型上时,峰值能效为16.2 TFLOPs/W,平均能效为5.55-12.54 TFLOPs/W。采用后置乘积对齐技术,信噪比(SER)提升至60.1 dB,确保误差率极低,所有模型误差率均保持在0.6%以下,说明精度显著优于传统方法。芯片实现了51.6 TFLOPs/W的最大能效和2.44 TFLOPs/mm²的最大能效。综合信噪比、系统吞吐量、面积和功率测量指标的性能表现,综合性指标(FoM)优于以往多种浮点计算存内宏设计,提升超过5.72倍。综上所述,本文所提出异构CIM宏设计在28nm工艺节点上具有卓越性能:不仅在能效和计算密度上取得了行业领先的表现,而且通过后置乘积对齐和稀疏加速机制,极大地提升了计算准确度和整体系统吞吐量,验证了设计在实际复合AI应用场景中的实用价值和优越性。

图8 芯片测试结果

参考文献:

[1]Z. Yue et al., "14.4 A 51.6TFLOPs/W Full-Datapath CIM Macro Approaching Sparsity Bound and <2-30 Loss for Compound AI," 2025 IEEE International Solid-State Circuits Conference (ISSCC), San Francisco, CA, USA, 2025, pp. 1-3.

http://www.xdnf.cn/news/5584.html

相关文章:

  • kafka消费组
  • 接口自动化测试设计思路--设计实战
  • 每日一题洛谷P8662 [蓝桥杯 2018 省 AB] 全球变暖c++
  • 专题二:二叉树的深度搜索(二叉树剪枝)
  • tryhackme——Lateral Movement and Pivoting
  • 状态压缩动态规划:用二进制“魔法”破解组合难题
  • 利用D435i相机进行SLAM实现建图的关键环节-----Kalibr标定工具以及常见的问题调试
  • idea查看pom文件依赖
  • qtcreator导入帮助文档
  • 为什么 mac os .bashrc 没有自动加载?
  • 按钮导航组件 | 纯血鸿蒙组件库AUI
  • 文本数据可视化
  • 5.5.1 WPF中的动画2-基于路径的动画
  • P2P架构
  • vue3: pdf.js 3.4.120 using javascript
  • 数据库约束
  • 学习黑客5 分钟深入浅出理解Windows Firewall
  • AI 在模仿历史语言方面面临挑战:大型语言模型在生成历史风格文本时的困境与研究进展
  • 【AI提示词】PEST分析
  • 智慧城市综合运营管理系统Axure原型
  • Kotlin 内联函数(Inline Functions):性能优化与实战指南
  • Gmsh划分网格|四点矩形
  • Clinica集成化的开源平台-神经影像研究
  • 题海拾贝:P10468 兔子与兔子
  • 面试题:请解释Java中的设计模式,并举例说明单例模式(Singleton Pattern)的实现方式
  • [网络层]网络层设备路由器
  • 端到端音频聊天模型论文速读:Voila
  • 基于STM32、HAL库的DPS310XTSA1 气压传感器 驱动程序设计
  • Parasoft C++Test软件单元测试_实例讲解(指针类型的处理)
  • 【计算机网络】HTTP 协议