
一文读懂,可重构芯片为何是AI的完美搭档
在当今数字化时代,人工智能(AI)无疑是最为耀眼的技术领域之一。从早期简单的机器学习算法,到如今复杂的深度学习和 Transformer 模型,AI 算法正以前所未有的速度快速发展。这种快速演进使得 AI 在各个领域的应用不断拓展,从边缘端的高能效场景,如智能安防摄像头、智能家居设备,到云端的大算力场景,如数据中心的智能分析、智能语音交互系统等,AI 正逐步渗透到人们生活和工作的方方面面。
imgtec.eetrend.com/, Mar. 27, 2025 –
在边缘端,设备对能耗限制严格,需在有限电量下完成复杂任务,像实时图像识别、简单语音指令处理等。而在云端,面对海量数据和复杂计算需求,如大规模图像数据集处理、复杂自然语言处理任务等,需要强大计算能力支撑。无论哪种场景,AI 芯片都至关重要,其性能直接决定 AI 应用效果。然而,随着 AI 算法不断革新,传统固定架构芯片逐渐暴露出诸多局限性,难以满足 AI 算法日益增长的多样化需求,无法充分发挥硬件性能优势。
现代神经网络模型作为AI算法的核心,具有一系列复杂多样的特征,这些特征对芯片的设计和性能产生了深远的影响。
神经网络的拓扑结构复杂且不断演变。早期神经网络主要由卷积层和全连接层构成,结构简单,功能单一。但随着技术发展,为提升网络性能和处理复杂任务的能力,诸如 ResNet 的残差连接结构、注意力机制等复杂拓扑不断涌现。ResNet 的残差连接解决了梯度消失问题,使网络可构建得更深,学习更复杂特征;注意力机制通过动态生成矩阵提取全局信息相关性,带来不规则拓扑结构,能更聚焦关键信息。例如在 2023 年特斯拉 AI Day 展示的网络中,包含更多类型节点和更复杂连接,旨在模拟人类大脑神经连接,实现更高级智能处理能力。不同网络拓扑结构决定数据在网络中的流动和处理方式,对芯片的计算资源分配和数据传输路径提出多样化需求。
神经网络模型存在多维度的稀疏性,涵盖输入、权重和输出。为模拟大脑中非活跃神经元,提高计算效率,稀疏性在神经网络研究中备受关注。实际计算中,稀疏(0 值)操作数不影响计算结果,跳过无效计算可减少整体计算量和内存访问需求。早期对稀疏性的研究集中在基于剪枝的一维权重稀疏性,如今已发展到利用输入、权重和输出的三维稀疏性。例如,在一些模型中,通过检测输入数据中的 0 值元素,直接跳过相关计算,避免不必要的计算资源浪费。
神经网络模型在不同层对数据精度要求差异较大。推理阶段,模型最初常被量化为统一精度,如 INT8,这种方式虽简单,但在某些情况下无法充分发挥模型性能。后来发展为每层量化,根据不同层需求调整数据精度,提高推理效率。近期,甚至出现元素级混合精度应用,进一步优化计算资源利用。训练阶段,早期常用的 FP32 和 FP16 虽能保证较高计算精度,但会带来较高内存和功耗开销。为降低训练成本,有人提出使用 FP8,但因其数据表示能力有限,会导致训练精度损失。因此,混合精度训练(如 FP16 和 FP8 混合)成为平衡训练精度和能效的有效解决方案。例如,NVIDIA 的 H100 GPU 就采用 FP8 和 FP16 混合精度来加速 Transformer 训练。
这些复杂的模型特征给芯片设计带来诸多严峻挑战。不同网络拓扑结构导致数据重用模式和数据访问时间差异显著。数据访问,尤其是对 DRAM 的访问,相较于计算会带来显著时间和功耗开销。在高性能 AI 芯片设计中,减少内存访问成本至关重要,这就要求芯片具备灵活的数据流支持能力,以适应不同数据重用模式,降低数据访问量。不同类型的稀疏性特点不同,增加了芯片设计难度。输入和权重稀疏性需逐元素计算跳过,输出稀疏性导致逐向量计算跳过。AI 芯片要充分利用这些稀疏性消除冗余计算,必须具备灵活处理不同稀疏性的能力。不同应用对数据位宽要求不同,AI 芯片需处理多种数据精度,这对处理器的计算单元提出很高要求,需要一个高效的 MAC 单元,既能满足不同精度计算需求,又能在功耗和面积方面进行优化。
为应对这些挑战,硬件重构成为关键技术,相较于软件编程具有明显优势。软件编程在处理不同拓扑结构时具有一定灵活性,通过插入分支指令处理不同节点,但在处理元素级稀疏性和多种精度时存在局限。软件编程无法充分利用稀疏性优化计算,对于不同精度计算也难以灵活切换,无法满足 AI 芯片对灵活性的全面要求。例如,在处理大规模稀疏矩阵计算时,软件编程可能耗费大量时间和资源处理 0 值元素,而硬件重构能够全面适应神经网络的各种结构、稀疏模式和计算精度。它可根据不同神经网络模型和任务需求,在硬件层面快速调整,实现资源高效利用。处理稀疏性时,硬件重构可通过专门电路设计,直接对稀疏数据进行处理,避免无效计算,提高计算效率。例如,通过设计特定的稀疏数据处理单元,可快速检测和跳过 0 值操作数,减少计算资源浪费。应对多种数据精度时,硬件重构能灵活切换计算单元精度模式,满足不同层计算需求。例如,在同一芯片上,可根据不同层需求,动态调整计算单元精度,从低精度的 INT4 到高精度的 FP16,实现资源优化配置。
硬件重构主要在芯片级、处理单元阵列(PEA)级和处理单元(PE)级三个层次进行。芯片级重构旨在处理输入、权重和输出的稀疏性,提高硬件利用率,可以通过 BENES 网络实现。BENES 网络由双向开关单元组成,每个开关有旁路和交叉两种模式。处理输入和权重稀疏性时,根据操作数是否为零,配置 BENES 网络为对称或不对称结构,将非零操作数路由到 PE 进行计算,并在计算后恢复结果的稀疏位置。对于输出稀疏性,传统顺序计算存在硬件利用率低和数据重复访问问题,而乱序计算通过 BENES 网络优化计算顺序,减少向量内存访问,提高硬件资源利用率。例如,在处理大规模稀疏矩阵乘法时,通过 BENES 网络的乱序计算,可优化原本需多次访问内存的数据,减少内存访问次数,提高计算效率。数据显示:清微智能从边缘端 TX5至云端TX8系列可重构芯片 ,硬件利用率均可提升 50% 以上。
点击阅读更多