论文解读 | EMNLP2024 一种用于大语言模型版本更新的学习率路径切换训练范式
点击蓝字

关注我们
AI TIME欢迎每一位AI爱好者的加入!

点击 阅读原文 观看作者讲解回放!
作者简介
王志豪,厦门大学博士生
刘诗雨,厦门大学硕士生
内容简介
新数据的不断涌现使版本更新成为大型语言模型(LLMs)不可或缺的需求。LLMs的版本更新训练范式包括从头预训练(PTFS)和继续预训练(CPT)。初步实验表明,PTFS在预训练性能上表现更好,而CPT的训练成本较低。此外,随着版本更新的进行,两种范式的性能和训练成本差距逐渐扩大。为探究这一现象的根本原因,作者分析了学习率对CPT的两个阶段的影响:准备初始化参数(checkpoint)和基于该checkpoint的继续预训练。研究表明,在第一阶段中使用较大学习率以及在第二阶段中使用具有完整率衰减过程的学习率对于LLMs的版本更新至关重要。因此,作者提出了一种基于学习率路径切换的训练范式。该范式包括一条主路径和多条分支路径。LLMs在主路径上以最大学习率进行预训练,而分支路径则基于LLMs在主路径上的checkpoints使用新增数据进行版本更新。广泛的实验表明该范式的有效性和泛化性。特别是在训练4个版本的LLMs时,该范式在保持与PTFS相当的预训练性能同时,将总训练成本减至58%。
论文地址:https://arxiv.org/abs/2410.04103
研究动机
这篇论文的研究动机在于,随着新的预训练数据不断涌现,大型语言模型(LLMs)面临着版本更新的需求,以确保模型能力的持续提升。现有的版本更新范式包括从头预训练(Pre-Training From Scratch,简称PTFS)和继续预训练(Continue Pre-Training,简称CPT)。图中列出了这两种范式在使用cosine学习率调度策略时的学习曲线。可以明显看到,两种范式之间的主要区别在于更新过程中的学习率变化。这启发了作者从学习率角度出发,研究新的预训练范式。

先导实验
为了比较这两种范式在性能和成本上的差异,作者进行了一个先导实验。实验选择了训练LLMs时最常见的3种学习率调度策略,测试在更新4个版本LLMs情况下的性能和成本差距。需要注意的是,这里的性能用困惑度(Perplexity,PPL)来表示,数值越低代表LLMs性能越好。
从实验结果可以观察到,尽管CPT的版本更新成本远低于PTFS,但PTFS的性能优于CPT,而且这种性能差距随着版本数的增加而增大。

性能差距增大的原因
为了研究这种性能差距产生的原因,作者将CPT拆分成两个阶段。第一个阶段是为CPT准备初始参数(checkpoint),第二个阶段是基于初始checkpoint进行继续训练。紧接着,作者基于这两个阶段,分别设计两组实验来探索学习率对CPT两个阶段的影响。
在第一组实验中,作者采用具有不同衰减速度的学习率作为第一阶段的学习率曲线,并固定了第二阶段的学习率曲线。结果表明,当第一阶段的学习率固定为最大值时,初始checkpoint的模型性能最低,但最终性能却是最好的。
在第二组实验中,作者固定了第一阶段的学习率曲线,采用具有不同衰减速度的学习率作为第二阶段的学习率曲线。结果显示,当第二阶段学习率快速衰减到最小值时,对应的LLMs性能最佳。
基于上述两组实验我们可以得出如下结论:1.第一阶段的大学习率和第二阶段完整的学习率衰减过程对CPT的性能尤为重要。2. CPT无法兼顾不同版本LLMs的性能。完整的学习率衰减过程能确保当前版本的LLMs的最优性能,但后续版本的LLMs则需要以大学习率训练提供的初始化checkpoint,这是CPT无法同时满足的。

训练范式
为了解决CPT两阶段对不同学习率要求的冲突,作者提出了一种基于学习率路径切换的训练范式。该范式包括一条主路径和多条分支路径。在主路径上,LLMs以最大学习率从头开始预训练,为后续版本更新提供初始化checkpoint。当我们想获得新版的LLMs时,可以直接基于主路径的当前checkpoint继续预训练。在这个过程中,学习率会经历一个完整且快速的衰减过程,从而以较低的成本来保证新版LLMs的性能。同时,在主路径上LLMs仍然使用新增数据对当前checkpoint以最大学习率进行预训练,以便于后续的版本更新。
不同于PTFS和CPT,该范式还包含关键超参数α用于控制分支路径在训练步长中所占的比例。根据版本更新的总时间复杂度计算,该范式与CPT一样,确保了线性的复杂度。

