清华发布Temporal Scaling Law,解释时间尺度对大模型表现的影响

众所周知,

语言模型调参!

预训练语言模型调参!!

预训练大语言模型调参!!!

简直就是一个指数级递增令人炸毛的事情,小编也常常在做梦,要是只训练几步就知道现在的超参数或者数据配比能不能行,那该有多好。

但现在,有一篇工作似乎正在令小编的梦想成为现实,那就是清华大学提出的Temporal Scaling Law。根据他们提出的这条规则,便可以通过当前训练步来准确预测未来训练步损失(loss)的下降情况,从而可以极大程度上提高各位炼丹师的效率。

此外,正所谓“重剑无锋,大巧不工”,这篇研究还发现在训练过程中并不需要针对token position添加权重,默认的预训练模式就足以达到非常好的效果

 GPT-3.5研究测试:

yeschat

GPT-4研究测试:

Hello, LLMs

Claude-3研究测试(全面吊打GPT-4):

AskManyAI

论文标题Temporal Scaling Law for Large Language Models

论文链接https://arxiv.org/pdf/2404.17785

Scaling Law

在介绍本文工作之前,先来回顾一下2020年由Kaplan等人首次提出的Scaling Law,即对于生成式Transformer模型,测试损失与模型大小、数据集大小和用于训练的计算量之间存在幂律关系(power-law relationship)。

此后,也陆续有研究在迁移学习(transfer-learning)和多模态预训练(multi-modal pre-training)验证了scaling law的存在。

Temporal Scaling Law

1. 从Scaling Law到Temporal Scaling Law

如前文所述,Scaling Law更侧重于建立测试损失与各个静态属性之间的关系,尽管Kaplan等人也提出测试损失与训练步之间遵从幂律,但这是建立在无限训练数据和训练步数前提下的,而这显然不符合我们的现实情况。

因此,本文在Scaling Law的基础上,进一步提出了考虑训练时间维度的Temporal Scaling Law,用以描述训练步与测试损失之间的关系,从而勾勒出大语言模型(LLMs)的预训练轨迹。

2. 实验设置

  • 训练数据:本文选用了Pile数据集作为预训练数据,这是一个包括22个领域的单语言大规模数据集

  • 测试数据:为度量测试损失,本文构造了两个测试数据,包括一个同样来自Pile的同分布数据集(IID-Val)和一个来自PG-19的异分布数据集(OOD-Val),都处理成1024 tokens的长度。测试损失取测试集中的所有序列损失的平均

  • 模型选择:本文选用了468M和1.2B两种大小的生成式语言模型

  • 训练方法:所有模型都需要经过400B tokens的训练,为捕捉时间维度训练进展,本文在训练阶段每隔1B个tokens创建一个checkpoint,并使用这些checkpoint进行测试损失评估

  • 度量指标:为评估temporal scaling law的预测结果对真实测试损失的拟合情况,本文采用了可决指数(coefficient of determination,)和均方误差(mean-square error,),前者表示所提出模型可解释原始数据方差的比例,后者度量所提出模型的预测结果对真实值的误差

3. Temporal Scaling Law

语言模型的本质是经过训练的统计模型,即根据先前所有token对下一个token的概率分布进行预测建模。,其中。因此,对于一个连续的序列,我们通常会认为位于后面的token会比位于前面的token更好预测,因为它有更多的背景信息,即:

图片

为验证这一假设,本文在IID-Val数据集上用468M和1.2B模型预训练400B tokens进行实验

图片

与假设一致,在两种大小的模型上都呈现出一致的规律,即输入序列中位置更靠前的token(背景信息更少)往往有更高的测试损失,而随着token位置越来越靠后逐渐收敛到一个固定的数值。通过以下倒数关系(reciprocal-law)的等式来拟合这种趋势,其中为token在输入序列中的位置

图片

其中,,和为拟合参数。其中,表示序列第一个token和最后一个token之间的损失差,为基于序列长度的缩放因子,为收敛因子,表示随着上下文的延长,每个token上损失的收敛值。下图展示了在468M模型的整个预训练阶段,IID Val上,,和的拟合曲线。

图片

当时(表示总训练步数),和收敛。因此,对于,取, 。此外还发现与学习率衰减呈强相关关系。

最终,未来测试损失可通过平均所有token位置的损失以进行预测:

图片

对比基于Kaplan等人幂律,倒数和对数关系的baseline,通过Temporal Scaling Law的未来损失预测具有显著优势:

图片

4. 不同token位置加权重?

前面的实验发现,位于输入序列头部的token往往更难预测,但随着训练更多的tokens以后,和逐渐趋于平稳,意味着LLMs开始对于不同位置的token平等学习。那么是否还需要对不同位置的token加不同权重以促进模型学习呢?

