Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

从架构、工艺到能效表现,全面了解LLM硬件加速,这篇综述就够了

语言模型(LLM)的发展同时往往伴随着硬件加速技术的进化,本文对使用 FPGA、ASIC 等芯片的模型性能、能效表现来了一次全面概览。

对人类语言进行大规模建模是一个复杂的过程,研究人员花了几十年的时间才开发出来。这项技术最早可追溯于 1950 年,当时克劳德・香农将信息理论应用于人类语言。从那时起,翻译和语音识别等任务取得了长足的进步。

在这个过程中,人工智能 (AI) 和机器学习 (ML) 是技术进步的关键。ML 作为 AI 的一个子集,其允许计算机从数据中进行学习。一般来说,ML 模型要么是有监督的,要么是无监督的。

在接下来要介绍的这篇论文中《 Hardware Acceleration of LLMs: A comprehensive survey and comparison 》,来自西阿提卡大学的研究者重点介绍了有监督模型。

图片

论文地址:https://arxiv.org/pdf/2409.03384

根据论文介绍,深度学习模型分为生成式和判别式。生成式人工智能深度学习的一个子集,它使用神经网络来处理标记和未标记的数据。大型语言模型 (LLM) 有助于理解字符、单词和文本。

2017 年,Transformer 彻底改变了语言建模。Transformer 是一种神经网络,它使用注意力机制处理长期文本依赖关系。谷歌于 2017 年创建了第一个用于文本翻译的 Transformer 模型。Transformer 此后不断发展,改进了注意力机制和架构。发展到今天,OpenAI 发布的 ChatGPT 是一个著名的 LLM,它可以预测文本并能回答问题、总结文本等。

本文对使用硬件加速器来加速 Transformer 网络所做的一些研究工作进行了全面的调查。该调查介绍了已提出的框架,然后对每个框架的技术、处理平台(FPGA、ASIC、内存、GPU)、加速、能源效率、性能(GOP)等进行了定性和定量比较。

FPGA 加速器

在这一部分中,作者以 A-T 编号的方式列举了有关 FPGA 的研究,可谓调查的非常详细。每项研究都用简短的几句话概括,阅读起来简单又清晰。举例来说:

FTRANS 。2020 年,Li 等人提出了一种硬件加速框架 FTRANS,旨在加速基于 Transformer 的大规模语言表示。FTRANS 显著提高了速度和能效,超越了 CPU 和 GPU 实现,在一系列比较后显示 FTRANS 比其他方案快 81 倍,能效高 9 倍,特别是与使用 VCU118 (16nm) 的 GPU 处理器 RTX5000 相比。该加速器的性能速率为 170 GOP,能效率为 6.8 GOP/W。

多头注意力。2020 年,Lu 等人提出了一种基于 FPGA 的架构,用于加速 Transformer 网络中计算最密集的部分。在他们的工作中,他们为两个关键组件提出了一种新型硬件加速器,即多头注意力 (MHA) ResBlock 和位置前馈网络 (FFN) ResBlock,它们是 Transformer 中最复杂的两个层。所提出的框架是在 Xilinx FPGA 上实现的。根据性能评估,与 V100 GPU 相比,所提出的设计实现了 14.6 倍的加速。

FPGA NPE。2021 年,Khan 等人提出了一种用于语言模型的 FPGA 加速器,称为 NPE。NPE 的能源效率比 CPU(i7-8700k)高约 4 倍,比 GPU(RTX 5000)高约 6 倍。

除此以外,文中还介绍了 ViA 、 FPGA DFX 、 FPGA OPU 等研究,这里就不再详细介绍了。

基于 CPU 和 GPU 的加速器

TurboTransformer。2021 年,Jiarui Fang 和 Yang Yu 推出了 TurboTransformers 加速器,这是一种在 GPU 上专为 Transformer 模型打造的技术。TurboTransformers 在可变长度输入的延迟和性能方面优于 PyTorch 和 ONNXRuntime,速度提高了 2.8 倍。

Jaewan Choi。2022 年,研究员 Jaewan Choi 发表了题为「Accelerating Transformer Networks through Rewiring of Softmax Layers」的研究,文中提出了一种加速 Transformer 网络中 Softmax 层的方法。该研究引入了一种重新布线技术来加速 Transformer 网络中的 Softmax 层,随着 Transformer 模型处理更长的序列以提高准确率,这项技术变得越来越重要。所提出的技术将 Softmax 层划分为多个子层,更改数据访问模式,然后将分解的 Softmax 子层与后续和前面的过程合并。该方法分别将 BERT、GPT-Neo、BigBird 和 Longformer 在当前 GPU 上的推理速度加快了 1.25 倍、1.12 倍、1.57 倍和 1.65 倍,显著减少了片外内存流量。

SoftMax。2022 年,Choi 等人提出了一种通过重组 Softmax 层加速 Transformer 网络的新框架。Softmax 层将注意力矩阵的元素归一化为 0 到 1 之间的值。此操作沿注意力矩阵的行向量进行。根据分析,缩放点积注意力 (SDA) 块中的 softmax 层分别使用了 BERT、GPT-Neo、BigBird 和 Longformer 总执行时间的 36%、18%、40% 和 42%。Softmax 重组通过显著减少片外内存流量,在 A100 GPU 上对 BERT、GPT-Neo、BigBird 和 Longformer 进行推理时实现了高达 1.25 倍、1.12 倍、1.57 倍和 1.65 倍的加速。

此外,论文还介绍了 LightSeq2 、 LLMA 、 vLLMs 等研究。

ASIC 加速器

A3。2020 年,Hma 等人提出了一项关于 Transformer 网络加速的早期研究,称为 A3 。不过,研究人员所提出的方案尚未在 FPGA 上实现。基于性能评估,与 Intel Gold 6128 CPU 实现相比,所提出的方案可实现高达 7 倍的加速,与 CPU 实现相比,能效可提高 11 倍。

