当前位置:首页 > 科技  > 软件

大模型训练loss突刺原因和解决办法

来源: 责编: 时间:2024-01-08 09:18:17 325观看
导读最近阅读了《A Theory on Adam Instability in Large-Scale Machine Learning 》这篇论文。比较全面的阐述了100B以上的大模型预训练中出现loss spike的原因(loss 突然大幅度上涨),并介绍了一些可能的解决办法。论文写

最近阅读了《A Theory on Adam Instability in Large-Scale Machine Learning 》这篇论文。比较全面的阐述了100B以上的大模型预训练中出现loss spike的原因(loss 突然大幅度上涨),并介绍了一些可能的解决办法。论文写的非常精彩,但整体上有点散和深,我尝试着站在工业立场上把它串一下xIG28资讯网——每日最新资讯28at.com

突刺是什么

首先介绍一下什么是loss spike:xIG28资讯网——每日最新资讯28at.com

loss spike指的是预训练过程中,尤其容易在大模型(100B以上)预训练过程中出现的loss突然暴涨的情况xIG28资讯网——每日最新资讯28at.com

图片图片xIG28资讯网——每日最新资讯28at.com

如图所示模型训练过程中红框中突然上涨的loss尖峰 loss spike的现象会导致一系列的问题发生,譬如模型需要很长时间才能再次回到spike之前的状态(论文中称为pre-explosion),或者更严重的就是loss再也无法drop back down,即模型再也无法收敛xIG28资讯网——每日最新资讯28at.com

PaLM和GLM130b之前的解决办法是找到loss spike之前最近的checkpoint,更换之后的训练样本来避免loss spike的出现。xIG28资讯网——每日最新资讯28at.com

突刺成因分析

这篇论文(以下称本文)对loss spike的出现原因做了十分详细的分析,最后认为预训练使用的Adam优化器是导致这个现象出现的重要原因之一xIG28资讯网——每日最新资讯28at.com

xIG28资讯网——每日最新资讯28at.com

Adam算法是牛顿下降法的一个迭代逼近 xIG28资讯网——每日最新资讯28at.com

图片图片xIG28资讯网——每日最新资讯28at.com

一切显得十分完美,但是理想很丰满,现实很骨感,收敛过程并不是一帆风顺的xIG28资讯网——每日最新资讯28at.com

xIG28资讯网——每日最新资讯28at.com

图片图片xIG28资讯网——每日最新资讯28at.com

非稳态xIG28资讯网——每日最新资讯28at.com

图片图片xIG28资讯网——每日最新资讯28at.com

中间态xIG28资讯网——每日最新资讯28at.com

图片图片xIG28资讯网——每日最新资讯28at.com

稳态 xIG28资讯网——每日最新资讯28at.com

进入正态分布的稳态之后,理想的更新参数变化趋势应该是方差越来越小,所有更新参数逐渐向0靠近。这应该是一个单向的过程,即稳定的单峰状态(unimodal)不会再次进入非稳定的双峰状态(bimodal),但事实并非如此,更新参数会再次进入非稳定的双峰状态xIG28资讯网——每日最新资讯28at.com

本文在理论层面做了研究和解释,从中心极限定理(可以结合道尔顿板实验理解)出发,认为随机事件的叠加进入单峰的正态分布的必要条件之一是各个随机事件事件之间应该是相互独立的,但是梯度变化以及更新参数的变化并不能特别好的满足独立性这一条件,而这一点恰恰是导致更新参数振荡,loss spike出现以及loss 不收敛的重要原因之一xIG28资讯网——每日最新资讯28at.com

图片图片xIG28资讯网——每日最新资讯28at.com

造成梯度变化不独立的原因(1、浅层参数长时间不更新2、batch太大,后期梯度更新趋于平稳) 上述的理论有些晦涩,本文作者可能也了解这一点,之后开始直接点题,结合实验观察抛出了重要现象和结论xIG28资讯网——每日最新资讯28at.com

即训练过程中loss spike的出现与:梯度更新幅度, 大小,batch大小这三个条件密切相关xIG28资讯网——每日最新资讯28at.com

本文作者对loss spike出现时模型的前后变化做了仔细拆解,发现下列一系列连续现象的出现导致了loss spike:xIG28资讯网——每日最新资讯28at.com

图片图片xIG28资讯网——每日最新资讯28at.com

  1. 当前模型处在稳态(健康状态),即单峰的正态分布状态,并且梯度值 ,此时loss平稳,训练过程正常

图片图片xIG28资讯网——每日最新资讯28at.com

2.模型浅层(embedding层)梯度  ,这一般是由于训练一段时间之后,浅层的语义知识表示此时一般已经学习的较好。但此时深层网络(对应复杂任务)的梯度更新还是相对较大xIG28资讯网——每日最新资讯28at.com

图片图片xIG28资讯网——每日最新资讯28at.com

3.一段时间浅层(embedding层)梯度  之后会导致  ,  。此时趋于0。因此导致浅层参数得不到更新(也对应于上述参数更新事件不独立的原因)xIG28资讯网——每日最新资讯28at.com

图片图片xIG28资讯网——每日最新资讯28at.com

