ICML2024高分!魔改注意力 让小模型能打两倍大的模型

改进Transformer核心机制注意力,让 小模型能打两倍大的模型

ICML 2024高分论文,彩云科技团队构建框架,替换Transformer核心组件多头注意力模块(MHA),提出 可动态组合的多头注意力 (DCMHA)。

DCMHA解除了MHA注意力头的查找选择回路和变换回路的固定绑定,让它们可以根据输入动态组合,从根本上提升了模型的表达能力。

可以近似理解为,原来每层有固定的H个注意力头,现在用几乎同样的参数量和算力,可按需动态组合出多至HxH个注意力头。

DCMHA即插即用, 可在任何Transformer架构中替换MHA ,得到通用、高效和可扩展的新架构DCFormer。

这项工作由来自北京邮电大学、AI创业公司彩云科技的研究人员共同完成。

研究人员用在DCFormer基础上打造的模型DCPythia-6.9B,在预训练困惑度和下游任务评估上都优于开源Pythia-12B。

DCFormer模型在性能上与那些计算量是其1.7-2倍的Transformer模型相当。

多头注意力模块有何局限?

大模型的scaling law告诉我们,随着算力的提升,模型更大、数据更多,模型效果会越来越好。虽然还没有人能明确说明这条路的天花板有多高,能否达到AGI,但这确实是目前大家最普遍的做法。

但除此以外,另一个问题同样值得思考:目前绝大多数大模型都基于Transformer,它们都是用一个一个Transformer块像搭积木一样搭起来的,那作为积木块的Transformer本身,还有多大的改进提升空间?

这是模型结构研究要回答的基本问题,也正是彩云科技和北京邮电大学联合完成的DCFormer这项工作的出发点。

在Transformer的多头注意力模块(MHA)中,各个注意力头彼此完全独立的工作。

这个设计因其简单易实现的优点已在实践中大获成功,但同时也带来注意力分数矩阵的低秩化削弱了表达能力、注意力头功能的重复冗余浪费了参数和计算资源等一些弊端。基于此,近年来有一些研究工作试图引入某种形式的注意力头间的交互。

根据Transformer回路理论,在MHA中 ,每个注意力头的行为由WQ、WK、WV、WO四个权重矩阵刻画(其中WO由MHA的输出投影矩阵切分得到)。

其中,WQWK叫做QK回路(或叫查找选择回路),决定从当前token关注上下文中的哪个(些)token,例如:

研究人员注意到,查找(从哪拿)和变换(拿什么)本来是独立的两件事,理应可以分别指定并按需自由组合(就像在SQL查询中,WHERE后的选择条件和SELECT后的属性投影是分开写的一样),MHA硬把它们放到一个注意力头的QKOV里“捆绑销售”,限制了灵活性和表达能力。

例如,假设有个模型存在注意力头A、B、C其QK和OV回路能够完成上面的例子=,那换成:

需要交叉组合现有注意力头的QK和OV回路,模型就可能“转不过弯儿”了(经研究人员系统构造的合成测试集验证,<=6B的中小尺寸模型在这类看似简单的任务上确实表现不佳)。

动态组合多头注意力长啥样?

以此为出发点,本文研究团队在MHA中引入 compose操作

如下图所示,得到DCMHA:

△图1. DCMHA总体结构

将QWQ和KWK算出的注意力分数矩阵AS和注意力权重矩阵AW,与VWV相乘之前,对其在num_heads维上做线性映射得到新的矩阵A’,通过不同的线性映射矩阵(composition map),以实现各种注意力头组合的效果。

例如图2(c)中将head 3和7的QK回路与head 1的OV回路组合在一起,形成一个“新的”注意力头。

△图2. 8个注意力头的简化的典型composition map的功能,浅色表示大值

为了最大限度的增强表达能力,研究人员希望映射矩阵由输入 动态生成 ,即动态决定注意力头怎样组合。

但他们要生成的映射矩阵不是一个,而是对序列中每对源位置的query Qi和目的位置的key Kj,都要生成这样一个矩阵,计算开销和显存占用都将难以接受。

