尊龙凯时 更好的硬件何如将零值造成AI加速引擎:稀少盘算推算让AI更轻量、更高效
在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同期复古稀少和密集盘算推算,概况凭证任务类型自动切换盘算推算模式,是当今已知首款兼顾两种盘算推算模式的可编程加速器。
凤凰体育(FHSports)官方网站