栏目分类
热点资讯
porn.com 「乘法变加法」!MIT清华学友全新款式优化Transformer:Addition is All You Need
发布日期:2024-10-09 14:27 点击次数:61
新智元报说念porn.com
剪辑:乔杨 好困
【新智元导读】Transformer规划,尽然告成优化到乘法运算了。MIT两位华东说念主学者近期发表的一篇论文提议:Addition is All You Need,让LLM的能耗最高裁汰95%。
LLM能耗的纵容增长,以致依然引起了连合国的防备,成为了窒碍小觑的动力破费者。
据统计,2023岁首ChatGPT就业的平均用电量为每天564兆瓦时,颠倒于18000个好意思国度庭每天的总用电量。
谷歌的情况愈加严峻。最坏的情况下,谷歌AI就业破费的电力可能和一总共这个词爱尔兰颠倒,约为每年29.3 TWh。
要在晋升推理速率的同期裁汰大模子的能耗,减少神经采集所需的规划量才是要害。
而LLM等大限制神经采集,大部分规划量恰是破费在浮点级精度的矩阵乘法上。
从线性防备力机制到量化,大多半Transformer的优化王人离不开对于乘法遵循的大幅提高。要么减少运算操作次数,要么减少操作数的位数。
但要是从乘法运算这个愈加底层的逻辑开赴,两位华东说念主筹办者提议,不错用一个整数加法器以高精度近似进行浮点数乘法运算,即L-Mul乘法算法。
论文地址:https://arxiv.org/abs/2410.00907
比较量化历程中的FP8乘法,L-Mul能达到更高的精度,而且运算量显赫减少。
实验收尾线路,在张量处置硬件中应用L-Mul操作能将逐元素浮点张量乘法的能量资本裁汰95%,点积的能量资本裁汰80%。
此外,L-Mul不错告成集成到各个级别的现存模子中,无需稀奇锤真金不怕火,以致能无损替换防备力机制中总共的矩阵、元素级别的浮点数乘法。
合座而言,L-Mul款式专注于提高对张量进行算术运算的遵循——这与现时在I/O和适度优化方面的筹办是相互稀少但又相得益彰的。
由此作家觉得,竟然高能效、高规划遵循的东说念主工智能规划将从I/O、适度流,和算术运算的全面优化整合中产生。
论文简介
大多半机器学习模子,包括神经采集,王人使用浮点张量来示意它们的输入、输出和可锤真金不怕火参数。
其中,典型的选拔是32位和16位浮点张量,即fp32和fp16。
在当代规划硬件中,浮点数之间的乘法比加法运算破费更多的能量,浮点数运算也显著比整数愈加娴雅。
用n代表数字位数,那么整数加法的规划复杂度仅有O(n);而对于指数部分有e位、余数部分有m位的浮点数,乘法运算则需要O(e)复杂度的加法加上O(m^2)复杂度的乘法。
如表1所示,元素级别的运算上,fp32乘法和int32加法依然差距悬殊,能量向上37倍;要是是张量级别的运算,那更是出入甚远。
比如底下两种常用的运算:逐元素乘法Y_1和点积Y_2。
规划Y_1时,要是A和X王人是fp32张量,比较int32矩阵的加法所破费的能量也会向上37倍。
同样,规划Y_2时触及m×n×k次的浮点乘法和加法,两个数字的每次乘加运算王人会破费0.9+3.7=4.6(pJ)能量。
要是替换为int32,那么每次运算的能量资本就变为0.1+0.9=1.0 pJ,仅为原始资本的21.7%。
访佛地,要是原始精度为fp16,替换为int16后也能达到1−(0.05+0.4)/(1.1+0.4)=70%的遵循晋升。
线性复杂度乘法(L-MUL)
那么,对于n位的浮点数,到底要奈何用整数加法近似规划浮点数乘法,完结O(n)复杂度?
沟通两个浮点数x和y,它们的指数和一丝部分的位数别离为x_e、y_e和x_m、y_m。
传统的浮点乘法不错示意为:
再加上一个异或操作(⊕)来决定收尾的标志为正或为负。
其中,余数部分的乘法操作是晋升遵循的瓶颈,复杂度为O(m^2)。
L-Mul所作念的,便是移除这个操作,引入了一种新的乘法算法,以O(m)的规划复杂度处置余数:
对比上头的公式不错发现,咱们只是是将x_m · y_m替换为2^{-l(m)},其中l(m)是一个简单的分段函数。
天然等式(1)包含4个加法操作,但浮点数的位神态遐想能匡助咱们用一个加法器完结L-Mul算法。
浮点神态隐式处置1+x_m,是以毋庸规划(1+...)的值;整数加法操作还会自动将余数进位发送到指数,这与传统浮点乘法器中的舍入历程不同。
在传统款式中,一丝部分需要手动舍入为1.x,况且向指数部分添加进位需要动作稀少款式进行;而凭证L-Mul中的分段函数l(m),要是余数和大于2,进位会自动添加到指数。
因此,通过跳过余数乘法和舍入操作,L-Mul算法比传统浮点乘法更高效。
算法的具体完结历程如图2所示,最好完结是在硬件级别,因此作家添加了在英伟达GPU上模拟该历程的内联PTX汇编代码。
老例浮点乘法和L-Mul算法的复杂度比较;在汇编代码中,$1和$2是存储输入的fp32寄存器,$0是用于输出的fp32寄存器。s1、s2、r0、r1、r2是存储中间收尾的无标志int32寄存器
L-Mul收尾的构造不错用以劣等式示意,其中总共位级规划王人动作无标志整数之间的操作实行:
在此基础上,作家进一步用L-Mul完结了防备力机制。
在Transformer模子中,防备力机制由于其处置输入高下文C的O(|C|^2)复杂度而具有高规划资本。
但要是使用L-Mul,无需稀奇锤真金不怕火,就不错用最小的性能亏空替代复杂的张量乘法,完结更高效的防备力机制,如下所示:
其中L-matmul(Q, K^T)示意矩阵乘法操作,其中总共老例浮点乘法王人被替换为整数加法,用L-Mul完结,显赫裁汰了规划资源破费。
精度和资天职析
精度分析的指标是详情L-Mul近似规划的精度,颠倒于将浮点数的一丝部分舍入到若干位,并和具有2位或3位余数的fp8(e5m2或e4m3)进行比较。
沟通正浮点数x、y,并明确舍入后要保留的k位,不错写成以下神态:
其中x_k、y_k是x_m、y_m的前k位,x_r、y_r是k位舍入后将被忽略的剩余位的值。x′、y′是保留余数前k位并进行舍入后的数值。
沟通x和y在全精度下有m位余数。举例,FP16有10位余数,BF16包含7位。
乘法运算Mul(x, y) = x · y的纰缪偏激渴望值不错示意为:
与k位余数的浮点乘法比较,k位余数L-Mul的纰缪为:
哄骗上述方程,不错规划k位L-Mul和浮点乘法之间精度差的渴望值,具体来说:
当x_m、y_m呈均匀分散时,不错规划以下渴望:
通过计算f1(m,k)和f2(k)并进一步推断E[e^k_{lmu}k] 和 E[e^k_{mul}]不错得知, 要是是在操作数均匀分散的情况下,L-Mul比fp8_e5m2更精准;估量词,预锤真金不怕火LLM的权重分散时常是存在偏差的。
这种近似规划究竟能否适用于现时的LLM,还需要实验收尾来评释。
基于五个流行大言语模子的组合权重分散,实验收尾发现,在试验中,L-Mul不错在使用5位余数的情况下完结超越fp8_e4m3的更高准确度。
此外,迷惑门运算的复杂度估算不错进一步证据,L-Mul比fp8乘法愈加高效且准确。这一收尾凸显了L-Mul在低精度规划中的潜在上风。
对于精度和资天职析的更详备表面推导可见于论文2.3节以及附录A。
LLM实验收尾
要评释L-Mul的本体应用价值,就需要在LLM的本体任务上启动。
精度分析
论文选拔了多样基于Transformer的言语模子,包括Llama 3.1、Mistral、Gemma 2等,并在多样言语和视觉任务基准上评估了L-Mul算法的数值精度。
对比全精度模子权重的启动收尾,不错评释,对基于Transformer的LLM而言,在防备力机制顶用L-Mul替换表率乘法运算不错达到险些无损的近似遵循,不错在微调或免锤真金不怕火开拓下替换Transformer层中的不同模块。
图3展示了选拔不同k值和l(k)值的均方纰缪(mean square errors)收尾,实验包含Llama 3.1和Gemma 2的两个小模子,在GSM8k数据集上启动。
在两个模子中,使用3位余数的L-Mul比fp8_e5m2更精准,而使用4位余数的L-Mul不错达到或近似于fp8_e4m3的纰缪水平。
红色示意平均纰缪低于fp8_e4m3,下划线示意纰缪介于e4m3和e5m2之间
以上两个模子的平均纰缪如图4所示。
前边的表面推导线路,L-Mul在使用的规划资源少于fp8_e5m2时,渴望纰缪不错低于fp8_e4m3,此处的实验收尾阐发了前边表面计算的正确性。
实验标明,在多样限制的LLM中,使用6位余数FP操作数的L-Mul算法近似达到最低平均纰缪,显赫优于e5m2、e4m3两种fp8神态。
此外,3位和4位余数的L-Mul别离达到或卓绝了fp8_e5m2和fp8_e4m3的精度。
L-Mul与不同神态fp8浮点是进行乘法运算的纰缪水平比较
基准测试
本节的实验旨在评释,L-Mul不错在不亏空性能的情况下替代防备力机制中的张量乘法,而使用fp8乘顺次会裁汰推理精度。
av电影网这就意味着,L-Mul不错在裁汰防备力规划能耗80%的同期达到一样的推感性能。
对于文本任务,表2展示了Llama和Mistral模子在多样天然言语基准测试上的评估收尾,包括MMLU、BBH、ARC-C等。
收尾标明,L-Mul不仅显赫减少了规划资源,而且在绝大多半测试中(12/14)的得分高于fp8_e4m3。
与bf16推理比较,性能差距被裁汰到最低水平。在两个模子中,bf16和L-Mul之间在知识、结构化推理和言语意会方面的平均性能相反仅为0.07%。
值得防备的是,对于Mistral和Gemma2两个模子,基于L-Mul的防备力机制与bf16基准比较稍许提高了平均性能,别离达到52.92%和47.01%。
Llama3.1使用L-Mul时,准确率略低于bf16,但仍高于fp8_e4m3和fp8_e5m2。
相悖,将防备力规划中的张量四舍五入到fp8_e5m2会导致显赫的性能下落,尽管e5m2比L-Mul更复杂。
3个言语模子在GSM8k数据集上使用少样本教唆的启动收尾,包括L-Mul款式和3种精度bf16、fp8_e4m3、fp8_e5m2的对比
视觉-言语任务主要用Llava模子进行了测试,收尾如表4所示。
除了在TextVQA基准上的准确率差距略大,达到了0.5%,在POPE、VQAv2、Llava-Bench、VizWiz等其他基准上,L-Mul达到了和bf16相似以致更好的性能。
此外,纰缪计算和消融实验(表5)不错进一步标明,在无需稀奇锤真金不怕火的开拓下,4位余数的L-Mul不错达到与fp8_e4m3颠倒的准确性,而3位余数的L-Mul优于fp8_e5m2乘法。
微调
以上的实验收尾,是告成将预锤真金不怕火LLM从表率防备力适配到新的基于L-Mul的防备力机制启动的,莫得进行稀奇锤真金不怕火。
进一步的筹办还标明,微调不错弥补L-Mul和表率乘法之间的性能差距。
本节的实验中,不仅在Gemma2的防备力机制层中完结L-Mul,而且对于模子中总共乘法运算——包括线性变换中的矩阵乘法、元素级乘法以及防备力机制层内的乘法,王人使用L-Mul和fp8_e4m3进行近似,之后在GSM8k数据集上对更新后的模子进行微调。
将防备力机制、线性变换和逐元素乘积中的总共乘法运算替换为3位余数L-Mul的模子进行微调,其性能可与使用fp8_e4m3积聚精度的表率模子微调相比好意思。
值得防备的是,本实验中的L-Mul操作使用3位余数(k=3),累加精度为fp8_e4m3,以探索极其高效的开拓。
收尾不错看出,在fp8精度下,微调后的fp8_e4m3 L-Mul模子达到了与表率微调fp8_e4m3模子颠倒的性能。
这标明,L-Mul不错在不影响微调模子性能的情况下提高锤真金不怕火遵循。此外,也揭示了锤真金不怕火L-Mul原生LLM的潜质,用于愈加精准、节能的模子托管。
微调后fp8和L-Mul模子在零样本开拓下的评估
作家先容
Hongyin Luo
Hongyin Luo是MIT规划机科学与东说念主工智能实验室(CSAIL)的筹办科学家,在Jim Glass博士相易的白话言语系统(SLS)小组使命。
他于2016年在清华大学获取学士学位,导师是NLP范围的大牛级东说念主物:刘知远和孙茂松。
随后于2022年在MIT EECS获取博士学位,专注中的自锤真金不怕火筹办。
他的筹办重心是提高言语模子的遵循、透明性和推理才气。最新筹办迷惑了天然言语与不同的神态推理引擎,包括蕴藏模子(entailment model)和措施解释器。
他构建了微型言语模子,以1/500的规划量阐发优于GPT3-175B,开发了处置搜索引擎噪声的自我去噪言语模子,以及无需任务特定示例即可完结准确推理的天然言语镶嵌措施。
参考贵府:
https://arxiv.org/abs/2410.00907
https://luohongyin.github.io/