0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Transformer在下一个token预测任务上的SGD训练动态

CVer 来源:CVer 2023-06-12 10:11 次阅读

【导读】AI理论再进一步,破解ChatGPT指日可待?

Transformer架构已经横扫了包括自然语言处理、计算机视觉、语音、多模态等多个领域,不过目前只是实验效果非常惊艳,对Transformer工作原理的相关研究仍然十分有限。

其中最大谜团在于,Transformer为什么仅依靠一个「简单的预测损失」就能从梯度训练动态(gradient training dynamics)中涌现出高效的表征?

最近田渊栋博士公布了团队的最新研究成果,以数学严格方式,分析了1层Transformer(一个自注意力层加一个解码器层)在下一个token预测任务上的SGD训练动态。

aca984de-0871-11ee-962d-dac502259ad0.png

论文链接:https://arxiv.org/abs/2305.16380

这篇论文打开了自注意力层如何组合输入token动态过程的黑盒子,并揭示了潜在的归纳偏见的性质。

具体来说,在没有位置编码、长输入序列、以及解码器层比自注意力层学习更快的假设下,研究人员证明了自注意力就是一个判别式扫描算法(discriminative scanning algorithm):

从均匀分布的注意力(uniform attention)开始,对于要预测的特定下一个token,模型逐渐关注不同的key token,而较少关注那些出现在多个next token窗口中的常见token

对于不同的token,模型会逐渐降低注意力权重,遵循训练集中的key token和query token之间从低到高共现的顺序。

有趣的是,这个过程不会导致赢家通吃,而是由两层学习率控制的相变而减速,最后变成(几乎)固定的token组合,在合成和真实世界的数据上也验证了这种动态。

田渊栋博士是Meta人工智能研究院研究员、研究经理,围棋AI项目负责人,其研究方向为深度增强学习及其在游戏中的应用,以及深度学习模型的理论分析。先后于2005年及2008年获得上海交通大学本硕学位,2013年获得美国卡耐基梅隆大学机器人研究所博士学位。

曾获得2013年国际计算机视觉大会(ICCV)马尔奖提名(Marr Prize Honorable Mentions),ICML2021杰出论文荣誉提名奖。

曾在博士毕业后发布《博士五年总结》系列,从研究方向选择、阅读积累、时间管理、工作态度、收入和可持续的职业发展等方面对博士生涯总结心得和体会。

揭秘1层Transformer

基于Transformer架构的预训练模型通常只包括非常简单的监督任务,比如预测下一个单词、填空等,但却可以为下游任务提供非常丰富的表征,实在是令人费解。

之前的工作虽然已经证明了Transformer本质上就是一个通用近似器(universal approximator),但之前常用的机器学习模型,比如kNN、核SVM、多层感知机等其实也是通用近似器,这种理论无法解释这两类模型在性能上的巨大差距。

acc68cbe-0871-11ee-962d-dac502259ad0.png

研究人员认为,了解Transformer的训练动态(training dynamics)是很重要的,也就是说,在训练过程中,可学习参数是如何随时间变化的。

文章首先以严谨数学定义的方式,形式化描述了1层无位置编码Transformer的SGD在下一个token预测(GPT系列模型常用的训练范式)上的训练动态。

1层的Transformer包含一个softmax自注意力层和预测下一个token的解码器层。

acd4ddfa-0871-11ee-962d-dac502259ad0.png

在假设序列很长,而且解码器的学习速度比自注意力层快的情况下,证明了训练期间自注意力的动态行为:

1. 频率偏差Frequency Bias

模型会逐渐关注那些与query token大量共现的key token,而对那些共现较少的token降低注意力。

2. 判别偏差Discrimitive Bias

模型更关注那些在下一个要预测的token中唯一出现的独特token,而对那些在多个下一个token中出现的通用token失去兴趣。

这两个特性表明,自注意力隐式地运行着一种判别式扫描(discriminative scanning)的算法,并存在归纳偏差(inductive bias),即偏向于经常与query token共同出现的独特的key token

此外,虽然自注意力层在训练过程中趋向于变得更加稀疏,但正如频率偏差所暗示的,模型因为训练动态中的相变(phase transition),所以不会崩溃为独热(one hot)。

acdf2b84-0871-11ee-962d-dac502259ad0.png

学习的最后阶段并没有收敛到任何梯度为零的鞍点,而是进入了一个注意力变化缓慢的区域(即随时间变化的对数),并出现参数冻结和学会(learned)。

研究结果进一步表明,相变的开始是由学习率控制的:大的学习率会产生稀疏的注意力模式,而在固定的自注意力学习率下,大的解码器学习率会导致更快的相变和密集的注意力模式。

研究人员将工作中发现的SGD动态命名为扫描(scan)和snap:

扫描阶段:自注意力集中在key tokens上,即不同的、经常与下一个预测token同时出现的token;其他所有token的注意力都下降。

snap阶段:注意力全中几乎冻结,token组合固定。

aceebd7e-0871-11ee-962d-dac502259ad0.png

