作为北京大学人工智能研究院和集成电路学院的双聘助理教授,李萌既懂 AI 又懂芯片。

近日,他和北京大学集成电路学院王源教授及团队设计出一款面向 Transformer 模型的高效数据流架构——HG-PIPE,并在可编程阵列逻辑(FPGA,Field Programmable Gate Array)平台上完成了实时展示。

总的来说,HG-PIPE 是一种能用于高吞吐率和低延迟 ViT(Vision Transformer,视觉 Transformer)处理的流水线架构 FPGA 加速器。

(来源:ICCAD)
打开网易新闻 查看精彩图片
(来源:ICCAD)

HG-PIPE 采用混合粒度流水线架构,因此能够降低片上缓冲区成本,其还将计算数据流和并行设计相结合,从而能够消除流水线气泡(pipeline bubbles)。

HG-PIPE 进一步引入了细致的近似设计,以实现基于查找表(LUT,Lookup Tables)的线性运算符和非线性运算符,从而能够缓解资源限制。

相比 AutoViTAcc 等现有加速器,在一块 ZCU102 FPGA 上,HG-PIPE 实现了高出 2.78 倍的吞吐量和高出 2.52 倍的资源效率。

同时,他们还提供了加速器的架构设计图,展示了数据在硬件模块间的流动原理和计算原理。

通过结合细粒度设计和粗粒度设计的优点,本次方法能够同时实现低延迟和高资源利用效率,将片上激活缓冲成本降低 83.3%。

目前,他们已经实现包括 PoT(Power-of-Two)表索引计算和基于 LUT(Lookup Tables)的 ReQuant 在内的优化,这些优化在不牺牲精度的情况下能将数字信号处理(DSP,digital signal processing)使用率降低 89.6%。

在 VCK190 开发板上,HG-PIPE 能以 7118FPS 的速度提供实时视觉 Transformer 处理(相当于 17.8TOP/s),比 V100 图形处理器(GPU,Graphics Processing Unit)快 2.81 倍。

(来源:ICCAD)
打开网易新闻 查看精彩图片
(来源:ICCAD)
打开网易新闻 查看精彩图片

有望用于神经网络处理器芯片

李萌表示:“本次研究主要面向视觉 Transformer 模型,旨在提升其在端侧硬件资源受限平台上的部署推理效率,在应用上具有广阔的前景。”

一方面,作为通用型主干网络,视觉 Transformer 模型能够支持包括目标检测、图像分割、姿势识别、视频理解在内的多种下游任务。

另一方面,由于数据隐私、网络连接等因素限制,AI 模型端侧部署面临着广泛的需求,比如用于车载助手和自动驾驶场景等。

随着汽车产业的转型和升级、以及自动驾驶技术的逐步发展,无不预示着真正的无人驾驶也许不久就会到来。

而面向自动驾驶的低延迟、高能效的端侧神经网络硬件加速器,必将成为一个持续火热的研究领域。

国内众多造车新势力比如蔚来、理想、小米等,都在研发自己在端侧的神经网络处理器芯片。蔚来已经在最近展示了自家的流片结果。

而本次李萌和王源教授团队的研究成果,展示了目前对于非自回归 Transformer 而言的效率最好的硬件数据流设计方案,未来有望用于上述应用场景。

图 | 左:李萌;中:王源;右:郭晴宇(来源:李萌)
打开网易新闻 查看精彩图片
图 | 左:李萌;中:王源;右:郭晴宇(来源:李萌)

日前,相关论文以《HG-PIPE:采用混合颗粒流水线的 Vision Transformer 加速》(HG-PIPE: Vision Transformer Acceleration with Hybrid-Grained Pipeline)为题发在计算机辅助设计国际会议(ICCAD,International Conference on Computer-Aided Design)[1]。

图 | 相关论文(来源:ICCAD)
打开网易新闻 查看精彩图片
图 | 相关论文(来源:ICCAD)
打开网易新闻 查看精彩图片

相当于每秒 7353 张图像的理想帧速率

过去十年,得益于专用加速芯片和系统带来的算力提升,以深度学习为代表的 AI 技术得到了快速发展。同时,也对 AI 提出了新挑战和新要求。

以注意力模型 Transformer 为例,它比传统的卷积神经网络具有更少的归纳偏见以及更强的泛化能力,因而被广泛用于视觉、语言等不同模态信息的处理中。

但是,相比卷积神经网络,Transformer 模型的参数量和计算量有着显著增加,因此在端侧芯片面积、功耗等相对比较受限的场景中,面临着更高的部署挑战和计算挑战。