为验证这一点,本文将默认的预训练方法与3种简单的加权方法在8个公开评测数据上进行对比,分别是

  • 头部抑制:头部10%的token计算损失时乘以0.5的权重

  • 中部抑制:中部80%的token计算损失时乘以0.5的权重

  • 尾部抑制:尾部10%的token计算损失时乘以0.5的权重

实验发现,加权方法对比默认方法并没有明显优势,基本都取得了相当的效果,证实了现行默认的预训练方法已经足够有效。

结论与展望

1. 本文贡献

本文在Scaling Law的基础上,进一步提出了Temporal Scaling Law,从而实现在时间维度上分析和预测LLMs在预训练过程中的损失变化,从而助力研究者们更好地把握LLMs预训练趋势,提高调参效率。

本文通过研究不同模型规模和训练阶段下LLMs每个token位置的损失不平衡现象,发现损失模式遵循一个倒数关系,并提供了这种模式的数学化描述。

此外,本文通过Temporal Scaling Law揭示了LLMs在不同token位置的学习模式,尽管在初始训练阶段存在不同位置token的损失不平衡,但LLMs在经过一定量token的训练以后,会对所有token位置平等学习。以此为启发,本文也验证了默认的LLMs训练范式(不使用基于位置的重加权策略)的有效性,为LLMs的预训练提供了更深入的理解。

2. 当前挑战与未来展望

  • 本文的研究主要着眼于以transformer decoder为底座的类GPT生成式模型,而没有对transformer encoder为底座的模型或混合专家模型(Mixed of Experts Models)进行探索,因此本文的结论可能并不能推广,还有待进一步验证。

  • 本文的研究主要集中在预训练阶段。而其他情况,如持续预训练,有监督微调,迁移学习,并没有被包括在内。在这些方向上,也有待做进一步验证。

  • 此外,本文仅在468M和1.2B两个规模的模型上进行了验证,并没有推广到更大尺度的LLMs上面,因此Temporal Scaling Law能否推广到更大的模型上还需要更充分的实验。

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

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

相关文章

python选修课期末考试复习

目录 记住输出小数的格式文件条件判断随想循环小星星计算金额猜数字折纸 函数找最大值 基础知识总结 记住输出小数的格式 输出a,保留两位小数 %.2f%a打开文件有点儿难,多记几遍格式吧 文件的格式后面有冒号,谨慎一点,都用双引号…

基于C++和Python基础的Golang学习笔记

