LLM - 大模型 ScallingLaws 的迁移学习与混合训练(PLM) 教程(3)

news2025/1/19 21:19:16

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/145212097

免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。


Scaling Laws (缩放法则) 是大模型领域中,用于描述 模型性能(Loss) 与 模型规模N、数据量D、计算资源C 之间关系的经验规律,揭示在大模型中,随着模型参数数量、数据集大小和计算资源的增加,模型性能的变化模式,指导更高效地分配资源,优化模型训练过程,实现更好的性能。这些规律不仅有助于预测不同规模模型的表现,还能为模型设计和训练提供理论依据,是推动大模型发展和应用的重要理论基础。

在 PLM 的迁移学习中,预训练 CLM 迁移至 MLM,通过 迁移缩放法则(Transfer Scaling Laws),合理的分配训练资源,以达到性能最优。同时验证,混合训练(Mixing Training) CLM 与 MLM,不如从零开始训练。

系列文章:

  1. 大模型 ScallingLaws 的 C=6ND 公式推导
  2. 大模型 ScallingLaws 的 CLM 和 MLM 中不同系数
  3. 大模型 ScallingLaws 的迁移学习与混合训练

1. 从零开始与迁移学习

迁移缩放法则(Transfer Scaling Laws):预训练 MLM,迁移至 CLM,随着模型规模增大,收益递减;预训练 CLM,迁移至 MLM,随着模型规模增大,收益增加。不同 FLOPs 下 CLM 和 MLM 的损失(Loss)曲线,表明迁移策略的 有效前沿(Efficiency Frontiers),或 帕累托前沿(Pareto Frontier) 。如图:

Transfer

同时训练多个目标时,可能存促进或干扰,即 协同效应 问题,训练顺序也是关键因素,先训练 CLM 再训练 MLM,效果影响较大,反之,效果影响较小。

从零开始训练(Training from Scratch) L ( C s ) L(C_{s}) L(Cs)迁移学习(Transfer Learning) L ( C t ) L(C_{t}) L(Ct) 的 Loss 与 C 的法则:

L ( C s ) = a s × C s α s , L ( C t ) = a t × C t α t L(C_{s}) = a_{s} \times C_{s}^{\alpha_{s}},L(C_{t})=a_{t} \times C_{t}^{\alpha_{t}} L(Cs)=as×CsαsL(Ct)=at×Ctαt

计算量与 Loss 的相关参数:

Loss

例如,以 CLM 的计算量 1 × 1 0 21 1 \times 10^{21} 1×1021 为例,从头开始训练(CLM)的 Loss 与 迁移学习(MLM to CLM)的 Loss,即:

L ( C s ) = 8.251 × ( 1 × 1 0 21 ) − 0.027 = 2.2362 L ( C t ) = 7.191 × ( 1 × 1 0 21 ) − 0.024 = 2.2531 L ( C s ) = 8.251 × ( 3 × 1 0 19 ) − 0.027 = 2.4582 L ( C t ) = 7.191 × ( 3 × 1 0 19 ) − 0.024 = 2.4507 L(C_s) = 8.251 \times (1 \times 10^{21})^{-0.027} = 2.2362 \\ L(C_t) = 7.191 \times (1 \times 10^{21})^{-0.024} = 2.2531 \\ L(C_s) = 8.251 \times (3 \times 10^{19})^{-0.027} = 2.4582 \\ L(C_t) = 7.191 \times (3 \times 10^{19})^{-0.024} = 2.4507 L(Cs)=8.251×(1×1021)0.027=2.2362L(Ct)=7.191×(1×1021)0.024=2.2531L(Cs)=8.251×(3×1019)0.027=2.4582L(Ct)=7.191×(3×1019)0.024=2.4507

例如,以 MLM 的计算量 1 × 1 0 21 1 \times 10^{21} 1×1021 为例,从头开始训练(MLM)的 Loss 与 迁移学习(CLM to MLM)的 Loss,即:

L ( C s ) = 10.125 × ( 1 × 1 0 21 ) − 0.034 = 1.9561 L ( C t ) = 11.133 × ( 1 × 1 0 21 ) − 0.038 = 1.7726 L(C_s) = 10.125 \times (1 \times 10^{21})^{-0.034} = 1.9561 \\ L(C_t) = 11.133 \times (1 \times 10^{21})^{-0.038} = 1.7726 L(Cs)=10.125×(1×1021)0.034=1.9561L(Ct)=11.133×(1×1021)0.038=1.7726

因此,推导出 MLM 从零开始训练 C s C_{s} Cs 与 从 CLM 迁移学习 C t C_{t} Ct 的达到最优 Loss 所需计算量的比例:

