在AI模子领域,界限至关迫切。
尽管部分AI大家告诫称,抓续扩大大谈话模子的界限正在遇到性能收益递减的瓶颈,各大公司仍在不断推出体量更大的AI器具。Meta最新发布的Llama模子领有高达2万亿个参数。
跟着模子界限的扩大,其才略也在增强,但随之而来的是更高的能耗需乞降更长的运行时刻,进而加重了碳排放问题。为了缓解这些问题,业界启动转向界限较小、才略相对有限的模子,并尽可能取舍低精度数值来示意模子参数。
然则,还有另一条旅途,有望在保留超大模子高性能的同期,裁减运行时刻、降顽劣耗。这一设施的中枢,即是充分足下大型AI模子里面多半存在的零值。
关于很多模子而言,大多数参数——包括权重和激活值——本体上齐是零,或者特地接近于零,澈底不错在不亏损精度的前提下将其视为零惩办。这种特质被称为稀薄性。稀薄性为省俭狡计资源提供了弘远契机:与其花费时刻和能量对零进行加法或乘法运算,不如径直跳过这些狡计;与其在内存中存储多半零值,不如只保存非零参数。
缺憾的是,刻下主流硬件(如多核CPU和GPU)并不可自然充分足下稀薄性。要确凿发扬稀薄性的上风,研讨东说念主员和工程师需要从头念念考并重构通盘设计架构,涵盖硬件、底层固件和应用软件各个层面。
在斯坦福大学的研讨团队中,咱们开拓出了(据咱们所知)首款大约高效惩办各种稀薄和传统职责负载的硬件芯片。在不同职责负载下,能耗省俭幅度各别权贵,但平均而言,咱们的芯片能耗仅为CPU的七十分之一,狡计速率平均晋升至CPU的八倍。为终了这一见地,咱们从底层启动,对硬件、固件和软件进行了全面的针对稀薄性的工程设计。咱们但愿这只是硬件与模子协同发展的伊始,最终终了更高能效的AI。
数组与稀薄示意
神经网罗偏执输入数据以数字数组的形势示意,这些数组不错是一维(向量)、二维(矩阵)或更高维度(张量)。稀薄向量、矩阵或张量中大多数元素为零。稀薄进程因情况而异,但当零值占比超越50%时,就不错从有益针对稀薄性的狡计设施中获益。与之相对的是"密集"对象——即零值数目相干于元素总和较少的情况。
稀薄性不错自然存在,也不错通过东说念主工样子引入。举例,酬酢网罗图自然即是稀薄的。设想一个图,其中每个节点代表一个东说念主,每条边代表一段友谊关系。由于大多数东说念主彼此并不融会,示意扫数可能聚首关系的矩阵中绝大多数元素齐是零。其他AI应用场景,如图学习和推选模子,通常存在自然的稀薄性。
泛泛情况下,一个4×4的矩阵无论包含若干个零值,在内存中齐会占用16个存储空间。若矩阵是稀薄的,即多半元素为零,则不错更高效地用"纤维树"结构示意:最初是包含非零元素所在行坐标的"纤维",聚首至包含非零元素列坐标的纤维,最终聚首到对应的非零值本人。在狡计机内存中存储纤维树时,每条纤维的端点(即"段")会与坐标和数值一同保存。
除自然存在的稀薄性外,还不错通过多种样子在AI模子中主动引入稀薄性。两年前,Cerebras的研讨团队讲明,不错将大谈话模子中多达70%至80%的参数确立为零,而不亏损任何精度。Cerebras在Meta开源的Llama 7B模子上考证了这一论断,相干念念路通常适用于ChatGPT、Claude等其他大谈话模子。
稀薄狡计的上风
稀薄狡计的高效性源于两个基本特质:压缩零值的才略,以及零的特殊数学性质。稀薄狡权衡法和专用硬件齐充分足下了这两个中枢念念路。
最初,稀薄数据不错被压缩,从而以"稀薄数据类型"的形势更省俭内存地进行存储。压缩还能在惩办多半数据时抵制数据传输的能耗。以一个包含三个非零元素的4×4矩阵为例:传统样子会将其完好存储,占用16个内存空间;而压缩为稀薄数据类型后,只需保留非零元素,仅占用3个存储空间,相较于底本的16个大幅省俭。跟着稀薄进程和矩阵界限的增大,这种省俭效果将更加权贵。
除本体数据值外,压缩数据还需要存储元数据,即非零元素的行诸君置信息。这泛泛以"纤维树"的样子抒发:列出包含非零元素的行标签,并与对应的列标签邻接,进而聚首到存储在这些位置的数值。
在内存层面,情况更加复杂:每个非零值的行列标签,以及记号标签数目的"段"信息,齐需要一并存储,以便明白隔离元数据和本体数据。
在密集、未压缩的矩阵数据类型中,不错逐个或并行探员数值,且其位置可通过粗浅公式径直狡计。但在稀薄压缩数据中,探员数值需要先查找行索引坐标,再"转折"查找列索引坐标,最终才能定位到见地值。由于稀薄数据的位置具有飞速性,这些转折查找操作可能极为飞速,导致狡计经由依赖于数据本人,并需要动态分拨内存探员。
其次,零的两个数学特质使软件和硬件不错多半跳过狡计:任何数乘以零等于零,因此无需本体执行乘法;任何数加零等于其本人,因此加法也不错径直跳过。
在矩阵-向量乘法这一AI最常见的运算中,除波及两个非零元素的狡计除外,其余狡计均可跳过。过去述4×4矩阵与一个四元素向量的乘法为例:在密集狡计中,需要16次乘法和16次加法;而在稀薄狡计中,只需惩办向量中的非零元素,中国体育服务中心(官方网站)通过转折查找定位矩阵中对应的非零元素,仅对这部分进行乘加运算——在示例中,只需执行两次乘法,而非16次。
现存硬件的局限
缺憾的是,当代硬件并不擅长加速稀薄狡计。以矩阵-向量乘法为例,在单核CPU中,向量中的每个元素需逐个相乘后写入内存,遵循低下。因此,本体使用中时时借助扶助向量运算的CPU或GPU,将扫数元素并行惩办,大幅晋升速率。但当矩阵和向量齐极为稀薄时,向量化CPU和GPU的大部分算力齐花费在了与零的乘法运算上,产生多半无效狡计。
新一代GPU大约对一种特定类型的稀薄性——结构化稀薄性——进行一定进程的硬件加速。结构化稀薄性假定每四个相邻参数中有两个为零。然则,部分模子更合乎非结构化稀薄性——即允许大肆参数(权重或激活值)为零并被压缩,无论其位置若何。GPU不错通过软件样子(如cuSparse库)扶助非结构化稀薄狡计,但这种扶助时时十分有限,GPU硬件足下率偏低,多半算力破费在额外支出上。
在通过软件进行稀薄狡计时,当代CPU就怕比GPU更具上风,因为CPU具备更好的活泼性。但CPU在稀薄狡计中常受限于转折查找操作带来的性能瓶颈。CPU泛泛会左证预期需求对数据进行"预取",但关于飞速稀薄数据,这一机制时时失效,导致CPU不得不花费时钟周期恭候正确数据加载。
苹果公司率先通过在A14和M1芯片的预取器中扶助"指针数组"探员模式,加速了转折查找速率。尽管预取本事的立异使苹果CPU在稀薄狡计方面更具竞争力,但CPU架构仍存在专用稀薄狡计架构所不具备的根人性支出,因为CPU需要兼顾通用狡计需求。
其他公司也在开拓加速稀薄机器学习的硬件,包括Cerebras的晶圆级引擎(Wafer Scale Engine)和Meta的熟习与推理加速器(MTIA)。Cerebras的晶圆级引擎偏执配套稀薄编程框架,在大谈话模子上终显着高达70%的稀薄度,遵循稀奇。但其硬件和软件决策仅扶助权重稀薄性,不扶助对很多应用至关迫切的激活值稀薄性。MTIA第二版声称在稀薄狡计性能上较初版晋升七倍,但现在公开暴露的稀薄性扶助信息仅限于矩阵乘法,尚未掩盖向量或张量运算。
尽管矩阵乘法占据了大多数当代机器学习模子的主要狡计时刻,但为其他运算提供稀薄性扶助通常至关迫切。为幸免在稀薄与密集数据类型之间时时切换,扫数操作齐应原生扶助稀薄惩办。
Onyx:从底层扶助稀薄狡计的硬件加速器
针对上述各种折中决策的不及,斯坦福大学团队研发了一款硬件加速器——Onyx,大约从底层充分足下稀薄性,无论是结构化还短长结构化稀薄性均可扶助。Onyx是首款可编程加速器,同期扶助稀薄和密集狡计,大约对两种模式下的环节操作进行加速。
CPU、粗粒度可重构阵列(CGRA)和现场可编程门阵列(FPGA)代表了遵循与活泼性之间的不同权衡。CPU的每个逻辑单位针对特定功能高效设计;FPGA的每个比特均可成就,极具活泼性但遵循较低;CGRA则旨在兼顾FPGA的活泼性与CPU的遵循。
CGRA由针对特定应用领域优化的可成就内存和狡计单位组成,要道员不错在高端倪上对其里面进行从头成就,使其比FPGA更高效,同期比CPU更活泼。
Onyx基于CGRA架构构建,由活泼可编程的惩办单位(PE)模块和内存(MEM)模块组成。内存模块认真存储压缩矩阵和其他数据容貌,惩办单位模块则径直对压缩矩阵进走运算,抛弃扫数不消要的无效狡计。
Onyx的编译器认真将软件提醒更动为CGRA成就。最初,输入抒发式(如稀薄向量乘法)被更动为抽象内存节点和狡计节点组成的图;编译器将这些抽象节点映射到CGRA的内存模块和惩办单位上,并缱绻数据传输旅途;最终身成成就CGRA所需的提醒集。
由于Onyx具备可编程性,工程师不错将向量-向量元素乘法、矩阵-向量乘法、矩阵-矩阵乘法等多种AI中枢运算映射到加速器上。
性能评估
咱们取舍"能量蔓延积"(EDP,即能耗与狡计时刻的乘积)来评估硬件的遵循晋升,该策划概述反馈了速率与能耗之间的权衡关系。
Onyx的能量蔓延积最高可达使用专用稀薄库的CPU(12核Intel至强惩办器)的565倍。此外,Onyx还可成就为加速成例密集狡计应用,访佛GPU或TPU的职责样子:当狡计为稀薄类型时,Onyx切换至稀薄狡计模式;当狡计为密集类型时,则切换至并行加速模式。这一架构为在褪色芯片上同期加速稀薄与密集狡计迈出了迫切一步。
通常值得关心的是,Onyx开启了算法层面的新念念路。稀薄加速硬件不仅能晋升AI的性能遵循和动力遵循,还将激勉研讨东说念主员和工程师探索具有粉碎性后劲的新式算法。
畴昔瞻望
咱们的团队已在Onyx基础上入辖下手开拓下一代芯片。除矩阵乘法外,机器学习模子还波及非线性层、归一化、Softmax函数等多种运算。咱们正在为下一代加速器偏执编译器添加对完好狡计类型的扶助。由于稀薄机器学习模子可能同期包含稀薄层和密集层,咱们也在研讨若何更高效地将密集与稀薄加速架构集成于褪色芯片,以终了不同数据类型之间的快速更动。此外,咱们还在探索通过更灵验地拆分稀薄数据来粉碎内存限制,从而在多个稀薄加速芯片上协同运行狡计任务。
与此同期,咱们正在研发大约预测稀薄加速器性能的系统,以辅助更优硬件的设计职责。从永久来看,咱们但愿不雅察高度稀薄性是否会在更多模子类型中获得普及,以及稀薄加速器是否会在更大界限上获得应用。
为非结构化稀薄性构建硬件、充分足下零值的后劲,只是是个启动。有了这么的硬件,AI研讨东说念主员和工程师将有契机探索以全新、敷裕创意的样子足下稀薄性的模子与算法。咱们驯服,这是应付AI不断增长的运行时刻、老本和环境影响的环节研讨场地。
Q&A
Q1:什么是稀薄狡计?它对AI有什么意思?
A:稀薄狡计是一种足下AI模子中多半参数为零这一特质来跳过无效运算、压缩存储的狡计样子。由于模子中70%以上的参数可能为零或接近零,稀薄狡计不错径直跳过与零相干的乘法和加法,从而权贵降顽劣耗、加速运算速率,在不就义模子精度的前提下晋升全体遵循。
Q2:现存的GPU和CPU为什么不可很好地扶助稀薄狡计?
A:GPU主要扶助一种叫作念"结构化稀薄性"的特定模式,对更活泼的非结构化稀薄性扶助有限,导致多半算力被花费在无效的零值运算上。CPU自然更活泼,但在稀薄狡计中常受限于飞速内存探员导致的预取失败问题,通常存在遵循瓶颈。两者齐空匮从底层针对稀薄狡计有益设计的架构扶助。
Q3:Onyx芯片比较普通CPU能晋升若干性能?
A:Onyx在能量蔓延积(速率与能耗的综总策划)上中国体育服务中心(官方网站),最高可达12核Intel至强CPU的565倍。平均而言,Onyx的能耗仅为CPU的七十分之一,狡计速率则平均晋升至CPU的八倍。Onyx同期扶助稀薄和密集狡计,大约左证任务类型自动切换狡计模式,是现在已知首款兼顾两种狡计模式的可编程加速器。
凯发娱乐(K8)官方网站