关键参数实验
对于本文提出的范式,参数α是一个关键参数。α值越高,模型的性能相对越好,但总的训练成本也会相应增加。根据对不同α值的实验结果,作者选择了α等于0.6作为最终参数。

预训练性能
基于三种学习率调度策略下,作者测试了所提出的预训练范式、PTFS及CPT各自的性能和成本。结果显示,所提出的范式在性能和训练成本上取得了更佳的平衡。在实现与PTFS相当性能的同时,仅需要58%的训练成本。

下游任务性能
在9个常见的下游任务中,经过微调训练后,作者的范式取得了最优的平均性能。

泛化性
模型结构和参数规模
为了验证本文范式在模型结构和参数规模上的泛化性,作者不仅在LLaMA结构上进行了实验,还在Qwen模型结构上进行了实验。此外,作者还在不同参数规模下进行了测试。结果证明,该范式具有良好的泛化性能。

数据规模和最大学习率
并且,作者还测试了在不同数据规模和不同最大学习率设置下所提出范式的性能。结果表明,该范式在不同数据规模和学习率设置下表现出良好的性能,进一步验证了其适用性和泛化性。

实际应用与未来工作
最后,目前该范式已经实际应用于vivo蓝心基础大模型的研发中。对于未来的工作,作者计划将视角聚焦于大模型版本更新过程中可能存在的更多待解决场景。例如,在更新过程中,同时伴随模型参数规模的扩展、模型结构的调整,以及版本更新在监督微调(SFT)或对齐(alignment)阶段中的应用。

本期文章由陈研整理
往期精彩文章推荐

迈向AGI——大模型创新体验嘉年华邀请函
关于AI TIME
AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。
迄今为止,AI TIME已经邀请了2000多位海内外讲者,举办了逾700场活动,超800万人次观看。

我知道你
在看
提出观点,表达想法,欢迎
留言

