字号调节
字色调节
背景设置
关灯
护眼
字号调节
字色调节
背景设置
第二百八十三章 “技能”的双刃剑 (4/5)
韩路一精神一振。
虽然所有的提示语都是他自己给自己写的插件,但是功能是实打实的。
韩路一打开江松然发过来的适配清单,滚动了一会儿,在里面找到了一个标着三个红色感叹号的条目。
fuattntnbacka,注意力融合反向算子。
这是汤圆的训练框架里最关键的算子之一,前向推理完全用不到,只有在反向传播计算梯度的时候才会触发。
忽然,正因为只在训练里出现,赵文渊和江松然他们一直没有去适配它。毕竟优先保了推理路径的流畅性,但是训练效率上的损耗是真实存在的,如果要想做训练,这个算子必须做。
融合算子是什么?反向算子又是什么?
前向attntn(注意力)大家都很熟悉了。
uy、ky、valu三组张量进来,算出注意力权重,再乘上v,到输出。
推理的时候,最重要的是前向快。
但训练的时候,真正麻烦的是反向。
你不只要知道输出是什么,还要知道输出变化之后,、k、v三组值要怎么调整。
紧接着,要是按照普通的实现,这里可以用很多其他算子替代。
先算v,再算p,再还原ftma梯度,再一步步算过去。
最后就可以到一个新值,但每一个算子运算,都要读写一次显存,都要运输一次数据。
而大家公认的是,搬数据,比算数据贵。
聪明的芯片工程师们想出了一个解决办法。
既然这个反向计算每次都要跑,跑法都是固定的,那我们把这些算子融合在一起,直接在显卡核心里一次性跑完,不就不用把数据搬来搬去了吗?
这就是融合算子。
想法是很好,但是也很难。
章节报错
请简要描述您遇到的问题(如:内容缺失、章节错乱、文字乱码等)