LegoMACs:面向可变精度神经网络的流水线乘法累加单元加速器

《Journal of Systems Architecture》:LegoMACs: Accelerator with pipelined MAC units for variable precision Neural Networks

【字体: 大 中 小 】 时间:2026年10月05日 来源:Journal of Systems Architecture 5.3

编辑推荐:

   卷积神经网络(CNN)由大量的矩阵乘法组成。使用乘法器单元在硬件的延迟和面积方面成本很高。本文提出的工作专注于在推理阶段通过采用 4 位和 8 位可重构模式的低精度计算来优化 CNN。我们采用 Booth 编码来用多路选择器、加法器和移位器替换乘法器,作为硬件设计的基础。所提

  卷积神经网络(CNN)由大量的矩阵乘法组成。使用乘法器单元在硬件的延迟和面积方面成本很高。本文提出的工作专注于在推理阶段通过采用 4 位和 8 位可重构模式的低精度计算来优化 CNN。我们采用 Booth 编码来用多路选择器、加法器和移位器替换乘法器,作为硬件设计的基础。所提出的 MAC 单元支持在低位宽和高位宽乘法器之间进行重构。通过利用低精度算术,我们旨在最小化延迟和能耗。流水线方法进一步增强计算效率,允许操作重叠执行以提高吞吐量。我们设计 legoBit 作为基本构建单元,并将其组合成一个流水线的、输出驻留的脉动 MAC 阵列,根据网络的精度要求在 4b×4b 和 8b×8b 模式之间进行重构。观察发现,采用可重构硬件和流水线技术可以带来性能提升。人工智能(AI)随着需求的不断增加以及在日常生活中的广泛采用,已经获得了极大的关注和快速发展。人工神经网络(ANNs)是受生物大脑启发构建的算法,通过多层模拟神经元来获得输出。我们的工作聚焦于卷积神经网络(CNN),这是深度神经网络中一种流行的算法,主要用于计算机视觉领域。CNN 除了输入层和输出层之外,还包含多个隐藏层,这些层包含大量的乘法和加法运算。如此大规模的运算量会影响时间和能量方面的性能。因此,我们试图在推理阶段通过限制/降低精度以及引入流水线乘法概念来缓解这一问题。CNN 包含大量的 MAC 运算 [1],具体取决于数据重用和内存,可能受限于计算能力或内存带宽 [2]。本工作聚焦于计算部分,即 PE 阵列,以及 CNN 算法的推理阶段。推理过程预期在小型边缘设备上被多次执行,因此必须尽可能优化此过程。此外,由于 CNN 中存在大量矩阵乘法运算 [1],显然乘法器单元会被密集使用。因此,研究人员也通过改进乘法器单元或乘法过程进行了探索 [3]。此外,随着认识到神经网络可以在低精度计算下保持精度 [4],近似和低精度乘法也得到了探索。因此,研究人员提出了多种方法来改善神经网络中的计算过程,例如:基于某些参数进行计算跳过、近似计算 [5]、通过预测跳过 [6]、降低所需的位宽 [4],以及量化 [7]。已有研究通过值量化进行低精度乘法以实现近似计算 [8]。观察发现,近似计算可以在对输出影响不大的情况下减少硬件开销。据此,本研究聚焦于卷积神经网络的乘法单元,特别是在推理阶段。我们采用 Booth 算法编码技术,并用加法器和移位器替换成本高昂的乘法器单元,以改善性能和面积。因此,朝着这一目标,我们提出一种具备可变精度支持两种模式——4 位和 8 位乘法——的计算单元硬件,并在更细粒度上引入流水线技术以改善性能和吞吐量。利用 CNN 算法对较低精度的容忍特性 [4],我们以逐层方式引入低精度,并设计硬件 MAC 单元(LegoMACs)以支持此特性。当架构为固定精度设计时,即使更低的精度已经足够,仍然会消耗更多功耗或 MAC 单元得不到充分利用。然而,如果架构以异构方式为不同精度设计独立的 MAC 单元,并根据每层的精度需求激活相应单元,则未使用的部分仍会闲置。更好的方法是让同一个 MAC 以所需精度被重复使用。为此,架构应配置为允许控制器建立适当的连接,将每个 MAC 或一组 MAC 转换为所需的精度。因此,本研究致力于设计这样的架构,本文的主要贡献如下:1. 我们提出了一个基本单元 legoBit,可作为构建不同模式(位宽)乘法的构建模块。2. 我们使用 legoBit 设计了一种低倍乘法模式,进而可用作高位宽乘法模式的构建模块。3. 我们基于 legoBit 提出两种 LegoMAC 设计:4 × 4 模式和 8 × 8 模式。4. 我们在两种模式中进一步引入流水线技术以改善性能。CNN 包含两个阶段:训练阶段,通常是离线过程,在此过程中模型针对特定目标进行训练。推理阶段则是使用已训练模型基于训练所用的输入进行分类和推断输出。CNN 网络由多层组成,每层由许多执行简单计算的神经元构成,随着层数加深,这些计算收敛以获得更复杂的特征。该技术/方法受以下启发神经网络架构中的处理单元通常采用固定位宽乘法器设计,针对特定精度进行优化。虽然这些单元可用于较低/较小精度的操作,但往往导致功耗浪费或 MAC 利用率不足。一种支持混合精度工作负载的方法是集成多个专用于不同位宽固定精度的 MAC 单元。在这种情况下,我们可能拥有一套独立的 4 × 4 MAC 单元和一套独立的 8 × 8 MAC 单元用于 8 × 8 运算我们在不同的 CNN 网络上进行了分析:LeNet [29]、AlexNet [30]、VGG-19 [31] 和 MobileNet。我们使用 Verilog 设计了架构,并采用周期精确模拟器获取所有设计的卷积层周期数。报告的结果是使用 Cadence 的 Genus 工具获得的。为了统一比较,我们在每个设计中使用了 256 个处理单元(PEs),其中每个 PE 为 8 × 8 LegoMAC。结果在以下假设条件下计算得出CNN 由于其在各领域的广泛采用而变得普遍流行。已有的优化工作推动了计算精度的降低以及其他各种改进,旨在开发更快、更高效的硬件来处理 CNN 工作负载。然而,大多数硬件单元采用固定精度设计,限制了其灵活性。需要更具适应性的硬件解决方案来利用较低精度,从而实现更低延迟和改进**Imlijungla Longchar:** 撰写——审阅与编辑、撰写——原始草稿、可视化、软件、方法学、概念化。**Hemangee K. Kapoor:** 撰写——审阅与编辑、验证、监督、方法学、调查、概念化。作者声明以下财务利益/个人关系,可能被视为潜在的利益冲突:合著者 Hemangee Kalpesh Kapoor:鉴于其担任编委会成员的角色,未参与本文章的同行评审工作,也未获得关于其同行评审的信息。本文章的编辑流程全部责任委托给另一位期刊编辑。如有其他作者,他们声明没有相关利益冲突。Imlijungla Longchar|Hemangee K. Kapoor
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号