稀疏计算的软硬件协同:FPGA有力推动硬件发展

稀疏计算协同:FPGA驱动进步
©作者| wcychuiyuw
来源| 神州问学
引言
在当前快速发展的科技时代中
基于端侧AI应用的发展趋势
稀疏计算通过对其模型中的数据实施稀疏化处理的方式,在一定程度上实现了对计算资源的有效优化与配置管理。我们来看这种特殊的稀疏计算具体是怎样运行的吧?它又是如何在FPGA这样的软硬件结合平台上展开其在大模型推理应用中的实践与应用呢?让我们一起揭开稀疏计算这一技术之谜吧!
一、稀疏计算简介
1.从稀疏矩阵谈起
概念上来说,稀疏计算可看作是源自于稀疏矩阵这一特征。在一般情况下,若一个矩阵的大部分元素均为零,则称其为稀疏矩阵。对于这类稀疏矩阵,在实际应用中我们通常只需保留非零元素即可。这样一来不仅能够节省存储空间还能提升运算效率。
考虑一个M×N维度的矩阵,在常规情况下其存储复杂度为O(MN);然而,在该矩阵具有稀疏性时,则只需记录其中非零元素。一种有效的稀疏矩阵存储方法是通过记录每个元素的行号、列号及值来实现的;为了提高效率和节省空间资源,通常按照行号row对这些三元组进行排序处理。
该数据结构同样支持稀疏矩阵运算。在这一数据结构下进行矩阵加法等同于汇总两个矩阵中的非零元素,并对位于同一位置的非零元素进行求和。计算转置则相当于交换行列索引并重新按行排序。计算乘积时首先需转置第二个矩阵以便于排序与比较;接着遍历第一个矩阵的所有非零元素x及其对应的行值a₁₁, a₁₂,...,a₁ₙ;同时遍历第二个转置后的矩阵的所有非零元素y及其对应的列值b₁₁, b₂₁,...,bₘ₁;若满足y=x,则将a₁ᵢ与bⱼₖ相乘并累加至结果相应位置(x,y)处。
下图展示了基于这种数据结构进行矩阵乘法的过程。

在计算过程中,在矩阵A与矩阵B相乘时,只有上述四种组合可能会产生非零元素;其余的0元素则无需考虑。由此可知,在这种情况下。

然而,并非仅仅限于稀疏计算领域,在信息压缩领域中也有着广泛的应用实例。尽管时域中的信号呈现出稠密特性,在经过特定变换后却能展现出稀疏特征;由此可知,在数据处理方面基于不同变换的方法被广泛应用。特别是在JPEG图像压缩格式中就充分体现了这种特性:通过离散余弦变换(DCT)以及量化操作相结合的方式实现了数据的有效压缩。具体而言,在对图像进行空间到频率域转换的过程中,默认情况下大部分能量集中于低频分量而高频部分通常仅包含细节或噪声;因此,在量化阶段通常会对高频部分进行舍弃或置零处理,并仅保留少量低频成分;这种处理过程实际上赋予了数据更明显的稀疏特性;这不仅显著降低了存储与计算需求,在保证视觉质量的同时也显著提升了数据压缩效率
2.深度学习中的稀疏计算
在应用稀疏计算时,则是旨在实现对模型的压缩。一般而言,在未经特殊处理的情况下,“...”往往拥有大量的非零权重参数。“我们可以通过人为手段使其达到稀疏状态,并因此显著降低其非零元素的数量;这不仅提升了存储效率水平,并且可以在计算过程中跳过与零节点相关的乘法和加法操作而进一步提高运算速度
由于Transformer架构的大型模型中存在注意力机制这一规范限制,在设计稀疏化策略时不仅需要考虑权重和激活的优化方案还需要引入注意力机制的相关优化措施
●权重稀疏化:主要采用裁剪技术实现,在现有算法基础上包含全局裁剪、逐层裁剪以及结构化裁剪等不同策略,在保证模型性能的同时显著降低了参数量,并借助稀疏矩阵库来进一步提升计算效率
●激活稀疏化:主要通过包括例如激活剪枝(如阈值剪枝)和动态稀疏性等技术来降低计算量,并结合稀疏数据结构进行硬件优化以提升性能。
优化自注意力机制中的计算效率问题。为此提出了多种解决方案:包括局部注意力机制、分块级注意力模型以及稀疏矩阵构建等技术方案。这些设计策略能够显著提升模型的推理性能,并且特别适用于大规模数据处理和复杂任务分析场景。
稀疏模式可分为随机稀疏模式和结构化稀疏模式,如下图所示。

