清华发布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能否推广到更大的模型上还需要更充分的实验。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

拌合楼管理系统(十九)ini配置文件本地加密

前 言: 项目中,数据库服务器与程序不在一起,且不允许通过互联网直接访问数据库。 解决方法是通过web服务来做中间件来解决数据交互的问题。但如果web服务交互又存在身份验证问题,需要实现访问对应的接口是经过授权的,未…

考研数学|强化阶段怎么刷《660》《880》《1000》?

强化阶段想要刷好题,首先要选一本适合自己的题集! 一般在强化阶段,大家用多个最多的题集就是660题,880题还有1000题 660题的特点是只训练客观题,虽然题目的质量很高,但是训练面还是比较窄 880题是综合训…

华为交换机配置导出备份python脚本

一、脚本编写思路 (一)针对设备型号 主要针对华为(Huawei)和华三(H3C)交换机设备的配置备份 (二)导出前预处理 1.在配置导出前,自动打开crt软件或者MobaXterm软件&am…

C++ int 学习

在C语言中 & 是取地址符号; 在C中有 int& 这样的,这里的&不是取地址符号,而是引用符号; 引用是C对C的一个补充; 变量的引用就是变量的别名,讲的通俗一点就是另外一个名字; a的值…

transformer与beter

transformer与beter 解码和编码器含义tokizer标记器和one-hot独热编码编码解码--语义较好的维度空间矩阵相乘--空间变换编码理解如何构造降维的嵌入矩阵--实现到达潜空间上面是基础,下面是transformer正文自注意力机制注意力分数--上下文修正系数为什么需要KQ两个矩…

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

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

SpringBoot结合Canal 实现数据同步

1、Canal介绍 Canal 指的是阿里巴巴开源的数据同步工具,用于数据库的实时增量数据订阅和消费。它可以针对 MySQL、MariaDB、Percona、阿里云RDS、Gtid模式下的异构数据同步等情况进行实时增量数据同步。 当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.…

数据分析需要注意哪些法律法规

数据分析 前言一、数据处理过程二、数据收集阶段的法律规则数据收集应具备合法、正当、透明原则数据收集应坚持最小必要原则数据收集应遵守知情-同意规则数据收集应遵守目的明确性要求 三、数据储存的法律规则四、数据使用与处理的阶段的法律规则数据安全保护义务按照数据分级分…

全球首例!猪肾移植患者死亡,人类科技与伦理或将面临挑战?

全球首例猪肾移植患者的离世,如同一颗重磅炸弹,在医学界激起千层浪花,让原本充满希望的“死而复生”异种器官移植技术再次被推至风口浪尖。 今年3月,一场与命运的较量在麻省总医院悄然落幕。全球首位接受转基因猪肾移植的患者理查…

Boss让你设计架构图,你懵逼了,解救你的参考图来啦。

架构图是指用于描述系统或软件的结构和组成部分之间关系的图形表示。 它是一种高层次的图示,用于展示系统的组件、模块、接口和数据流等,以及它们之间的相互作用和依赖关系。架构图通常被用于可视化系统的整体设计和组织结构,帮助人们理解系…

数据结构(四)——二叉树和堆(下)

制作不易,三连支持一下呗!!! 文章目录 前言一、二叉树链式结构的实现总结 前言 这篇博客我们将来了解普通二叉树的实现和应用,对大家之前分治和递归的理解有所挑战。 一、二叉树链式结构的实现 1.前置说明 在学习二叉…

对Windows超融合S2D的一些补充

先说一个不知道算不算BUG的例子,下面这个存储池是用两台服务器各2块10G建立的,除去系统保留的部分,显示还有13G可用。 但如果使用其新建虚拟磁盘会显示可用的空间为0 然后我又各增加了一块10G硬盘进池,变成了可用空间为30.5GB …

“二代”接班进行时:达利食品许阳阳揭秘“零食大王”成长密钥

“二代接班”早已不是一个新鲜话题。近年来,随着时间的推移,那些伴随改革开放和中国制造崛起的民营企业,更多的正在经历或已完成“二代接班”。 “毛巾王子”家的洁丽雅,最近因大手笔签约多位代言人而引起讨论的九牧王&#xff0…

基于Unity为Vision Pro 构建游戏的4个关键

为Vision Pro开发游戏时需要考虑的四个关键概念:输入的自然性、物理尺寸的真实匹配、交互空间的充足性以及Unity组件的有效利用。 AVP交互小游戏(Capsule Critters)作者分享了使用Unity构建的几个核心关键: Bounded - 游戏定义:Bounded(有限)是Unity的术语,指的是游戏作…

[AIGC] 几道 redis数据结构相关面试题

文章目录 7. 数据类型的实现8. 什么是空间预分配以及惰性空间释放,SDS 是怎么实现的9. 为什么说 SDS 是二进制安全的呢10. 说说 redis 里的对象11. 使用 RedisObject 的好处12. RedisObject 的具体结构是什么 7. 数据类型的实现 8. 什么是空间预分配以及惰性空间释放…

Tomcat添加服务以及设置开机自启

下载地址连接 Index of /dist/tomcat👓 注意点:不要出现中文路径 #环境变量 CATALINA_HOMED:\apache-tomcat-7.0.62 TOMCAT_HOMED:\apache-tomcat-7.0.62 JAVA_HOMED:\tool\jdk1.8.0_111 PATH%CATALINA_HOME%\bin;%CATALINA_HOME%\lib;%CATALINA_HOME%\…

【JVM基础篇】类加载器分类介绍

文章目录 类加载器什么是类加载器类加载器的作用是什么应用场景类加载器的分类启动类加载器用户扩展基础jar包 扩展类加载器和应用程序类加载器扩展类加载器通过扩展类加载器去加载用户jar包: 应用程序加载器 Arthas中类加载器相关功能 文章说明 类加载器 什么是类…

车载测试:为什么你投十份简历,只有一两家公司约你?

最根本的原因,就是一方在汲汲渴求,而恰恰另一方呈现出的关键点让其怦然心动。求者心中有所想,而应者恰恰展现了求者所想的那一面。这就是个中奥妙。 程序员在找工作时,在一开始有三件事情会对能否获得面试机会至关重要&#xff1…

C++笔记(STL标准库)

1.STL六大部件 容器 Containers分配器 Allocators:帮容器分配内存算法 Algorithms迭代器 Iterators:算法通过迭代器操作容器里的数据,是一种泛化的指针适配器 Adapters:修改或扩展已有类或函数的接口以满足特定的需求仿函数 Func…

自动秒收录网址导航分类目录模板

自动秒收录网址导航是一个以html5css3进行开发的免费版网址自动收录模板源码。 模板特点:全站响应式H5网站制作技术,一个网站适应不同终端,模板支持网址导航一键采集入库,免规则文章资讯智能批量采集内置伪原创,本地化…