为此,他们进一步将映射矩阵分解为一个输入无关的静态矩阵Wb、一个低秩矩阵w1w2和一个对角矩阵Diag(wg)之和,分别负责基础组合、注意力头间的有限方式(即秩R<=2)的动态组合和头自身的动态门控(见图2(d)和图3(b))。其中后两个矩阵由Q矩阵和K矩阵动态生成。

在不牺牲效果的前提下,将计算和参数复杂度降低到几乎可以忽略的程度(详见论文中复杂度分析)。再结合JAX和PyTorch实现层面的优化,让DCFormer可以高效训练和推理。

△图3. Compose的计算

效果如何?

规模扩展

评估一个架构的好坏,研究人员关注的最核心指标是算力转化为智能的效率(或叫性能算力比),即投入单位算力能带来的模型性能提升——花更少的算力,得到更好的模型。

从图4和图5的scaling law曲线(在对数坐标下,每个模型架构的损失随算力的变化可画出一条近似直线,损失越低,模型越好)可以看出,DCFormer可以达到1.7~2倍算力的Transformer模型的效果,即算力智能转化率提升了1.7~2倍。

△图4. Transformer和DCFormer的规模扩展效果

△图5. Pythia和DCPythia的规模扩展效果

怎么理解这个提升幅度呢?

自2017年Transformer诞生至今,从改进性能算力比的角度,GLU MLP和旋转位置编码RoPE是经大量实践验证普适有效且被广泛采用的为数不多的两项架构改进。

在原始Transformer中加入这两项改进的架构也叫Transformer++,Llama、Mistral等最强开源模型均采用该架构。无论Transformer还是Transformer++架构,都可通过DCMHA获得显著改进。

在1.4B模型规模下,DCMHA的改进幅度大于Transformer++的两项改进之和,且扩展性更好 (图4下蓝绿线和黑线的对比,DCMHA的改进幅度随算力增加衰减的更慢,以及图4和图5的对比)。

可以说,DCFormer让Transformer的能力又跃上一个新台阶。

下游任务评测

研究团队训练了DCPythia-2.8B和DCPythia-6.9B两个模型在主流NLP下游任务上进行测评并和同规模的开源模型Pythia进行比较(训练采用和Pythia完全相同超参数设置)。

△表1. DCFormer 和 Pythia 在下游任务中的表现

从表1中可以看出,DCPythia-2.8B和6.9B不仅在Pile验证集上的ppl 更低,而且在大部分下游任务上都显著超过了Pythia, DCPythia6.9B在 ppl 和下游任务上的平均准确率甚至超过了Pythia-12B

DCFormer++2.8B相对于DCPythia-2.8B有进一步的提升,验证了DCMHA和Lllama架构结合的有效性。

训练和推理速度

虽然引入DCMHA会带来额外的训练和推理开销,但是从表2中可以看出DCFormer++的训练速度是Transformer++的74.5%-89.2%,推理速度则是81.1%-89.7%,而且随着模型参数的增长,额外的计算开销会逐渐降低。

△表2. Transformer++和DCFormer++的训练和推理速度对比

训练速度是在TPU v3 pod,序列长度为2048,batch_size为1k的情况下对比得到的;推理速度是在A100 80G GPU上进行评测的,输入长度1024,生成长度128。

消融实验

结果如下:

△表3. DCMHA的消融实验

从表3中可以看出以下几点:

此外,研究人员还通过增加局部注意力层的比例和只用query-wise动态组合的方式去进一步减少训练和推理开销,详见论文Table 10。

总的来说,研究团队有两点总结。

关于动态权重:近期Mamba,GLA,RWKV6,HGRN等SSM和线性注意力/RNN的工作,通过引入动态(input-dependent)权重的方式,追赶上了Transformer++,但DCFormer用动态组合注意力头的方式说明了在使用 softmax 注意力的情况下,通过引入动态权重也可以大幅提升Transformer++的效果。

关于模型架构创新:这项工作表明,如果存在一个具有极限算力智能转化效率的“理想模型架构”,当前的Transformer架构虽已非常强大,但距离这个理想架构很可能还存在很大的差距,仍有广阔的提升空间。因此,除了堆算力堆数据的大力出奇迹路线,模型架构创新同样大有可为。

研究团队还表示,彩云科技会率先在旗下产品彩云天气、彩云小译、彩云小梦上应用DCformer。

