Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

比A100性价比更高!FlightLLM让大模型推理不再为性能和成本同时发愁

语言模型在端侧的规模化应用对计算性能、能效比需求的“提拽式”牵引,在算法与芯片之间,撕开了一道充分的推理竞争场。

面对想象中的终端场景,基于 GPU 和 FPGA 的推理方案的应用潜力需要被重新审视。

近日,无问芯穹、清华大学和上海交通大学联合提出了一种面向 FPGA 的大模型轻量化部署流程,首次在单块 Xilinx U280 FPGA 上实现了 LLaMA2-7B 的高效推理。

第一作者为清华大学电子系博士及无问芯穹硬件负责人曾书霖,通讯作者为上海交通大学副教授、无问芯穹联合创始人兼首席科学家戴国浩,清华大学电子工程系教授、系主任及无问芯穹发起人汪玉。

相关工作现已被可重构计算领域顶级会议 FPGA’24 接收。

图片

论文链接:https://arxiv.org/pdf/2401.03868.pdf

回顾上一轮清华电子系相关工作被 FPGA 国际会议收录的踪迹,要追溯到 2016 年的 Going Deeper with Embedded FPGA Platform for Convolutional Neural Network 与 2017 年 ESE: Efficient Speech Recognition Engine with Sparse LSTM on FPGA。

前者催化了深鉴科技的创立,后者被 FPGA 国际会议评为当年唯一的最佳论文,并为其特设了一个 Tutorial 环节「The Role of FPGAs in Machine Learning」,专门讨论 FPGA 在机器学习领域所扮演角色的变化。

随着 FPGA 在高性能计算领域的应用潜力被不断挖掘,震动从学术界传导到产业界,引发了一轮半导体领域的 FPGA 公司收购热。

在几乎所有可能对未来世界产生重大影响的产、研趋势中,高性能计算都处于关键位置。虽然设备的核心计算部件仍是 CPU 和 GPU ,但在一个人工智能算法不断进步、新标准不断涌现的时代里,加速这些日新月异的算法推理工作至关重要。

在软硬件协同优化趋势下,FPGA 在灵活构建高效的大模型推理系统中将发挥越来越重要的作用。它被认为是通往 5G 通信、数据中心、无人驾驶等诸多千亿美元级别市场的钥匙。

被 FPGA’24 接收的新成果名为 FlightLLM。在单 batch 场景下相比在同等工艺 V100S GPU 上使用 vLLM 推理框架和 SmoothQuant 量化库,FlightLLM 可实现 6.0 倍的能效比提升和 1.8 倍的性价比提升。

图片

放眼未来 1 至 2 年,大模型可能将在代码补全、实时聊天机器人、售后支持等延时敏感应用场景中落地。在这些场景中,延时低、功耗小对于用户的交互体验至关重要。

然而,目前大模型的计算量和存储量相比传统神经网络呈现数量级增加,这导致其推理速度和能效很难满足这些需要快速反馈、能耗敏感场景的需求。

为解决上述问题,行业内通常采用如稀疏化、量化的方法来压缩大模型。但是 GPU 硬件平台仅能支持部分粗粒度的模型压缩方法,对于定制化的模型压缩方法的计算效率很低。

作者认为,FPGA 具有低成本、可配置、低功耗的特性,可成为加速大模型推理的潜在解决方案。但要想用好,仍需要解决以下挑战:

图片

  • 计算效率低下:大模型中灵活的稀疏模式(例如块稀疏、N:M 稀疏等)导致计算效率低下。
  • 内存带宽利用率低:大模型的 decode 阶段反复从片外存储器中读写细粒度的数据,导致较低的带宽利用率(29%-43%)。
  • 编译开销大:大模型的动态稀疏模式和可变输入长度构成了一个庞大的指令空间。例如,为 2048 种输入 token 长度生成指令将导致在 FPGA 上约 TB 量级的存储开销。

