最先进的神经网络架构设计的最新进展正在向Transformer模型发展。这些模型在计算机视觉、自然语言处理和语音识别的广泛应用中取得了卓越的准确性。自从Transformer模型最初被引入以来,这种趋势在过去几年中一直是一致的。然而,最近Transformer模型推理所需的计算量和带宽正在以显著的速度增长,这使得它们在延迟敏感的应用程序中的部署具有挑战性。因此,人们越来越关注提高Transformer模型的效率,方法从更改架构设计,一直到开发专用的特定领域加速器。**本文调研了高效Transformer推理的不同方法,包括:(i)分析和剖析现有Transformer架构中的瓶颈及其与之前卷积模型的异同;(ii) Transformer架构对硬件的影响,包括层归一化、Softmax和GELU等非线性操作以及线性操作对硬件设计的影响;(iii)优化固定Transformer架构的方法;(iv)为Transformer模型找到正确的映射和操作调度的挑战;(v)通过使用神经架构搜索调整架构来优化Transformer模型的方法。**最后,在开源的全栈深度神经网络加速器生成器Gemmini上进行了案例研究,并与之前的基准测试结果相比,展示了这些方法是如何产生改进的。发现与上述方法相结合的全栈协同设计方法可以导致高达88.7倍的加速比。

1. 引言

深度学习模型在训练和推理过程中已经扩展到数十亿个参数和数十亿个乘累加(MAC)操作。因此,人们对高效计算这些模型以及在资源受限的边缘设备上部署这些计算和内存密集型工作负载的兴趣越来越浓厚。这些边缘设备有严格的能量和内存限制,相应的利用深度学习模型的应用程序通常也有实时延迟限制。CPU和GPU在通用性能计算平台中都是常用的,它们的优势是无处不在且能够支持各种工作负载和操作。然而,这种灵活性是以降低效率为代价的。深度学习模型由少量不同的操作组成,这些操作会重复数百万或数十亿次,因此通常不需要很高的灵活性。此外,虽然现代CPU和GPU可以并行执行多个操作,但它们缺乏利用深度学习模型中的海量数据重用机会的能力。 对快速、高效计算的需求,使用少量不同的操作,以及数据重用的机会,这些结合在一起,导致了深度学习使用硬件加速器。这与学术界开发的许多研究加速器相似[34,37,39,40,59,69,70,81,169]。随着硬件加速器的发展,用于部署各种深度学习算法的软件框架[3,32,98,167]和编译器[33,161,185]也得到了增强和成熟。这些工具使深度学习算法能够在加速器上执行,并执行映射优化,以提高整个深度学习流水线的性能和效率。然而,快速发展的深度学习算法仍在不断引入对软硬件支持及其协同优化的新需求,以满足各种部署约束。 **最近,transformer和大型语言模型[22,44,52,58,86,173-175,177,190,198]在解决各种自然语言处理(NLP)任务方面的流行,在加速器和框架的设计方面提出了一套全新的挑战。**人们也越来越关注提高Transformer推理的效率,特别是由于它们的规模和运行时复杂性不断增长。然而,与更知名的卷积神经网络(CNN)架构相比,人们仍然缺乏对Transformer架构的工作负载特征的了解,从而缺乏有效运行这些模型所需的设计原则。例如,与传统的以CNN为重点的设计相比,transformer主要由矩阵乘法(matmuls)和内存密集型的非线性操作组成。此外,Transformer模型的计算图和数据流比CNN更复杂,具有更多类型的操作节点,以及更多的数据流拆分和连接。所有这些挑战都要求我们对当前的硬件和软件解决方案进行全面的分析,以及Transformer推理的各种设计权衡。进行这样的分析将使我们能够对高效运行transformer的需求建立全面和全面的理解。