有关更多研究细节,可参阅原始论文。

ICML2024论文链接:https://icml.cc/virtual/2024/poster/34047Arxiv 论文链接:https://arxiv.org/abs/2405.08553代码链接:https://github.com/Caiyun-AI/DCFormer


高考数学怎样打高分?

方法一、调理大脑思绪,提前进入数学情境 考前要摒弃杂念,排除干扰思绪,使大脑处于“空白”状态,创设数学情境,进而酝酿数学思维,提前进入“角色”,通过清点用具、暗示重要知识和方法、提醒常见解题误区和自己易出现的错误等,进行针对性的自我安慰,从而减轻压力,轻装上阵,稳定情绪、增强信心,使思维单一化、数学化、以平稳自信、积极主动的心态准备应考。 方法二、“内紧外松”,集中注意,消除焦虑怯场 集中注意力是考试成功的保证,一定的神经亢奋和紧张,能加速神经联系,有益于积极思维,要使注意力高度集中,思维异常积极,这叫内紧,但紧张程度过重,则会走向反面,形成怯场,产生焦虑,抑制思维,所以又要清醒愉快,放得开,这叫外松。 方法三、沉着应战,确保旗开得胜,以利振奋精神 良好的开端是成功的一半,从考试的心理角度来说,这确实是很有道理的,拿到试题后,不要急于求成、立即下手解题,而应通览一遍整套试题,摸透题情,然后稳操一两个易题熟题,让自己产生“旗开得胜”的快意,从而有一个良好的开端,以振奋精神,鼓舞信心,很快进入最佳思维状态,即发挥心理学所谓的“门坎效应”,之后做一题得一题,不断产生正激励,稳拿中低,见机攀高。 方法四、“六先六后”,因人因卷制宜 在通览全卷,将简单题顺手完成的情况下,情绪趋于稳定,情境趋于单一,大脑趋于亢奋,思维趋于积极,之后便是发挥临场解题能力的黄金季节了,这时,考生可依自己的解题习惯和基本功,结合整套试题结构,选择执行“六先六后”的战术原则。 1.先易后难。 就是先做简单题,再做综合题,应根据自己的实际,果断跳过啃不动的题目,从易到难,也要注意认真对待每一道题,力求有效,不能走马观花,有难就退,伤害解题情绪。 2.先熟后生。 通览全卷,可以得到许多有利的积极因素,也会看到一些不利之处,对后者,不要惊慌失措,应想到试题偏难对所有考生也难,通过这种暗示,确保情绪稳定,对全卷整体把握之后,就可实施先熟后生的方法,即先做那些内容掌握比较到家、题型结构比较熟悉、解题思路比较清晰的题目。 这样,在拿下熟题的同时,可以使思维流畅、超常发挥,达到拿下中高档题目的目的。 3.先同后异。 先做同科同类型的题目,思考比较集中,知识和方法的沟通比较容易,有利于提高单位时间的效益。 高考题一般要求较快地进行“兴奋灶”的转移,而“先同后异”,可以避免“兴奋灶”过急、过频的跳跃,从而减轻大脑负担,保持有效精力,4.先小后大。 小题一般是信息量少、运算量小,易于把握,不要轻易放过,应争取在大题之前尽快解决,从而为解决大题赢得时间,创造一个宽松的心理基矗5.先点后面。 近年的高考数学解答题多呈现为多问渐难式的“梯度题”,解答时不必一气审到底,应走一步解决一步,而前面问题的解决又为后面问题准备了思维基础和解题条件,所以要步步为营,由点到面6.先高后低。 即在考试的后半段时间,要注重时间效益,如估计两题都会做,则先做高分题;估计两题都不易,则先就高分题实施“分段得分”,以增加在时间不足前提下的得分。 方法五、一“慢”一“快”,相得益彰 有些考生只知道考场上一味地要快,结果题意未清,条件未全,便急于解答,岂不知欲速则不达,结果是思维受阻或进入死胡同,导致失败。 应该说,审题要慢,解答要快。 审题是整个解题过程的“基础工程”,题目本身是“怎样解题”的信息源,必须充分搞清题意,综合所有条件,提炼全部线索,形成整体认识,为形成解题思路提供全面可靠的依据。 而思路一旦形成,则可尽量快速完成。 方法六、确保运算准确,立足一次成功 数学高考题的容量在120分钟时间内完成大小26个题,时间很紧张,不允许做大量细致的解后检验,所以要尽量准确运算(关键步骤,力求准确,宁慢勿快),立足一次成功。 解题速度是建立在解题准确度基础上,更何况数学题的中间数据常常不但从“数量”上,而且从“性质”上影响着后继各步的解答。 所以,在以快为上的前提下,要稳扎稳打,层层有据,步步准确,不能为追求速度而丢掉准确度,甚至丢掉重要的得分步骤,假如速度与准确不可兼得的说,就只好舍快求对了,因为解答不对,再快也无意义。 方法五、一“慢”一“快”,相得益彰 有些考生只知道考场上一味地要快,结果题意未清,条件未全,便急于解答,岂不知欲速则不达,结果是思维受阻或进入死胡同,导致失败。 应该说,审题要慢,解答要快。 审题是整个解题过程的“基础工程”,题目本身是 “怎样解题”的信息源,必须充分搞清题意,综合所有条件,提炼全部线索,形成整体认识,为形成解题思路提供全面可靠的依据。 而思路一旦形成,则可尽量快速完成。 方法六、确保运算准确,立足一次成功 数学高考题的容量在120分钟时间内完成大小26个题,时间很紧张,不允许做大量细致的解后检验,所以要尽量准确运算(关键步骤,力求准确,宁慢勿快),立足一次成功。 解题速度是建立在解题准确度基础上,更何况数学题的中间数据常常不但从“数量”上,而且从“性质”上影响着后继各步的解答。 所以,在以快为上的前提下,要稳扎稳打,层层有据,步步准确,不能为追求速度而丢掉准确度,甚至丢掉重要的得分步骤,假如速度与准确不可兼得的说,就只好舍快求对了,因为解答不对,再快也无意义。 方法七、讲求规范书写,力争既对又全 考试的又一个特点是以卷面为唯一依据。 这就要求不但会而且要对、对且全,全而规范。 会而不对,令人惋惜;对而不全,得分不高;表述不规范、字迹不工整又是造成高考数学试卷非智力因素失分的一大方面。 因为字迹潦草,会使阅卷老师的第一印象不良,进而使阅卷老师认为考生学习不认真、基本功不过硬、“感情分” 也就相应低了,此所谓心理学上的“光环效应”。 “书写要工整,卷面能得分”讲的也正是这个道理。 方法八、面对难题,讲究方法,争取得分 会做的题目当然要力求做对、做全、得满分,而更多的问题是对不能全面完成的题目如何分段得分。 下面有两种常用方法。 1.缺步解答。 对一个疑难问题,确实啃不动时,一个明智的解题方法是:将它划分为一个个子问题或一系列的步骤,先解决问题的一部分,即能解决到什么程度就解决到什么程度,能演算几步就写几步,每进行一步就可得到这一步的分数。 如从最初的把文字语言译成符号语言,把条件和目标译成数学表达式,设应用题的未知数,设轨迹题的动点坐标,依题意正确画出图形等,都能得分。 还有象完成数学归纳法的第一步,分类讨论,反证法的简单情形等,都能得分。 而且可望在上述处理中,从感性到理性,从特殊到一般,从局部到整体,产生顿悟,形成思路,获得解题成功。 2.跳步解答。 解题过程卡在一中间环节上时,可以承认中间结论,往下推,看能否得到正确结论,如得不出,说明此途径不对,立即否得到正确结论,如得不出,说明此途径不对,立即改变方向,寻找它途;如能得到预期结论,就再回头集中力量攻克这一过渡环节。 若因时间限制,中间结论来不及得到证实,就只好跳过这一步,写出后继各步,一直做到底;另外,若题目有两问,第一问做不上,可以第一问为“已知”,完成第二问,这都叫跳步解答。 也许后来由于解题的正迁移对中间步骤想起来了,或在时间允许的情况下,经努力而攻下了中间难点,可在相应题尾补上。 方法七、讲求规范书写,力争既对又全 考试的又一个特点是以卷面为唯一依据。 这就要求不但会而且要对、对且全,全而规范。 会而不对,令人惋惜;对而不全,得分不高;表述不规范、字迹不工整又是造成高考数学试卷非智力因素失分的一大方面。 因为字迹潦草,会使阅卷老师的第一印象不良,进而使阅卷老师认为考生学习不认真、基本功不过硬、“感情分”也就相应低了,此所谓心理学上的“光环效应”。 “书写要工整,卷面能得分”讲的也正是这个道理。 方法八、面对难题,讲究方法,争取得分 会做的题目当然要力求做对、做全、得满分,而更多的问题是对不能全面完成的题目如何分段得分。 下面有两种常用方法。 1.缺步解答。 对一个疑难问题,确实啃不动时,一个明智的解题方法是:将它划分为一个个子问题或一系列的步骤,先解决问题的一部分,即能解决到什么程度就解决到什么程度,能演算几步就写几步,每进行一步就可得到这一步的分数。 如从最初的把文字语言译成符号语言,把条件和目标译成数学表达式,设应用题的未知数,设轨迹题的动点坐标,依题意正确画出图形等,都能得分。 还有象完成数学归纳法的第一步,分类讨论,反证法的简单情形等,都能得分。 而且可望在上述处理中,从感性到理性,从特殊到一般,从局部到整体,产生顿悟,形成思路,获得解题成功。 2.跳步解答。 解题过程卡在一中间环节上时,可以承认中间结论,往下推,看能否得到正确结论,如得不出,说明此途径不对,立即否得到正确结论,如得不出,说明此途径不对,立即改变方向,寻找它途;如能得到预期结论,就再回头集中力量攻克这一过渡环节。 若因时间限制,中间结论来不及得到证实,就只好跳过这一步,写出后继各步,一直做到底;另外,若题目有两问,第一问做不上,可以第一问为“已知”,完成第二问,这都叫跳步解答。 也许后来由于解题的正迁移对中间步骤想起来了,或在时间允许的情况下,经努力而攻下了中间难点,可在相应题尾补上。 TOP 方法九、以退求进,立足特殊,发散一般对于一个较一般的问题,若一时不能取得一般思路,可以采取化一般为特殊(如用特殊法解选择题),化抽象为具体,化整体为局部,化参量为常量,化较弱条件为较强条件,等等。 总之,退到一个你能够解决的程度上,通过对“特殊”的思考与解决,启发思维,达到对“一般”的解决。 方法十、执果索因,逆向思考,正难则反 对一个问题正面思考发生思维受阻时,用逆向思维的方法去探求新的解题途径,往往能得到突破性的进展,如果顺向推有困难就逆推,直接证有困难就反证,如用分析法,从肯定结论或中间步骤入手,找充分条件;用反证法,从否定结论入手找必要条件。 方法十一、回避结论的肯定与否定,解决探索性问题 对探索性问题,不必追求结论的“是”与“否”、“有”与“无”,可以一开始,就综合所有条件,进行严格的推理与讨论,则步骤所至,结论自明。 方法十二、应用性问题思路:面—点—线 解决应用性问题,首先要全面调查题意,迅速接受概念,此为“面”;透过冗长叙述,抓住重点词句,提出重点数据,此为“点”;综合联系,提炼关系,依靠数学方法,建立数学模型,此为“线”,如此将应用性问题转化为纯数学问题。 当然,求解过程和结果都不能离开实际背景。