使用 FPGA 进行视觉 Transformer 加速很有前景,但也很有挑战性。

现有的基于 FPGA 的视觉 Transformer 加速器主要依赖于时序架构,该架构通过重用相同的硬件块来处理不同的运算符,其短板在于巨大的内存访问开销。

无论是粗粒度的还是细粒度的流水线架构,从空间上展开视觉 Transformer 计算。然而,由于视觉 Transformer 依赖于全局计算,它们通常会受到硬件资源限制和流水线气泡的严重影响。

基于此,团队针对视觉 Transformer 模型的高效推理开展了本次研究。

他们希望回答的核心问题是:在 Transformer 模型架构逐渐收敛的情况下,能否通过设计 Transformer 专用的数据流架构,来实现超低延迟的视觉 Transformer 推理优化?

北京大学集成电路学院王源教授,是李萌在本次研究中的合作者。从 2021 年初,王源就开始研究张量流式处理架构(tensor streaming processing)。

具体来说,王源曾先后研究了卷积神经网络和视觉 Transformer 模型,其中关于卷积神经网络的相关论文发表于IEEE Transactions on Circuits and Systems I: Regular Papers。

而在本次研究初期,针对张量流式处理架构能否适用于 Transformer 模型及其通用性等问题,李萌、王源和学生郭晴宇曾开展过一场争论。

由于需要针对 Transformer 网络的每一层进行定制化设计,这让 HG-PIPE 面临着通用性不足以及工程量巨大的挑战。

不过,当把视觉 Transformer 模型用于不同视觉任务之中,它在主干网络上存在一定的通用性。而 FPGA 平台的可重构特性,也可以很大程度上减轻 HG-PIPE 的使用局限。

此外,对于视觉 Transformer 模型来说,在端侧面临着高能效、低延迟的部署需求。

因此,该团队认为这条技术路线具有一定的使用价值。针对架构设计进行几次大改之后,关于本次研究的论文和加速器 demo 均在 2023 年之内成型,并取得了很好的加速效果。

(来源:ICCAD)
打开网易新闻 查看精彩图片
(来源:ICCAD)

具体来说:

为了评估本次设计方案,他们选择使用 Deit 微型模型和 Deit 小型模型,在 ZCU102 和 VCK190 这两个 FPGA 平台上进行测试,并与 AutoViTAcc、HeatViT 和 SSR 这三个基线进行了对比。

其中,ZCU102 允许与之前的研究成果进行直接比较,而 VCK190 支持整个网络的全面部署。在测量吞吐量时他们使用 PYNQ 框架进行测量,测量功耗时他们则使用赛灵思公司的 BEAM 工具进行评估。

通过模拟上述设计方案,他们生成了一个时序图。然后,在加速器中按顺序加载输入张量块。当首张图像的加载完成时,下一张图像开始加载,不同图像的推理执行开始出现重叠。

同时,由于 MHA 块(Multi-Head Attention,Transformer 的关键模块)采用粗粒度的缓冲,导致输出第一个张量块时略有延迟。

而后续图像计算,所测得的平均处理周期数是 57624 个周期,这和课题组的预期互相符合,也验证了混合粒度流水线的有效性。

实验数据还显示:首张图片的总处理时间为 824843 个周期,共计 1.94ms。当流水线稳定后,完成新图片的推理平均仅需 0.136ms,相当于每秒 7353 张图像的理想帧速率。

通过将 HG-PIPE 与其他先进成果开展基准比较,该团队发现这种混合粒度流水线设计在吞吐量、资源效率和功率效率方面有了显著提高。

李萌和王源也很欣喜地发现,随着 Transformer 和大模型的广泛应用,业界也越来越认可这种高度定制化、低延迟的技术方案。

包括 Groq、Tenstorrent、Etched 等国际公司,也都在采用类似的设计思想。

李萌补充称,他和团队的过往研究主要面向视觉 Transformer 模型。事实上,类似思想也能用于提升大模型和多模态大模型的端侧部署效率。

不过,大模型存在自回归解码特性和模型规模指数级增长的特点,因此比视觉 Transformer 模型面临着更大的存储挑战和访存带宽挑战。

所以,课题组的后续研究将主要面向多模态大模型,即研究如何在端侧的有限的硬件资源下,通过突破带宽限制和存储限制,来提升大模型的部署效率。

参考资料:

1.Guo, Q., Wan, J., Xu, S., Li, M., & Wang, Y. (2024). HG-PIPE: Vision Transformer Acceleration with Hybrid-Grained Pipeline.arXivpreprintarXiv:2407.17879.

支持:Ren

运营/排版:何晨龙