本文工作有两个方面的贡献:(1)分析Transformer的运行时特性,并调查高效Transformer推理的不同方法;(2)在全栈深度神经网络(DNN)加速器生成器Gemmini[70]上应用所调查的方法进行案例研究。本文工作的长期目标是描述硬件和软件堆栈中的不同因素,以优化Transformer推理。关于我们的第一个贡献,本文涵盖了端到端深度学习推理的不同层次,特别关注transformer。这包括:Transformer架构的运行时特征和瓶颈的分析和profiling(第2节)。包括Transformer架构的非线性操作对其设计的影响(第3节)•优化策略,如修剪和量化,以进一步提高固定Transformer架构的性能(第4节)•Transformer架构中操作的映射和调度及其相关挑战(第5节)•通过自动化神经架构搜索过程设计和适应Transformer架构,以提高硬件效率(秒。6)。

Transformer模型架构和性能瓶颈

在本节中,我们将从高层次地介绍Transformer架构的各个组成部分。首先讨论了多头注意力和前馈模块、transformer中使用的非线性操作,以及编码器/解码器模型之间的差异,在2.1节中。在2.2节中,我们使用算法分析这些不同块对硬件性能的影响,并对每个组件进行分析建模和直接profiling。

**硬件设计

**到目前为止,在第2节中,我们已经对Transformer架构的运行时特性和瓶颈进行了分析。现在将重点转移到高效Transformer推理的全栈解决方案,从设计高效的硬件开始。第3.1节概述了为DNN使用特定领域加速器的基本原理,以及在大多数DNN加速器中使用的基本架构和数据流。第3.2节重点介绍了加速transformer的现有工作。第3.3节随后提供了使用分析模型的分析,以评估transformer在典型加速器上的运行情况。最后,第3.4节提供了一个案例研究,说明了为transformer构建典型加速器的过程。总的来说,本节会给出相关的性能分析,并从全栈的角度为选定的硬件决策提供依据。请注意,我们这里只关心如何有效地推断DNN。特别是,为高效的模型训练设计硬件超出了本文的范围。

** 模型优化**

给定一个已经设计和训练好的DNN模型,一个重要的问题是,是否仍然有可能通过算法来提高模型在目标硬件平台上的效率,通过将模型改编为更友好的硬件格式。在本节中,我们将分别在第4.1节和4.2节中讨论流行的现成模型优化方法,量化和稀疏性(即剪枝)。然后,在第4.3节中,我们概述了特定于transformer的优化方法,以提高特定于transformer的特征(如注意和非线性操作)的性能。

将transformer映射到硬件

为了在目标硬件架构上执行Transformer块,必须将其映射到执行所需的计算和通信的硬件指令中。在映射过程中所做的选择对性能有很大影响。然而,可能映射空间的大小使找到最优映射变得困难,这需要使用仔细考虑的探索、启发式或基于学习的方法。在本节中,我们将介绍5.1节中的映射问题。我们将在第5.2节讨论高效执行transformer所需的关键映射决策。我们在第5.3节中概述了现有映射技术的分类,在第5.4节中概述了对不同映射的性能进行建模的技术。最后,在5.5节中,我们将介绍mapper在使用transformer时需要注意的问题。

成为VIP会员查看完整内容
81

相关内容

Transformer是谷歌发表的论文《Attention Is All You Need》提出一种完全基于Attention的翻译架构

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
用于识别任务的视觉 Transformer 综述
专知会员服务
64+阅读 · 2023年2月25日
Transformer如何用于视频?最新「视频Transformer」2022综述
专知会员服务
75+阅读 · 2022年1月20日
专知会员服务
47+阅读 · 2021年6月28日
专知会员服务
112+阅读 · 2020年8月22日
硬件加速神经网络综述
计算机研究与发展
24+阅读 · 2019年2月1日
综述 | 近年来深度学习的重要研究成果(附PDF)
数据派THU
14+阅读 · 2018年8月15日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
22+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
3+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
A Survey of Large Language Models
Arxiv
317+阅读 · 2023年3月31日
Arxiv
11+阅读 · 2022年3月16日
Arxiv
30+阅读 · 2021年6月30日
Arxiv
17+阅读 · 2021年3月29日
Arxiv
15+阅读 · 2020年2月5日
VIP会员
相关基金
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
22+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
3+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
微信扫码咨询专知VIP会员