这一现象在简单的真实世界数据实验中也得到验证,使用SGD在WikiText上训练的1层和3层Transformer的最低自注意力层进行观察,可以发现即使在整个训练过程中学习率保持不变,注意力也会在训练过程中的某一时刻冻结,并变得稀疏。
责任编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Transformer
    +关注

    关注

    0

    文章

    130

    浏览量

    5899
  • 自然语言
    +关注

    关注

    1

    文章

    271

    浏览量

    13209
  • ChatGPT
    +关注

    关注

    27

    文章

    1413

    浏览量

    4813

原文标题:田渊栋新作:打开1层Transformer黑盒,注意力机制没那么神秘!

文章出处:【微信号:CVer,微信公众号:CVer】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【经验贴】定时函数——等待与等待下一个整数倍毫秒

    注意什么呢?LabVIEW 2013的帮助当中,对于等待函数,原话是这样的:引用GSDzone的原话,使用等待下一个整数倍毫秒VI,当其处于等待状态时,整个线程都将处于等待状态。但是毕竟是软件定时
    发表于 04-13 10:49

    visa读取数据总是出现 传输时发生超限错误。在下一个字符到达前,未从硬件读取某个字符怎么解决?

    labview新手,在做关于串口通信的时候每次仿真都会出现如下问题:传输时发生超限错误。在下一个字符到达前,未从硬件读取某个字符希望可以有人帮忙解决下,该改什么地方?如何改进?
    发表于 10-24 17:24

    传输时发生超限错误。在下一个字符到达前,未从硬件读取某个字符。

    传输时发生超限错误。在下一个字符到达前,未从硬件读取某个字符。总是出现这个问题,不知道是什么原因,是程序读取速度比串口传输速度快导致串口缓冲区溢出引起的么,这个要怎么解决啊,请教各位大神
    发表于 06-15 20:15

    请问ucosii任务调度当任务运行完后是如何跳转到下一个任务的?

    1.当任务运行完后是如何跳转到下一个任务的?2.第一个
    发表于 05-10 06:06

    开关控制LED如何在次按下一个下一个LED将关闭

    问候大家,开关控制LED在次按下一个下一个LED将关闭,请帮助我如何创建它。开关是推式开关。下面是要修改的模块。/输入显示是开关按压。
    发表于 07-08 15:08

    Xilinx何时发布用于视频应用开发的下一个板?

    大家好,Xilinx基于ZC702的ZVIK(Zynq视频和成像套件)在Xilinx的网页停止使用。有什么想法是Xilinx何时发布用于视频应用开发的下一个板?它将如何?谢谢Prathamesh
    发表于 09-23 13:20

    容器是否成为下一个Linux

    容器将成为下一个“Linux”
    发表于 04-27 09:21

    神经网络在训练时常用的些损失函数介绍

    神经网络在训练时的优化首先是对模型的当前状态进行误差估计,然后为了减少下一次评估的误差,需要使用能够表示错误函数对权重进行更新,这个函数被称为损失函数。损失函数的选择与神经网络模型
    发表于 10-20 17:14

    你了解在单GPU就可以运行的Transformer模型吗

    LSH最近邻搜索的简化动画,两点在不同的桶这里我们有两点,它们投影到单位圆,并随机旋转3次,角度不同。我们可以观察到,它们不太可
    发表于 11-02 15:19

    深入挖掘通用句子编码器的每个组成部分

    的语料库。c. 自然语言推理在这个任务中,我们需要预测假设是否与前提相关联,是否与前提相矛盾,或者是否中立。作者使用了来自SNLI语料库的57万对句子来
    发表于 11-02 15:23

    探索种降低ViT模型训练成本的方法

    Transformer架构已成为大量计算机视觉模型的关键组成部分。然而,训练大型变压器模型通常需要付出巨大的成本。例如,在4GPU训练
    发表于 11-24 14:56

    介绍种用于密集预测的mlp架构CycleMLP

    Transformer相当的性能。在ImageNet-1K分类中,GFNet具有与CycleMLP相似的性能。打不世故GFNet与输入分辨率相关,这可能会影响密集预测的性能。消融实验左:移除三平行分支中的
    发表于 02-09 16:28

    如何让Bert模型在下任务中提高性能?

    随着Transformer 在NLP中的表现,Bert已经成为主流模型,然而大家在下任务中使用时,是不是也会发现模型的性能时好时坏,甚至相同参数切换一下随机种子结果都不一样,又或者自己不管
    的头像 发表于 03-12 18:19 2962次阅读
    如何让Bert模型<b class='flag-5'>在下</b>游<b class='flag-5'>任务</b>中提高性能?

    从预训练语言模型看MLM预测任务

    为了解决这一问题,本文主要从预训练语言模型看MLM预测任务、引入prompt_template的MLM预测任务、引入verblize类别映射
    的头像 发表于 11-14 14:56 2648次阅读

    在下一个物联网设计中实现无缝互操作性

    指导视频:在下一个物联网设计中实现无缝互操作性
    的头像 发表于 12-26 10:16 513次阅读
    <b class='flag-5'>在下一个</b>物联网设计中实现无缝互操作性