ELSA。2021 年,Ham 等人提出了一种用于加速 Transformer 网络的硬件 - 软件协同设计方法,称为 Elsa 。ELSA 大大减少了自注意力操作中的计算浪费。

SpAtten。2021 年,Want 等人提出了一种用于大型语言模型加速的框架 Spatten。SpAtten 采用新颖的 NLP 加速方案,以减少计算和内存访问。SpAtten 分别比 GPU(TITAN Xp)和 Xeon CPU 实现了 162 倍和 347 倍的加速。在能源效率方面,与 GPU 和 CPU 相比,SpAtten 实现了 1193 倍和 4059 倍的节能。

在这部分,作者还列举了加速 transformer 网络的新方法 Sanger、用于提高自然语言处理中 transformer 模型效率的 AccelTran 等多项研究。

内存硬件加速器

ATT。2020 年,Guo 等人提出了一种基于注意力的加速器加速方法,称为 ATT,该方法基于电阻性 RAM。根据性能评估,ATT 与 NVIDIA GTX 1080 Ti GPU 相比,可以实现 202 倍的加速。

ReTransformer。2020 年,Yang 等人提出了一种用于加速 Transformer 的内存框架,称为 ReTransformer。ReTransformer 是一种基于 ReRAM 的内存架构,用于加速 Transformer,它不仅使用基于 ReRAM 的内存架构加速 Transformer 的缩放点积注意力,而且还通过使用提出的矩阵分解技术避免写入中间结果来消除一些数据依赖性。性能评估表明,与 GPU 相比,ReTransformer 可以实现高达 23.21 倍的加速,而相应的整体功率降低了 1086 倍。

iMCAT。2021 年,Laguna 等人提出了一种用于加速长句 Transformer 网络的新型内存架构,称为 iMCAT。该框架结合使用 XBar 和 CAM 来加速 Transformer 网络。性能评估表明,对于长度为 4098 的序列,这种方法实现了 200 倍的加速和 41 倍的性能改进。

除此以外,该章节还介绍了 iMCAT 、 TransPIM 、 iMTransformer 等研究。

定量比较

下表 I 列出了目前所有的硬件加速器以及各自的主要特性,包括加速器名称、加速器类型(FPGA/ASIC/In-memory)、性能和能效。

在某些情况下,当提出的架构与 CPU、GPU 进行比较时,以往的工作也会提及加速这一指标。不过,由于每种架构的基线比较不同,因而本文只展示了它们的绝对性能和能效,而没有涉及加速。

图片

性能定量比较

下图 1 展示了不同工艺技术下,每种加速器的性能;图 2 展示了更加清楚的对数尺度性能。

图片

图片

我们可以看到,采用 14nm 工艺的 AccelTran(服务器)实现最高性能,达到了 372000 GOPs,而 ReTransformer 模型的性能最低。此外,ViA、Me-ViT 和 Ftrans 等采用相同工艺技术的模型并没有实现相似的性能。

不过,对于没有采用相同工艺技术的加速器,则很难进行公平比较。毕竟,工艺技术会对硬件加速器性能产生显著的影响。

能效 vs 工艺技术

下图 3 展示了大多数硬件加速器的能效(GOPs/W)水平,图 4 展示了对数尺度层面的能效。由于很多架构没有测量能效,因而本文只列出了提供了能效的加速器。当然,很多加速器采用了不同的工艺技术,因此很难进行公平比较。

结果显示,以内存为主(In-Memory 加速器)的模型具有更好的能效表现。原因在于数据传输减少了,并且这种特定的架构允许数据在内存中直接处理,而不需要从内存传输到 CPU。

图片

图片

16nm 工艺下的加速比较

下表 II 展示了 16nm 工艺下,不同硬件加速器的外推性能。

图片

下图 5 展示了当在相同的 16nm 工艺技术下外推性能时,不同硬件加速器的绝对性能,其中 AccelTran 的性能水平最高。

图片

实验外推

本文针对 FPGA 架构进行了实验外推,并测试了 20nm、28nm、40nm、 55nm、65nm 和 180nm 工艺下技术不同的矩阵乘法代码,以验证 16nm 工艺的理论转换效果。研究者表示,FPGA 技术上的矩阵乘法结果有助于外推不同硬件加速器在相同工艺技术上的结果。

下表 III 展示了不同 FPGA 设备、工艺技术以及矩阵乘法 IP 核的结果。

图片

下图 6 展示了每种 FPGA 设备和矩阵乘法工艺技术的最大时钟频率。由于 FPGA 的性能依赖于最大时钟频率,因此外推性能使得不同工艺技术下架构之间能够实现公平比较。

图片

更多实验细节请参阅原论文。

工程FPGA
相关数据
克劳德人物

ClaudeLemaréchal是法国应用数学家,也是法国格勒诺布尔附近INRIA的前高级研究员。 在数学优化中,ClaudeLemaréchal因其在非线性优化的数值方法方面的工作而出名,特别是对于不可扭曲扭结问题。 Lemaréchal和菲尔。沃尔夫开创了用于凸面最小化的束下降方法。 机构: 法国国家信息与自动化研究所

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

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

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

人工智能技术

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

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

神经网络技术

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

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

Xilinx机构

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

https://china.xilinx.com/
相关技术
矩阵分解技术

矩阵分解是一种将矩阵简化为其组成部分的方法。这种方法可以简化更复杂的矩阵运算,这些运算可以在分解的矩阵上执行,而不是在原始矩阵本身上执行。它的衍生Non-negative matrix factorization也被用于降维等操作上。

暂无评论
暂无评论~