怎么把初中数学打好基础?要多刷题吗,我快初三,求指教,我数学基础不好

数学呢,是一个研究数量,结构变化和空间模型等等的含义的一种科学方式,它是物理化学等科目的基础.而且和我们的日常生活有着很大的关联,所以说,学好数学对于我们每个人来说都是非常重要的.下面就向大家来介绍一下怎么学习初中数学吧!学习数学还必要的,因为数学是从幼儿园开始就接触的科目,如果说不会数学,那不是太丢人了吗?以下就是关于怎么学习初中数学的技巧:初中数学整式总结一:日常数学的学习首先,在平时的学习数学当中,事先需要在课前进行认真的预习.预习的目的呢,就是为了能够更好的在课堂上吸收老师所讲的知识,通过预习之后.我们把握的程度一般就在80%左右了.随后在预习当中,不懂的地方就要在课堂上解决.不会的地方需要注重的表明起来,之后会了就多做些例题进行巩固.而且具体的预习方式方法如下:把整本书的题目先都做完,同时画出知识点的含义.这个过程大约在半个小时左右,如果在时间允许的状况之外,还可以先做一下会写的练习题,不会的空下,等到明天老师讲课的时候再做.其次呢,在学习数学上是需要和练习题一起结合的,如果说你只在课堂上听课是没有用的.因为你虽然说你是听懂了,但是你做题还是不会的,所以数学注重的是做题,在听懂的基础上还是要多做些练习题的,因为练习题多做了.之后你的.能力才会慢慢的增强.如果说遇到了难题,不懂的题一定要提出来,不懂就问,不能把它咽下去,谁也不说,否则在考试的时候遇到这些题目,你依然不会.然后呢,就是复习,写完作业之后呢,对于当天学的内容需要再看一遍,巩固一下基础知识.然后再买些练习册,或者是在网上搜一些题再做一下.这样有助于你数学成绩的提高.积极做题二:考试时的技巧如果你是想得高分的话,你需要在选择填空,还有计算题上是绝对不能丢分儿的,所以这需要你谨慎的做题.如果是一开始不知道一道题该怎么做,但是后来突然明白的那一种,千万要冷静,不能瞎写,要先在草稿纸上写一遍,最后再放在答题纸上.以上就是关于怎么学习初中数学的一些技巧.希望大家是可以理解的.其实学习数学并不难,重要的是要多做题.并且了解题型的技巧.