C t ∝ C s α s α t = C s − 0.034 − 0.038 = C s 0.894 C_{t} \propto C_{s}^{\frac{\alpha_{s}}{\alpha_{t}}} = C_{s}^{\frac{-0.034}{-0.038}} = C_{s}^{0.894} \\ CtCsαtαs=Cs0.0380.034=Cs0.894

因此,最优的迁移学习策略:先使用 CLM 预训练,然后再训练 MLM。同时,CLM 与 MLM 的 混合训练(Mixing Training) 或改变训练顺序(即先 MLM 后 CLM),都没有带来显著的益处。推测原因是, MLM 仅专注于恢复 被损坏(Mask) 的标记,不具有因果性,如果 MLM 以从左到右的方式,根据上文预测序列中间的片段,才可能加快训练速度。

关于 CLM 与 MLM 的 混合训练(Mixing Training) 目标的验证 Loss,在全部模型规模中,从零开始训练都比混合训练的验证损失更低,表明,混合训练不如针对每个单独目标的专门训练有效。参考:

Mix

2. CLM 迁移至 MLM 的 Tokens 比例

左侧:为 CLM 预训练分配的 % 计算量的有效困惑度,即,% 计算资源表示在 CLM 预训练,剩余计算资源在 MLM 微调。最优的 CLM 预训练 % 计算资源范围为 [ 10 , 20 ] [10,20] [10,20],拟合的 D t D t + D f \frac{D_{t}}{D_{t}+D_{f}} Dt+DfDt 在最优损失范围内下降。

右侧:从零开始训练的模型(红色)从预训练 CLM 微调的模型(绿色) 的验证 困惑度(PPL) 比较,表明从 CLM 微调在更少 Tokens 数量下,降低困惑度。

Transfer

以模型规模 N = 85 M N=85M N=85M 为例,通过之前的公式,合理计算模型的计算量 C = 3 × 1 0 19 C=3 \times 10^{19} C=3×1019,即:

C C L M ( N ) = ( N 1.26 ∗ 1 0 − 3 ) 1 0.578 C C L M ( 85 × 102 4 2 ) = ( 85 × 102 4 2 1.26 × 1 0 − 3 ) 1 0.578 = 0.6 × 1 0 19 C M L M ( N ) = ( N 6.19 × 1 0 − 8 ) 1 0.776 C M L M ( 85 × 102 4 2 ) = ( 85 × 102 4 2 6.19 × 1 0 − 8 ) 1 0.776 = 3.4 × 1 0 19 \begin{align} C_{CLM}(N) &= (\frac{N}{1.26*10^{-3}})^\frac{1}{0.578} \\ C_{CLM}(85 \times 1024^{2}) &= (\frac{85 \times 1024^{2}}{1.26 \times 10^{-3}})^{\frac{1}{0.578}} \\ &= 0.6 \times 10^{19} \\ C_{MLM}(N) &= (\frac{N}{6.19 \times 10^{-8}})^{\frac{1}{0.776}} \\ C_{MLM}(85 \times 1024^{2}) &= (\frac{85 \times 1024^{2}}{6.19 \times 10^{-8}})^{\frac{1}{0.776}} \\ &= 3.4 \times 10^{19} \end{align} CCLM(N)CCLM(85×10242)CMLM(N)CMLM(85×10242)=(1.26103N)0.5781=(1.26×10385×10242)0.5781=0.6×1019=(6.19×108N)0.7761=(6.19×10885×10242)0.7761=3.4×1019

合理数据量 D = 63.58 × 1 0 9 D=63.58 \times 10^{9} D=63.58×109 是:

D = C 6 N = 3.4 × 1 0 19 6 × 85 × 102 4 2 = 63.58 × 1 0 9 = 60 B \begin{align} D = \frac{C}{6N} = \frac{3.4 \times 10^{19}}{6 \times 85 \times 1024^{2}} = 63.58 \times 10^{9} = 60B \end{align} D=6NC=6×85×102423.4×1019=63.58×109=60B

其中, D t D_{t} Dt 表示 CLM 预训练的 Tokens 数量, D f D_{f} Df 表示 MLM 微调的 Tokens 数量,全部数据量即 D t + D f D_{t}+D_{f} Dt+Df

有效转移标记(Effectively Transferred Tokens, ETT) D t D_{t} Dt 是模型规模相同,在 MLM 上从零开始训练,以达到与在 CLM 上预训练的模型,相同损失所需的额外数据。如果预训练的 CLM 模型中的标记数量超过 D t D_{t} Dt ,那么 CLM 预训练的计算就是多余的。如果能提前知道 D t D_{t} Dt ,可以指导 CLM 预训练的标记分配。