稀疏化的原理及稀疏模式[2]
该模式:基于矩阵内部零元素的随机分布规律,在提高准确性的同时,在非零元素位置缺乏明确规律的前提下,在计算效率上可能存在一定的瓶颈
对稀疏性应用特定模式,在与硬件优化策略相适应的情况下提升计算效率。常见的结构化稀疏模式包括按块稀疏、N:M 稀疏、按通道稀疏等基本类型及其组合应用。这些结构化模式提供了高度可预测性和优化潜力。具体而言,在处理过程中将权重矩阵划分为较小的块状结构,并在每组 N 个元素中保留 M 个非零元素以实现硬件加速效果。此外,在通道层面进行剪枝操作以去除整个通道中的所有零元素。
NVIDIA 的 2:4 稀疏 Tensor Core 代表了 N:M 稀疏性的硬件单元,并实现了两倍计算加速。该图像展示了其如何将权重矩阵分割为四元素块(如图中的橙色框所示)。在每个分块中仅保留两个非零元素,在其余位置设为零值。最终生成压缩后的权重矩阵。可以看出该过程的影响。压缩后的矩阵在行数上减少了50%,但增加了存储非零元素列号的信息矩阵。

2:4稀疏化示意图
二、稀疏计算的软硬件协同
1.稀疏计算硬件适配面临的问题
在现有硬件架构下,稀疏化技术理论上能够大幅降低计算量和存储资源需求;然而,在实践中其应用潜力未能充分释放。
●运算效率明显下降:稀疏化操作带来了不规则的数据访问和计算模式的变化;尽管许多硬件设计未能充分考虑稀疏矩阵的特点,在处理非零元素分布时仍面临挑战;这使得大多数硬件难以高效处理非零元素的分布情况,并因此造成大量运算单元闲置而导致整体性能受限。
资源利用率低下:稀疏矩阵存储与访问过程通常会引入额外的索引开销,在现有硬件设计中缺乏相应的优化支持。
硬件资源浪费严重:传统固定架构难以适应多样化的稀疏模式需求,在实际应用中往往表现出较低的效率和利用率。
当前依然主导着大模型推理加速领域。尽管如此,在稀疏计算类算法方面 GPU 的硬件支持依然较为有限。
目前 GPU 通常仅限于处理结构化的稀疏模式(例如 NVIDIA 的 Tensor Core 唯一支持的是 2:4 稀疏模式),这会使得 LLM 算法的计算精度明显下降。相比之下,在不采用结构化的稀疏模式的情况下,在不采用这种模式的情况下
内存角度:近期的研究重点在于利用混合精度量化技术最大限度地降低模型参数的量化精度水平,在有效减少计算开销的同时优化内存占用效率。然而,在现有GPU缓存机制及硬件架构设计下,默认情况下要求所有模型参数必须维持一致的数据精度水平;否则将会导致数据访问流程变得复杂并增加处理时延问题。此外,在这种受限的空间资源下(仅支持数千字节),根本无法存储大语言模型在生成文本过程中所产生的海量中间状态信息
FPGA 是提升LLM推理速度并研究模型压缩带来的好处可能的技术手段之一。然而,在FPGA上实现稀疏计算同样面临着较低的运算效率的问题。LLM中的多样化稀疏模式(如块稀疏、N:M 稀疏等)的存在会显著降低运算效率。
2.FlightLLM:稀疏计算在FPGA上的硬件适配
FlightLLM是由无问芯穹、清华大学和上海交通大学这一联合团队提出的,并专为FPGA设计的一种大模型轻量化部署流程。该方案不仅能够显著地提高大型语言模型在FPGA上的推理效率与性能水平,并且特别关注于实现权重稀疏性下的硬件适配优化。
2.1可配置稀疏DSP链(CSD-Chain)
FlightLLM的矩阵计算引擎MPE基于硬件/软件协同设计,开发了可配置稀疏DSP链式架构(CSD-Chain),采用定制化FPGA中的DSP48核,在减少硬件资源消耗的同时,灵活支持多种N:M稀疏模式下的运算需求,有效提升了计算效率