点击 阅读原文 观看作者讲解回放!
相关文章:
论文解读 | EMNLP2024 一种用于大语言模型版本更新的学习率路径切换训练范式
点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 点击 阅读原文 观看作者讲解回放! 作者简介 王志豪,厦门大学博士生 刘诗雨,厦门大学硕士生 内容简介 新数据的不断涌现使版本更新成为大型语言模型(LLMsÿ…...
Java基础(Json和Java对象)
定义好实体类 package com.pyb.pojo; /*** version 1.0* Author 彭彦彬* Date 2024/12/24 20:47* 注释*/ public class Person {private String username;private String password; public Person() {} public Person(String username, String password) {this.username…...
Linux 中检查 Apache Web Server (httpd) 正常运行时间的 4 种方法
注:机翻,未校。 4 Ways To Check Uptime of Apache Web Server (httpd) on Linux November 28, 2019 by Magesh Maruthamuthu We all know about the purpose of uptime command in Linux. 我们都知道 Linux 中 uptime 命令的目的。 It is used to c…...
Linux驱动开发--字符设备驱动开发
一、概述 字符设备是 Linux 驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节 流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、 IIC、 SPI, LCD 等等都是字符设备,这些设备的驱动就叫做字符设备驱动。 Linux 应用程序对驱动程…...
MarkItDown的使用(将Word、Excel、PDF等转换为Markdown格式)
MarkItDown的使用(将Word、Excel、PDF等转换为Markdown格式) 本文目录: 零、时光宝盒🌻 一、简介 二、安装 三、使用方法 3.1、使用命令行形式 3.2、用 Python 调用 四、总结 五、参考资料 零、时光宝盒🌻 &a…...
一文彻底拿捏DevEco Studio的使用小技巧
程序员Feri一名12年的程序员,做过开发带过团队创过业,擅长Java相关开发、鸿蒙开发、人工智能等,专注于程序员搞钱那点儿事,希望在搞钱的路上有你相伴!君志所向,一往无前! 0.安装DevEco Studio DevEco Studio面向HarmonyOS应用及元服务开发者提供的集成开…...
R9000P键盘失灵解决办法
问题描述 突然,就是很突然,我买的R9000P 2024不到三个月,键盘突然都不能用了,是所有键盘按键都无效的那种。(可以使用外接键盘) 解决办法 我本科室友说的好哈,全坏全没坏。 (该解…...
【Linux之Shell脚本实战】编写简单计算器shell脚本
【Linux之Shell脚本实战】编写简单计算器shell脚本 一、Shell脚本介绍1.1 Shell脚本简介1.2 Shell脚本特点二、脚本要求三、检查本地环境3.1 本地环境规划3.2 检查本地系统3.3 检查系统内核版本四、编写脚本4.1 脚本内容4.2 脚本分析整体逻辑各功能实现使用方法4.3 执行效果五、…...
【0x001D】HCI_Read_Remote_Version_Information命令详解
目录 一、命令概述 二、命令格式及参数说明 2.12. HCI_Read_Remote_Version_Information 命令格式 2.2. Connection_Handle 三、生成事件 3.1. HCI_Command_Status 事件 3.2. HCI_Read_Remote_Version_Information_Complete 事件 四、命令执行流程 4.1. 命令发起阶段(…...
秒鲨后端之MyBatis【2】默认的类型别名、MyBatis的增删改查、idea中设置文件的配置模板、MyBatis获取参数值的两种方式、特殊SQL的执行
别忘了请点个赞收藏关注支持一下博主喵!!!! ! ! 下篇更新: 秒鲨后端之MyBatis【3】自定义映射resultMap、动态SQL、MyBatis的缓存、MyBatis的逆向工程、分页插件。 默认的类型别名 MyBatis的增删改查 添加 <!--int insertUs…...
python中使用selenium执行组合快捷键ctrl+v不生效问题
在执行ctrlv进行粘贴时,绑定一个页面上的元素对象(无论元素对象是否是引用过期或者是粘贴的目标文本区,但前提需要粘贴的目标文本区获取焦点)执行ctrlv后可以生效。执行粘贴组合快捷键(ctrlv)的示例代码 se…...
大语言模型中的Agent;常见的Agent开发工具或框架
大语言模型中的Agent 大语言模型中的Agent是指以大语言模型为核心驱动,具有自主理解、感知、规划、记忆和使用工具等能力,能够自动化执行复杂任务的系统.以下是一些例子: AutoGPT:它相当于一个完整的工具包,可以为各种项目构建和运行自定义AI Agent。使用OpenAI的GPT-4和…...
VSCode 性能优化指南:提高编码效率,减少资源占用
Visual Studio Code(简称VSCode)是一款广受欢迎的代码编辑器,以其强大的功能和丰富的插件生态系统著称。然而,随着项目规模的扩大和插件数量的增加,VSCode 的性能可能会受到影响。本文将介绍一系列优化措施,…...
深入理解C++ 容器类
承接Qt/C软件开发项目,高质量交付,灵活沟通,长期维护支持。需求所寻,技术正适,共创完美,欢迎私信联系! 引言 C 标准库提供了丰富的容器(container)类型,用于存…...
优化 invite_codes 表的 SQL 创建语句
-- auto-generated definition create table invite_codes (id int auto_incrementprimary key,invite_code varchar(6) not null comment 邀请码,6位整数,确保在有效期内…...
springboot容器无法获取@Autowired对象,报null对象空指针问题的解决方式
示例错误代码: package com.uniin.ib.provider.iot.handle;Slf4j Component public class FireStringInboundHandler extends ChannelInboundHandlerAdapter {Autowiredprivate RsFireMonitoringMapper rsFireMonitoringMapper;Autowiredprivate RsFireAlertMapper…...
服务器数据恢复—Lustre分布式文件系统下服务器节点进水的数据恢复案例
服务器数据恢复环境&故障: 5台节点服务器,每台节点服务器上有一组RAID5阵列。每组RAID5阵列上有6块硬盘(其中1块硬盘设置为热备盘,其他5块硬盘为数据盘)。上层系统环境为Lustre分布式文件系统。 机房天花板漏水导致…...
由于这些关键原因,我总是手边有一台虚拟机
概括 虚拟机提供了一个安全的环境来测试有风险的设置或软件,而不会影响您的主系统。设置和保存虚拟机非常简单,无需更改主要设备即可方便地访问多个操作系统。运行虚拟机可能会占用大量资源,但现代 PC 可以很好地处理它,为实验和工作流程优化提供无限的可能性。如果您喜欢使…...
word无法创建工作文件,检查临时环境变量。
word无法创建工作文件,检查临时环境变量。 word preview版本,关联打开文件出现报错。word无法创建工作文件,检查临时环境变量。 打开注册表,删除键 Word Preview: HKCR\CLSID{84F66100-FF7C-4fb4-B0C0-02CD7FB668FE} PowerPoint …...
照亮技术传播之路:构建卓越的技术文档
照亮技术传播之路:构建卓越的技术文档 引言 在信息技术快速发展的今天,技术文档作为沟通开发者、用户以及其他利益相关者的桥梁,其重要性不言而喻。一份优秀的技术文档不仅能够帮助团队成员理解项目背景和技术细节,还能够在产品…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解
文章目录 一、开启慢查询日志,定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...
欢乐熊大话蓝牙知识17:多连接 BLE 怎么设计服务不会乱?分层思维来救场!
多连接 BLE 怎么设计服务不会乱?分层思维来救场! 作者按: 你是不是也遇到过 BLE 多连接时,调试现场像网吧“掉线风暴”? 温度传感器连上了,心率带丢了;一边 OTA 更新,一边通知卡壳。…...