FlightLLM 的核心思想是利用 FPGA 上特定的资源(如 DSP48 和异构存储层次结构)来解决大模型的计算和存储开销问题。

图片

 FlightLLM的整体架构。

尽管在理论上,稀疏可以为大模型推理带来性能提升,但它们不能直接在现有硬件架构上实现。在基于 Transformer 的大模型中,大多采用稀疏注意力和剪枝等稀疏化方法来加速推理。

然而,稀疏化所生成的稀疏矩阵,其密度和稀疏模式并不确定。这给硬件设计带来了很大的挑战,特别是对于 FPGA 这种基于固定 DSP48 乘法单元的架构。此前的工作引入了大量额外的硬件架构来支持稀疏计算,但这会导致硬件资源显著增加。根据估算,需要多消耗近 5 倍的硬件资源。

图片

(a) 统一矩阵处理引擎(Matrix Processing Engine, MPE),可灵活支持(b)矩阵-矩阵乘(Matrix-Matrix multiplication, MMMult)和(c)矩阵-向量乘(Matrix-Vector multiplication, MVMult)计算模式。(d)每个MPE由多个基于稀疏DSP48链的向量处理引擎(Vector Processing Engine, VPE)组成。

为此,FlightLLM 采用了软硬件协同设计来克服低计算效率的挑战。研究者设计了统一的矩阵处理引擎(MPE),以处理与矩阵计算相关的所有操作(见上图)。

此前的工作均通过级联 DSP 来充分利用 DSP48 的硬件资源来减少硬件开销。然而,由于级联链的路径是固定的,因此完全级联的 DSP 架构对稀疏计算不友好。

FlightLLM 在这一问题上提出了针对性的解决方案。FlightLLM 利用 FPGA 上的 DSP48 计算单元,设计了一个可配置的稀疏 DSP 链。稀疏 DSP 链支持多种的稀疏模式,其计算效率(即运行时 DSP 利用率)提升了 1.6 倍。

此外,在解码阶段,作者发现大模型推理的主要效率限制来自于频繁访问片外存储器的小数据量激活向量。
图片
(a)大模型推理阶段的注意力层/线性层与非线性激活操作(MISC)的算子融合实现;全片上解码在(b)预取(Prefill)阶段和(c)解码(Decode)阶段的示意图:利用算子融合和FPGA的高片上存储,使得大模型推理解码阶段的激活值无须写到片外。

为了减少激活向量的片外存储器访问,解决访存带宽利用率低的挑战,FlightLLM 使用了算子融合技术,将解码阶段每次推断中的计算进行融合,提出了 always-on-chip decode 的数据流。通过混合精度量化和算子融合的设计,将 decode 阶段的激活值最大程度在片上缓存中复用。

最后,由于大模型每次推理过程 token 长度都会增加,因此需要不同的指令。而大模型有大量计算和存储需求,即使使用粗粒度指令,指令数量仍然非常庞大。
图片
通过在不同输入 token 长度下推理性能的测量,作者观察到 prefill 和 decode 的延时和输入 token 长度之间的关系存在着 「阶梯」增长的特征,并且 prefill 阶段延时随输入 token 长度增加得更快。

这是因为 prefill 阶段是计算瓶颈,计算量随 token 长度显著增加;而 decode 阶段是访存瓶颈,因此延时增加不明显。阶梯状增长的原因则主要是粗粒度指令集。由于矩阵 - 矩阵乘指令的输出并行度是 128,矩阵 - 向量乘的输出并行度是 16,因此 prefill 和 decode 的 「阶梯」 的宽度分别为 128 和 16。

基于这些发现,FlightLLM 提出了一种 token 长度自适应的编译方法,通过复用 prefill 阶段和 decode 阶段的指令来减少编译指令的存储开销,进而对每个 「阶梯」输入 token 长度的指令分组,以 「阶梯」 宽度复用指令序列。这种设计显著减少了指令的总存储开销。