FlightLLM中MPE的设计[1]
1. 链路划分与动态配置
CSD-Chain将长链中的DSP48划分为多个DSP组,并采用固连结构完成密集运算;而各组之间的传输路径则通过动态配置进行管理。
该系统采用灵活配置策略,在不同稀疏矩阵模式下实现动态链路拓扑优化。例如,在N:M稀疏模式中,该链路设计可跳过零值元素进行计算,并专注于处理非零元素以显著提升计算效率。向量处理单元(VPU)针对全连接和2:4密集两种情况展示了其计算流程,请注意A DSP组(DG)与组之间的路径可以根据稀疏性要求进行动态配置。

2. 稀疏多路复用器(Sparse MUX)
在每个 DSP48 输入端处, 稀疏MUX可以通过基于稀疏索引的选择, 实现对非零输入的接通. 这一机制不仅有效地降低了无意义计算的发生频率, 并且成功地降低了不必要的数据传输.
3. 归约节点与溢出调整
●归约节点负责在链路中断处进行中间结果计算,支持多输出的稀疏操作。
该溢出补偿模块通过将数值分为高位与低位部分,在计算过程中的潜在溢出风险上取得了突破性的进展
基于一系列创新设计,CSD-Chain成功实现了对稀疏计算的高效支持,充分展现了其在FPGA中的硬件潜力,并且能够有效处理大规模稀疏模型的推理需求
2.2稀疏化的软硬件协同优化
稀疏计算的实现不仅受限于硬件设计的支持,在实际应用中还需与软件层面的优化方案紧密配合以确保系统的高效运行
1. 指令优化
在 FlightLLM 系统中,FPGA 硬件指令由特定编译器生成,并根据稀疏计算进行优化。例如,在处理过程中利用了稀疏矩阵的索引数据以减少不必要的存储访问。
编译器系统会将多个微粒级指令集优化为一条指令块,并经硬件解码后充分挖掘 FPGA 多通道存储带宽资源的潜力
2. 稀疏模式与存储的匹配
FlightLLM 为处理稀疏化数据设计了特殊的存储方案。该系统将具有大量非零元素的权重参数分配至 FPGA 的 HBM 中进行高效管理,并将相对较少且零值较多的数据项存于 DDR 内以降低内存访问频率。通过这一混合存储策略,在提升 FPGA 高带宽性能的同时显著降低了小规模数据读取的时间开销。
3. FPGA 资源的高效调度
FPGA 的资源(包括 BRAM 和 DSP48)能够根据计算任务进行动态配置。FlightLLM 通过部署稀疏运算的任务调度策略实现了资源分配更加精准,并成功避免了 GPU 等硬件由于固定架构导致的资源浪费问题。
4. 稀疏指令流的动态调整
FlightLLM 的编译器能够根据输入与输出长度自动优化稀疏指令序列,在每次推理过程中仅需加载必要的指令集。这种方法不仅降低了存储消耗并简化了调度过程
借助软硬件协同优化策略,在FlightLLM系统中实现了其Message Passing Engine(MPE)的性能提升。该系统不仅能够采用高效的计算模式处理稀疏模型,并且充分挖掘FPGA的灵活性与可配置性优势,在此基础上实现了稀疏计算技术在大语言模型推理过程中的实际应用效果显著提升。
三、FPGA上开展模型压缩技术研究的意义
1.稀疏计算技术的前沿趋势
稀疏计算技术在LLM边缘设备应用中发挥着关键作用。
通过去除重复连接、减少数据精度以及简化矩阵运算等方式进行剪枝、量化及低秩近似处理后,在减少计算量的同时也降低了存储需求。
另一方面,在满足稀疏计算需求方面具有显著优势的是FPGA架构。
其独特的可定制化设计不仅允许灵活优化硬件性能,
还能实现高效的并行运算与快速的数据访问,
从而使得其在处理稀疏型数据时展现出卓越的能力,
为LLM模型的实际部署提供了坚实的技术支撑。
尽管 FPGA 在大模型推理领域尚未得到广泛的应用,但基于其高度的可编程性和扩展能力,FPGA 可根据不同的应用场景进行专门化设计,从而实现针对性优化功能,为各类系统提供高效的解决方案
2.连接算法与硬件的桥梁
FPGA可通过编程实现对其内部硬件资源的自主操控,并因此成为高度灵活的软硬件协同测试平台,在验证与优化前沿技术算法方面发挥重要作用。基于其强大的可配置特性,在设计专用硬件架构时可充分运用其可配置特性以适应稀疏计算任务的设计与实现需求。研究者利用这一优势能深入解析性能瓶颈和效率瓶颈,并且由于传统仿真的计算模型与实际 hardware 存在较大差异,在一定程度上难以真实反映 hardware 的运行机制及性能特点;而 FPGA 则能通过高度定制化的架构设置更贴近实际 hardware 的运行模式,在为算法优化提供更具参考价值的方向上有显著的优势。
在FPGA平台上对算法硬件适配的经验同样有助于设计出更加高效先进的ASIC架构方案。其中最具代表性的莫过于Intel Gaudi处理器所展现出来的卓越计算性能与带宽效率。GTC 3版本则是在基于复杂的AI任务处理需求基础上实现了更为显著的进步,在计算能力和带宽效率方面实现了更显著的进步,并通过更高的网络接口速度与更强的横向扩展能力提升了系统处理多样性和复杂性的能力水平。可以说 FPGA技术为算法与硬件协同优化提供了重要探索方向的同时也为ASIC设计提供了重要的技术和方法参考价值这些成果有力地推动了人工智能技术在多个领域的广泛应用与发展