迁移缩放法则(Transfer Scaling Laws),以模型规模 N = 85 M N=85M N=85M ,微调数据 D f = 48 B D_{f}=48B Df=48B 为例,计算预训练 D t = 8.57 B D_{t}=8.57B Dt=8.57B占比约 14.28%,属于 [10, 20] 之间,符合法则:

D t = k × 1 D f α × 1 N β = 3.65 × 1 0 5 × 1 D f − 0.137 × 1 N − 0.369 D t = 3.65 × 1 0 5 × 1 ( 48 × 102 4 3 ) − 0.137 × 1 ( 85 × 102 4 2 ) − 0.369 = 9.2 × 1 0 9 ≈ 8.57 B < 12 B \begin{align} D_{t} &= k \times \frac{1}{D_{f}^{\alpha}} \times \frac{1}{N^{\beta}} \\ &= 3.65 \times 10^5 \times \frac{1}{D_{f}^{-0.137}} \times \frac{1}{N^{-0.369}} \\ D_{t} &= 3.65 \times 10^5 \times \frac{1}{(48 \times 1024^3)^{-0.137}} \times \frac{1}{(85 \times 1024^2)^{-0.369}} \\ &= 9.2 \times 10^9 \approx 8.57B < 12B \end{align} DtDt=k×Dfα1×Nβ1=3.65×105×Df0.1371×N0.3691=3.65×105×(48×10243)0.1371×(85×10242)0.3691=9.2×1098.57B<12B

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2279067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据可视化:让数据讲故事的艺术

目录 1 前言2 数据可视化的基本概念2.1 可视化的核心目标2.2 传统可视化手段 3 数据可视化在知识图谱中的应用3.1 知识图谱的可视化需求3.2 知识图谱的可视化方法 4 数据可视化叙事&#xff1a;让数据讲故事4.1 叙事可视化的关键要素4.2 数据可视化叙事的实现方法 5 数据可视化…

数据库开发支持服务

文章目录 前言适用产品服务范围前提条件责任矩阵交互项目 服务流程交付件项目完成标志 前言 数据库开发支持服务是为了达成客户业务系统开发、测试、上线运行提供的具体技术支撑&#xff0c;内容包括数据库开发指导、性能调优、第三方平台对接支持、应用对接与上线支持等。数据…

2024年,我的技术探索与成长之路

2024年&#xff0c;我的技术探索与成长之路 2024年已经过去&#xff0c;作为一名技术爱好者和写作者&#xff0c;我回顾了过去一年在博客上记录的点滴&#xff0c;感慨良多。这一年&#xff0c;我不仅见证了技术的飞速发展&#xff0c;也在不断学习和实践中找到了自己的成长方向…

机器学习经典无监督算法——聚类K-Means算法

目录 算法原理 算法步骤 算法API 算法导入 API参数理解 算法实现 算法原理 Kmeans 算法是一种无监督的聚类算法&#xff0c;目的是将数据集中的样本划分到 K 个不同的簇中。 聚类&#xff1a;将数据集中相似的数据点归为一组或一个簇的过程。 数据集&#xff1a;一组相…

【MySQL索引:B+树与页的深度解析】

文章目录 MySQL索引&#xff1a;B树与页的深度解析1. 索引使用的数据结构——B树1.1 B树介绍1.2 B树的特点1.3 B树和B树的对比 2. MySQL中的页2.1 页的介绍2.2 页主体2.3 页目录2.4 B树在MySQL索引中的应用 MySQL索引&#xff1a;B树与页的深度解析 在MySQL数据库中&#xff0…

新阿里云买服务器配置需手动配置80端口

新买阿里云服务器需手动配置80&#xff0c;端口才可以访问nginx CentOS系统 安装nginx 1. 安装 Nginx yum install nginx 2. 启动 Nginx 服务 systemctl start nginx 3. 修改默认网页 cd /usr/share/nginx/ echo "666" >index.html cat index.html 访问ngin最后…

机器学习——什么是代价函数? 下

“上次课讲了机器学习的模型表示,讲了一个线性模型的例子,那怎样在可能的拟合直线里选择一条最合适的呢?有没有数学的方法让这个直线合适还是不合适变得可以量化呢?这就要说代价函数了。” 本次课前半段内容非常简单,带领我们一起复习初中平面几何的知识,后半段给出了代价…

LeetCode - #187 Swift 实现重复的DNA序列

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…

ReactiveReactor Core

Reactive&Reactor Core 一、概述1、问题2、优势3、发展 二、Reactive Streams1、依赖2、API 三、Project Reactor1、概述2、并发模型3、入门1、依赖2、Flux和Mono3、空流&错误流 4、订阅响应式流1、常见订阅2、自定义订阅 5、API1、index2、timestamp3、any4、map5、fi…