文章目录 一、基础1.DOS命令2.变量(1)局部变量(2)全局变量(3)数据类型(4)指针(5)运算符(6)自定义数据类型 3.语句(1&#…

第十四篇:数据库设计精粹:规范化与性能优化的艺术

数据库设计精粹:规范化与性能优化的艺术 1. 引言 1.1 数据库设计在现代应用中的核心地位 在数字化的浪潮中,数据库设计如同建筑师手中的蓝图,是构建信息大厦的基石。它不仅关乎数据的存储与检索,更是现代应用流畅运行的生命线。…

【SpringBoot】解锁后端测试新境界:学习Mockito与MockMvc的单元测试魔法

文章目录 前言:Java常见的单元测试框架一.Junit5基础二.SpringBoot项目单元测试1.添加依赖2.SpringBoot单元测试标准结构3.SpringBoot单元测试常用注解 三.单元测试中如何注入依赖对象1.真实注入(AutoWired、 Resource)2.Mock注入2.1.前言2.2…

资料总结分享:瀑布图,GESA,生存曲线

目录 瀑布图 GESA 生存曲线 瀑布图 肿瘤的瀑布图是一种常用的数据可视化方式,用于展示个体患者或研究样本的肿瘤基因组学数据,通常包括基因突变、基因拷贝数变异、染色体重排等信息。 颜色编码: 柱状图通常会使用颜色编码来表示不同类型…

Redis的数据淘汰策略——Java全栈知识(19)

Redis的数据淘汰策略 什么是数据淘汰策略 数据过期策略是 redis 中设置了 TTL 的数据过期的时候 Redis 的处理策略。数据淘汰策略是 Redis 内存不够的时候, 数据的淘汰策略:当 Redis 中的内存不够用时,此时在向 Redis 中添加新的 key, 那么…

IEEE 802.11标准

在IEEE 802.11标准中使用了扩频通信技术,主要作用是使得抗干扰性更强。 IEEE 802.11在MAC层采用了CSMA/CA协议。 IEEE 802.1x是一种基于端口认证协议。

开源web在线数据库设计软件 —— 筑梦之路

GitHub - drawdb-io/drawdb: Free, simple, and intuitive online database design tool and SQL generator. 简介 DrawDB是一款多功能且用户友好的在线工具,允许用户轻松设计数据库实体关系。通过简单直观的界面,DrawDB使用户能够创建图表、导出SQL脚本…

kettle经验篇:MongoDB-delete插件问题

目录 项目场景 问题分析 解决方案 MongoDB Delete插件使用总结 项目场景 项目使用的ODS层数据库是MongoDB;在数据中心从DB层向ODS层同步数据过程中,发现有张ODS表在同步过程中,数据突然发生锐减,甚至于该ODS表数据清0。 同步…

算法设计与分析 例题 绘制Huffman树、循环赛、分治、最短路与动态规划

1.考虑用哈夫曼算法来找字符a,b,c,d,e,f 的最优编码。这些字符出现在文件中 的频数之比为 20:10:6:4:44:16。要求: (1)(4 分)简述使用哈夫曼算法构造最优编码的基本步骤; (2)&…

Oracle 流stream数据的复制

Oracle 流stream数据的复制 --实验的目的是捕获scott.emp1表的变化,将变化应用到远程数据库scott.emp1表中。 --设置初始化参数 AQ_TM_PROCESSES1 COMPATIBLE9.2.0 LOG_PARALLELISM1 GLOBAL_NAMEStrue JOB_QUEUE_PROCESSES2 --查看数据库的名称,我的为o…

2024中国(重庆)机器人展览会8月举办

2024中国(重庆)机器人展览会8月举办 邀请函 主办单位: 中国航空学会 重庆市南岸区人民政府 招商执行单位: 重庆港华展览有限公司 2024中国重庆机器人展会将汇聚机器人全产业链知名企业,世界科技领先的生产制造企业与来自多个国家和地区…

蓝桥杯-网络安全比赛(6) 模拟实验 Metasploit 控制并获取Windows 登录HASH、LM Hash和NTLM Hash密文解析

窃取WINDOWS账号密码 系统环境:主机(Windows系统 IP:192.168.126.129),虚拟机(KALI系统 IP:192.168.126.3),两者需要能通过本地网络互通互连。 攻击工具:Metasploit是一…

改变浏览器大小,图片(img)内容居中显示img标签,不是背景图

改变浏览器大小,图片&#xff08;img&#xff09;内容居中显示&#xff0c;img标签&#xff0c;不是背景图 效果直接上图&#xff1a; 上代码&#xff1a; <!DOCTYPE html> <html> <head><title>测试图片居中显示&#xff0c;高度不变只变宽度<…

Electron学习笔记(五)

文章目录 相关笔记笔记说明 七、系统1、系统对话框2、自定义窗口菜单3、系统右键菜单4、快捷键(1)、监听网页按键事件 &#xff08;窗口需处于激活状态&#xff09;(2)、监听全局按键事件 &#xff08;窗口无需处于激活状态&#xff09;(3)、补充&#xff1a;自定义窗口菜单快捷…

异常处理/ROS2异常处理模块源码解读与浅析

文章目录 概述ros2/rcutils/src/error_handling模块自身异常处理错误状态结构与存储本模块初始化错误状态的设置错误状态的获取错误状态的清理不丢失旧错误状态把手段还原为目的其他 概述 本文从如下几个方面对 ROS2.0 中 rcutils 库 error_handling 错误处理模块的源码进行解…

花了24小时做的采购、库存、进销存excel模板,真心好用,免费分享

花了24小时做的采购、库存、进销存excel模板&#xff0c;真心好用 在企业的日常运营中&#xff0c;进销存管理是一项至关重要的任务。它不仅涉及到商品的采购、销售和库存管理&#xff0c;还直接影响到企业的财务状况和市场竞争力。为了提高管理效率&#xff0c;许多企业选择使…

Redis 的 SDS 和 C 中字符串相比有什么优势?

C 语言使用了一个长度为 N1 的字符数组来表示长度为 N 的字符串&#xff0c;并且字符数组最后一个元素总是 \0&#xff0c;这种简单的字符串表示方式 不符合 Redis 对字符串在安全性、效率以及功能方面的要求。 C语言的字符串可能有什么问题&#xff1f; 这样简单的数据结构可…

别人家的UI表单为什么这么漂亮?而你却千篇一律。

设计漂亮的移动UI页面表单页需要考虑以下几个方面&#xff1a; 布局和结构设计 合适的布局和结构&#xff0c;使表单页面看起来整洁、清晰&#xff0c;并且易于使用。可以使用网格系统或者栅格布局来对表单进行划分&#xff0c;使不同的表单元素有明确的位置和排列。 色彩和配…

GO+树莓派+E53_IA1智慧农业模块

简介 之前手头上有小熊派的开发板&#xff0c; 有一个E53_IA1模块&#xff0c; 刚好用到树莓派上&#xff0c; 使用GO进行控制&#xff0c;实现智慧农业模块功能。 模块介绍 模块电路介绍 按硬件分成五块&#xff0c; 其中四块在本次用上了&#xff0c; 分别是 1. 补光模块&…