3.经济高效的实验平台
ASIC的设计与制造由于高度定制化的特性而面临着诸多挑战。整个流程从逻辑单元的设计一直到掩模层的制作完成,则需要长达几周至几个月的时间,并且其中成本高昂是一个关键问题。这可能导致模型压缩研究的进展出现延迟,并难以及时适应技术与需求的变化趋势。
相比之下,在经济性和效率方面具有显著优势的是 FPGA 设备。研究人员借助现有的 FPGA 开发板与工具可以在成本较低的前提下反复测试压缩算法。这种灵活性不仅降低了财务风险还加速了算法及硬件设计的优化进程,并推动了模型压缩技术的进步,并使其能够更好地适应多样化的计算需求与应用场景
四、总结
稀疏计算源于稀疏矩阵,在模型压缩领域扮演着关键角色。该方法能够在一定程度上缓解大模型推理所需的算力瓶颈。随着AI算力本地化趋势的发展,在这种背景下,FPGA凭借其灵活的特点成为了一种适用于稀疏计算硬件适配的理想选择。 FlightLLM 框架中的 CSD-Chain 创新设计与软件协同优化不仅为 FPGA 的稀疏计算潜力做出了巨大贡献,并且还促进了整个领域技术的发展。
模型压缩算法的软硬件适配方案为端侧和边缘侧 AI 落地提供了强劲动力。在端侧层面,通过量化和稀疏化等技术手段,有效缓解计算能力的压力,同时提高资源利用率和响应速度,从而拓展了AI应用的范围。在边缘侧场景中,采用模型压缩策略降低计算负荷,减少传输延迟并降低对带宽的需求;同时增强设备自主决策能力并提高实时处理能力;确保系统的稳定性同时保护数据隐私安全;全面重构从一端到另一端的智能生态系统,A I 技术得以向边缘延伸并实现跨领域融合;最终奠定了 A I 技术的广泛应用和发展基础,引领智能新时代迈向更高目标
参考文献
Zeng et al., 2024
[2] Li, Jinhao, Jiaming Xu, Shan Huang, Yonghua Chen, Wen Li, Jun Liu, Yaoxiu Lian, Jiayi Pan, Li Ding, Hao Zhou, Yu Wang and Guohao Dai. “Large Language Model Inference Acceleration: A Comprehensive Hardware Perspective.” (2024). https://arxiv.org/abs/2410.04466