STL容器-- list的模拟实现(附源码)

STL容器-- list的模拟实现&#xff08;附源码&#xff09; List的实现主要考察我们对list这一容器的理解&#xff0c;和代码的编写能力&#xff0c;通过上节对list容器的使用&#xff0c;我们对list容器已经有了一些基本的了解&#xff0c;接下来就让我们来实现一些list容器常见…

【转】厚植根基,同启新程!一文回顾 2024 OpenHarmony 社区年度工作会议精彩瞬间

在数字化浪潮奔腾不息的今天&#xff0c;开源技术已成为推动科技创新与产业发展的强大引擎。2025年1月10日-11日&#xff0c;OpenAtom OpenHarmony&#xff08;开放原子开源鸿蒙&#xff0c;以下简称“OpenHarmony”或“开源鸿蒙”&#xff09;社区2024年度工作会议于深圳盛大启…

蓝桥杯备考:堆和priority queue(优先级队列)

堆的定义 heap堆是一种特殊的完全二叉树&#xff0c;对于树中的每个结点&#xff0c;如果该结点的权值大于等于孩子结点的权值&#xff0c;就称它为大根堆&#xff0c;小于等于就叫小根堆&#xff0c;如果是大根堆&#xff0c;每个子树也是符合大根堆的特征的&#xff0c;如果是…

力扣682

from typing import Listclass Solution:def calPoints(self, operations: List[str]) -> int:a [] # 用于存储有效得分的列表for op in operations:if op.isdigit() or (op[0] - and op[1:].isdigit()): # 如果是整数&#xff08;包括负数&#xff09;a.append(int(op)…

考研计算机组成原理——零基础学习的笔记

第一章 研究计算机硬件的学科。 1.计算机系统概述 计算机系统硬件软件&#xff08;系统软件&#xff1a;比如操作系统、数据库管理系统、标准程序库等&#xff0c;应用软件&#xff1a;QQ等&#xff09; 1.2计算机的层次结构 1.2.1计算机硬件的基本组成 冯诺伊曼计算机&a…

海康工业相机的应用部署不是简简单单!?

作者&#xff1a;SkyXZ CSDN&#xff1a;SkyXZ&#xff5e;-CSDN博客 博客园&#xff1a;SkyXZ - 博客园 笔者使用的设备及环境&#xff1a;WSL2-Ubuntu22.04MV-CS016-10UC 不会吧&#xff1f;不会吧&#xff1f;不会还有人拿到海康工业相机还是一脸懵叭&#xff1f;不会还有人…

计算机网络 (49)网络安全问题概述

前言 计算机网络安全问题是一个复杂且多维的领域&#xff0c;它涉及到网络系统的硬件、软件以及数据的安全保护&#xff0c;确保这些元素不因偶然的或恶意的原因而遭到破坏、更改或泄露。 一、计算机网络安全的定义 计算机网络安全是指利用网络管理控制和技术措施&#xff0c;保…

STM32 FreeRTOS中断管理

目录 FreeRTOS的中断管理 1、STM32中断优先级管理 2、FreeRTOS任务优先级管理 3、寄存器和内存映射寄存器 4、BASEPRI寄存器 5、FreeRTOS与STM32中断管理结合使用 vPortRaiseBASEPRI vPortSetBASEPRI 6、FromISR后缀 7、在中断服务函数中调用FreeRTOS的API函数需注意 F…

操作系统 期末重点复习

操作系统 期末重点复习 必会 课后题摘要 第二章&#xff1a; 在操作系统中为什么要引入进程概念&#xff1f;它会产生什么样的影响? 为了使程序在多道程序环境下能并发执行&#xff0c;并对并发执行的程序加以控制和描述&#xff0c;在操作系统中引入了进程概念。影响: 使程…

7.5.4 MVCC优化测试

作者&#xff1a; h5n1 原文来源&#xff1a; https://tidb.net/blog/4e02d900 1. 背景 由于MVCC 版本数量过多导致rocksdb扫描key数量过多影响SQL执行时间是tidb经常出现问的问题&#xff0c;tidb也一直在致力于优化该问题。 一些优化方式包括比&#xff1a; (1) 从传统…

2024年AI与大数据技术趋势洞察:跨领域创新与社会变革

目录 引言 技术洞察 1. 大模型技术的创新与开源推动 2. AI Agent 智能体平台技术 3. 多模态技术的兴起:跨领域应用的新风口 4. 强化学习与推荐系统:智能化决策的底层驱动 5. 开源工具与平台的快速发展:赋能技术创新 6. 技术安全与伦理:AI技术的双刃剑 7. 跨领域技…