4.此时虽然浅层(embedding层)参数长时间不更新,但是深层的参数依然一直在更新。长时间这样的状态之后,batch之间的样本分布变化可能就会直接导致浅层(embedding层)再次出现较大的梯度变化(可以想象成一个水坝蓄水太久终于被冲开了。至于小模型为什么不会出现这种情况,推测是小模型函数空间小,无法捕获样本的分布变化,越大规模的模型对样本之间不同维度的特征分布变化越敏感),此时 , 再次集中在 附近(此时 , ),变成双峰的非稳定状态,本文提到了浅层(embedding层)这种突然的参数变化可能造成模型的连锁反应进而出现loss spike的现象(这也对应了更换样本重新训练有可能会减少loss spike的出现频率,实际上就是选择分布变化较小的样本,减小浅层梯度变换幅度)xIG28资讯网——每日最新资讯28at.com

图片图片xIG28资讯网——每日最新资讯28at.com

5.这个阶段模型处于非稳态,梯度变化幅度较大,每一次的梯度变化和更新参数变化事件之间又出现了一定的独立性,因此经过一定的时间之后模型有可能再次进入稳态,loss再次drop back down(注意,本文着重提了这个再次drop back down并不是一定出现的,也很有可能loss长期处于flat状态,再也无法收敛)xIG28资讯网——每日最新资讯28at.com

因此我们得出一些结论,loss spike的出现和浅层的梯度更新幅度, 大小密切相关(batch大小带来的相关性问题倒是显得没那么大说服力),实际上就是浅层网络参数突然进入到了之前长时间不在的状态与模型深层参数当前的状态形成了连锁反应造成了模型进入非稳态。同时一般情况即使出现loss spike也会自动回复到正常状态,但也有可能再也不会xIG28资讯网——每日最新资讯28at.com

突刺解法

本文最后提到了防止loss spike出现的一些方法:xIG28资讯网——每日最新资讯28at.com

1.如之前提到的PaLM和GLM130B提到的出现loss spike后更换batch样本的方法(常规方法,但是成本比较高)xIG28资讯网——每日最新资讯28at.com

2.减小learning rate,这是个治标不治本的办法,对更新参数的非稳态没有做改进xIG28资讯网——每日最新资讯28at.com

3.减小 大小。或者直接把 设为0,重新定义xIG28资讯网——每日最新资讯28at.com

在等于0时候的值(这应该是个值得尝试的办法)xIG28资讯网——每日最新资讯28at.com

值得一提的是智谱华章在本文发表之前,在去年的GLM130B训练时似乎也观察到了浅层梯度变化和loss spike相关这一现象(GLM-130B: An Open Bilingual Pre-trained Model),他采取的是把浅层梯度直接乘以缩放系数 来减小浅层梯度更新值xIG28资讯网——每日最新资讯28at.com

出自130b出自130bxIG28资讯网——每日最新资讯28at.com

图片图片xIG28资讯网——每日最新资讯28at.com

其实这块我有个自己的想法,和是否也可以做衰减,随着训练过程逐渐减小,来避免loss spike的现象xIG28资讯网——每日最新资讯28at.com

另外假设我们能一次性加载所有样本进行训练(实际上不可能做到),是否还会出现loss spike的现象xIG28资讯网——每日最新资讯28at.com

最后目前流行的fp8,fp16混合训练,如果upscale设置的过小,导致梯度在进入优化器之前就下溢,是不是会增加浅层梯度长时间不更新的可能性,进而增加loss spike的出现的频率。(这么看来似乎提升upscale大小以及优化 大小是进一步提升模型效果的一个思路)xIG28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-57943-0.html大模型训练loss突刺原因和解决办法

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Maven的插件体系如何帮助开发人员执行各种构建任务?

下一篇: 加快SQL查询的九种优秀实践

标签:
  • 热门焦点
  • K60至尊版狂暴引擎2.0加持:超177万跑分斩获性能第一

    Redmi的后性能时代战略发布会今天下午如期举办,在本次发布会上,Redmi公布了多项关于和联发科的深度合作,以及新机K60 Ultra在软件和硬件方面的特性,例如:“K60 至尊版,双芯旗舰
  • 小米平板5 Pro 12.4简评:多专多能 兼顾影音娱乐的大屏利器

    疫情带来了网课,网课盘活了安卓平板,安卓平板市场虽然中途停滞了几年,但好的一点就是停滞的这几年行业又有了新的发展方向,例如超窄边框、高刷新率、多摄镜头组合等,这就让安卓
  • 三言两语说透设计模式的艺术-简单工厂模式

    一、写在前面工厂模式是最常见的一种创建型设计模式,通常说的工厂模式指的是工厂方法模式,是使用频率最高的工厂模式。简单工厂模式又称为静态工厂方法模式,不属于GoF 23种设计
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 学习JavaScript的10个理由...

    作者 | Simplilearn编译 | 王瑞平当你决心学习一门语言的时候,很难选择到底应该学习哪一门,常用的语言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 每天一道面试题-CPU伪共享

    前言:了不起:又到了每天一到面试题的时候了!学弟,最近学习的怎么样啊 了不起学弟:最近学习的还不错,每天都在学习,每天都在进步! 了不起:那你最近学习的什么呢? 了不起学弟:最近在学习C
  • 破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • OPPO、vivo、小米等国内厂商Q2在印度智能手机市场份额依旧高达55%

    7月20日消息,据外媒报道,研究机构的报告显示,在全球智能手机出货量同比仍在下滑的大背景下,印度这一有潜力的市场也未能幸免,出货量同比也有下滑,多家厂
  • 回归OPPO两年,一加赢了销量,输了品牌

    成为OPPO旗下主打性能的先锋品牌后,一加屡创佳绩。今年618期间,一加手机全渠道销量同比增长362%,凭借一加 11、一加 Ace 2、一加 Ace 2V三款爆品,一加
Top