当前位置: 首页 > article >正文

大模型-模型预训练-训练过程优化配置

一、简介

1、目的

提升训练过程稳定性、效率、效果等

2、配置项
  • 批次大小
  • 学习率
  • 优化器
  • 稳定优化

二、批次大小配置

1、常规做法-配置固定大小

配置较大的批次大小,例如1M到4M个词元,从而提升训练稳定性和吞吐量

2、最新方案-动态批次调整
  • 方案介绍:动态批次调整,逐渐增大,最终达M级别,比如GPT-3从32K增大到3.2M
  • 优点:动态调整可以有效稳定大模型训练过程,早起较小批次可以提升反向传播的频率,让模型损失尽快下降,后期较大批次可以让损失下降更加稳定,使模型更好收敛

三、学习率

1、组成
  • 预热阶段,占0.1%到0.5%
  • 衰减阶段
2、特点
  • 大部分大模型做法类似,包含预热阶段和衰减阶段
  • 预热阶段占整体训练过程的0.1%到0.5%
  • 模型在学习率较大时可以加快收敛速度
  • 学习率一般会衰减到最大阈值的10%
3、线性预热策略

从一个非常小的数值线性平稳增加,达到预设最大值

4、常见衰减策略
  • 线性衰减
  • 余弦衰减
  • 平方根倒数衰减

三、优化器

1、常见优化器
  • Adam
  • AdamW
2、Adam

使用梯度的“动量”作为参数的更新方向,它使用历史更新步骤中的梯度加权平均值,来代替当前时刻的梯度,从而缓解样本随机性带来的损失震荡。Adam使用自适应的学习率方法,通过梯度的加权“三阶矩”对梯度进行修正,从而防止梯度过小导致模型难以优化,Adam在优化中引入了三个超参数,β1=0.9, β2=0.95, ε=10

3、Adafactor(Adam变种)
  • 简介:通过引入特殊设计,使得训练过程中更加节省显存
  • 代表模型:PaLM和T5

四、稳定优化技术

1、梯度裁剪

把梯度限制在一个较小的区间内,当梯度的模长超过给定的阈值之后,便按照这个阈值进行截断,这个阈值通常是1.0

2、训练恢复

每隔固定步数会设置一个模型存档点,当模型发生了训练异常时,可以恢复

3、权重衰减

使用正则化技术来稳定训练过程,提高模型泛化能力,AdamW采用了权重衰减,每次更新模型参数时引入衰减系数,这个系统通常为0.1

4、Dropout

在训练中随机将一些神经元的输出值置零来避免过拟合,大模型训练过程中由于有大规模数据,且模型中存在归一化结构,该方式目前在大模型训练中使用较少


http://www.kler.cn/news/319400.html

相关文章:

  • 【鸿蒙HarmonyOS NEXT】数据存储之分布式键值数据库
  • 克里金插值算法文件
  • react学习笔记一:react介绍
  • Linux:路径末尾加/和不加/的区别
  • C#版Halcon:HalconDotNet最详细最全面教程(万字详细总结)
  • 算法-回溯
  • 【java入门】JDK的下载安装与环境配置,最新最详细教程!
  • ubuntu错误GPG error: http://repo.mysql.com/apt/ubuntu noble InRelease
  • 01-ZYNQ linux开发环境安装,基于Petalinux2023.2和Vitis2023.2
  • Python pyppeteer 与playwright 模拟浏览器请求 部署服务器遇到的坑
  • php发送邮箱教程:如何实现邮件发送功能?
  • 算法记录——链表
  • 【Linux基础IO】深入解析Linux基础IO缓冲区机制:提升文件操作效率的关键
  • MySQL—存储过程详解
  • 望繁信科技受邀出席ACS2023,为汽车行业数智化护航添翼
  • vue3自动暴露element-plus组件的ref
  • C# 找到给定点集的简单闭合路径(Find Simple Closed Path for a given set of points)
  • 203. 移除链表元素
  • David律所代理Jose Martin幽默水果版权首发维权,尚未TRO
  • MySQL安装教程
  • 240922-MacOS终端访问硬盘
  • C++_22_异常
  • C++:模版初阶
  • 手把手搞定VMware 的CentOS硬盘扩容
  • Unity 设计模式 之 行为型模式 -【中介者模式】【迭代器模式】【解释器模式】
  • 使用sqoop报错
  • Qt网络通信之TCP
  • Agile Modbus STM32裸机移植 从机使用
  • Django基础-创建新项目,各文件作用
  • npm install安装缓慢及npm更换源