高分高追加!hypermesh如何施加可变荷载?

sfa, area, lkey, lab, value, value2在指定面上加荷载area: n 面号 all 所有选中号lkey: 如果是体的面,忽略此项lab: presvalue: 载荷值SFE,ELEM,LKEY,Lab,KVAL,VAL1,VAL2,VAL3,VAL4定义作用于元素的分布力。 ELEM:元素号码。 LKEY:建立元素后,依节点顺序,该分布力定义施加边或面的号码Lab:力的形式。 Lab=PRES 结构压力 =CONV热学的对流 =HFLUX热学的热流率VAL1~VAL4:相对应作用于元素边及面上节点的值。 例如:分布力位于编号为1的3d元素、第六个面,作用于此面的四个边上的力分别为:10,20,30,40。 SEF,1,6,PRES,,10,20,30,40SFE,ELEM,LKEY,Lab,KVAL,VAL1,VAL2,VAL3,VAL4定义作用于元素的分布力。 ELEM:元素号码。 LKEY:建立元素后,依节点顺序,该分布力定义施加边或面的号码Lab:力的形式。 Lab=PRES 结构压力 =CONV热学的对流 =HFLUX热学的热流率VAL1~VAL4:相对应作用于元素边及面上节点的值。 例如:分布力位于编号为1的3d元素、第六个面,作用于此面的四个边上的力分别为:10,20,30,40。 SEF,1,6,PRES,,10,20,30,40SFE,ELEM,LKEY,Lab,KVAL,VAL1,VAL2,VAL3,VAL4定义作用于元素的分布力。 ELEM:元素号码。 LKEY:建立元素后,依节点顺序,该分布力定义施加边或面的号码Lab:力的形式。 Lab=PRES 结构压力 =CONV热学的对流 =HFLUX热学的热流率VAL1~VAL4:相对应作用于元素边及面上节点的值。 例如:分布力位于编号为1的3d元素、第六个面,作用于此面的四个边上的力分别为:10,20,30,40。 SEF,1,6,PRES,,10,20,30,40SFL,LINE,Lab,VALI,VALJ,VAL2I,VAL2J该命令与SFE相对应,在面积线上定义分布力作用的方式和大小,应用于2-D的实体模型表面力。 LINE为线段的号码,Lab的定义与SFE相同,VALI~VALJ为当初建立线段时点顺序的分布力值。

  • 声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
  • 本文地址:https://srwj168.com.cn/keji312/19614.html
要想孩子长高 十种食物要多吃 十种食物要避免!
史上最牛的灵界穿越者 在科学界比肩牛顿 女王请他前往灵界找人