目前,作者已在 Xilinx Alveo U280 FPGA(16nm)上实现了 FlightLLM。在 OPT-6.7B 和 LLaMA2-7B 上的实验结果表明,FlightLLM 的端到端延迟优于 NVIDIA V100S GPU。
图片
此外,FlightLLM(基于 U280 FPGA 和 VHK158 FPGA)在能效上超过了 NVIDIA V100S 和 A100 GPU,分别提高了 6.0× 和 4.2×,在性价比上提高了 1.8× 和 1.5×。

更多详细细节,请参阅论文原文。
产业FPGA’24FlightLLM
相关数据
清华大学机构

清华大学(Tsinghua University),简称“清华”,由中华人民共和国教育部直属,中央直管副部级建制,位列“211工程”、“985工程”、“世界一流大学和一流学科”,入选“基础学科拔尖学生培养试验计划”、“高等学校创新能力提升计划”、“高等学校学科创新引智计划”,为九校联盟、中国大学校长联谊会、东亚研究型大学协会、亚洲大学联盟、环太平洋大学联盟、清华—剑桥—MIT低碳大学联盟成员,被誉为“红色工程师的摇篮”。 清华大学的前身清华学堂始建于1911年,因水木清华而得名,是清政府设立的留美预备学校,其建校的资金源于1908年美国退还的部分庚子赔款。1912年更名为清华学校。1928年更名为国立清华大学。1937年抗日战争全面爆发后南迁长沙,与北京大学、南开大学组建国立长沙临时大学,1938年迁至昆明改名为国立西南联合大学。1946年迁回清华园。1949年中华人民共和国成立,清华大学进入了新的发展阶段。1952年全国高等学校院系调整后成为多科性工业大学。1978年以来逐步恢复和发展为综合性的研究型大学。

http://www.tsinghua.edu.cn/
相关技术
深鉴科技机构

深鉴科技成立于2016年3月,定位为深度学习硬件解决方案公司,将以自主研发的深度压缩与深度学习处理器(DPU)为核心,打造最好用的解决方案和最高效的整体系统,提供硬件+芯片+软件+算法的完整方案,方便所有人使用。同时,深鉴主要瞄准智慧城市和数据中心两大市场,可帮助用户为多种智能安防场景打造稳定高效的解决方案。

相关技术
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

剪枝技术

剪枝顾名思义,就是删去一些不重要的节点,来减小计算或搜索的复杂度。剪枝在很多算法中都有很好的应用,如:决策树,神经网络,搜索算法,数据库的设计等。在决策树和神经网络中,剪枝可以有效缓解过拟合问题并减小计算复杂度;在搜索算法中,可以减小搜索范围,提高搜索效率。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

聊天机器人技术

聊天机器人是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试。 聊天机器人可用于实用的目的,如客户服务或资讯获取。有些聊天机器人会搭载自然语言处理系统,但大多简单的系统只会撷取输入的关键字,再从数据库中找寻最合适的应答句。

Xilinx机构

赛灵思作为FPGA、可编程SoC的发明者,一直坐稳全球最大的FPGA芯片供应商头把交椅。赛灵思的产品线覆盖45/28/20/16nm四个系列的FPGA以及Zynq SoC,旗下拥有着超过4400项技术专利、60多项行业第一的技术产品,服务着全球超过60000的客户。赛灵思耗时4年,超过1500名工程师的研发参与,超过10亿美元的研发投资,推出高度集成的多核异构自适应计算加速平台——ACAP!10月赛灵思发布了统一软件平台Vitis,成功“打破软硬件壁垒”。

https://china.xilinx.com/
相关技术
5G技术

第五代移动通信系统(5th generation mobile networks),简称5G,是4G系统后的延伸。美国时间2018年6月13日,圣地牙哥3GPP会议订下第一个国际5G标准。由于物理波段的限制,5G 的网络也将会与其他通信技术并用,包含长距离的其他传统电信波段。

语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~