NLP大语言模型的缩放定律

一、简述

        ​论文《神经语言模型的缩放定律》包含对交叉熵损失的语言模型性能的经验缩放定律的研究,重点关注Transformer架构。

https://arxiv.org/pdf/2001.08361.pdficon-default.png?t=N7T8https://arxiv.org/pdf/2001.08361.pdf        实验表明,测试损失与模型大小、数据集大小和用于训练的计算量呈幂律关系,某些趋势跨越超过七个数量级。这意味着简单的方程控制着这些变量之间的关系,这些方程可用于创建最有效的训练配置,以训练非常大的语言模型。此外,网络宽度或深度等其他架构细节似乎在很大范围内影响甚微。

        从实验和推导的方程可以看出,更大的模型具有更高的样本效率,即最佳计算效率训练涉及在相对适量的数据上训练非常大的模型,并在收敛之前显著停止。 ​ 

二、实验

为了研究语言模型的扩展,人们利用不同的因素训练了各种模型,包括:

  • 模型大小(N):大小范围从 768 到 15 亿个非嵌入参数。
  • 数据集大小(D):范围从 2200 万到 230 亿个标记。
  • 模型形状:包括深度、宽度、注意头、前馈维度。
  • 上下文长度:大多数运行为 1024,但也有一些实验使用较短的上下文。
  • 批次大小:大多数运行的批次大小为 2^19,但有一些变化来衡量临界批次大小。以临界批次大小进行训练可在时间和计算效率之间实现大致最佳的折衷。

我们还定义以下训练变量:L为测试交叉熵损失。C为训练模型所使用的计算量。

三、主要发现

  • 性能在很大程度上取决于模型规模,而与模型形状的关系较弱:模型性能在很大程度上取决于规模,它由三个因素组成:模型参数数量N(不包括嵌入)、数据集大小D以及用于训练的计算量C。在合理的范围内,性能对其他架构超参数(例如深度与宽度)的依赖性非常弱。
  • 平滑幂律:当不受其他两个因子的瓶颈影响时,性能与三个比例因子NDC中的每一个都具有幂律关系,趋势跨越六个数量级以上。

        随着我们增加用于训练的计算量、数据集大小和模型大小,语言建模性能会平稳提升。为了获得最佳性能,必须同时扩大这三个因素。

        论文区分了嵌入参数和非嵌入参数,因为它们的大小与模型性能的相关性不同。当包含嵌入参数时,性能似乎除了参数数量外,还在很大程度上取决于层数。当排除嵌入参数时,不同深度的模型的性能会收敛到单一趋势。

        左图:当包含嵌入参数时,性能似乎除了参数数量外,还在很大程度上取决于层数。右图:当排除嵌入参数时,不同深度的模型的性能收敛到单一趋势。

  • 过度拟合的普遍性:只要我们同时扩大ND ,性能就会可预测地提高,但如果ND保持不变而另一个增加,就会进入收益递减的阶段。

        早期停止测试损失可预测地取决于数据集大小 D 和模型大小 N。左图:对于较大的 D,性能是 N 的直接幂律。对于较小的固定 D,随着 N 的增加,性能停止改善,模型开始过拟合。右图:过拟合的程度主要取决于 N 和 D 之间的关系。

  • 训练的普遍性:训练曲线遵循可预测的幂律,其参数大致与模型大小无关。通过推断训练曲线的早期部分,可以粗略地预测如果训练更长时间将产生的损失。
  • 样本效率:大型模型比小型模型具有更高的样本效率,可以用更少的优化步骤和使用更少的数据点达到相同的性能水平。

        一系列语言模型训练运行,模型大小从 10^3 到 10^9 个参数(不包括嵌入)。

左图:早期停止测试损失 L(N, D) 随数据集大小 D 和模型大小 N 可预测地变化。右图:在初始过渡期之后,当以大批量进行训练时,所有模型大小 N 的学习曲线都可以用以步数 (Smin) 为参数的方程拟合。

  • 收敛效率低下:在固定的计算预算C内工作,但没有对模型大小N或可用数据D进行任何其他限制时,我们通过训练非常大的模型并在收敛前明显停止来获得最佳性能。

        随着可用的计算能力不断增强,可以选择将多少资源分配给训练更大的模型、使用更大的批次以及训练更多步骤。此图说明了计算能力增加十亿倍的情况。为了实现计算效率最高的训练,大部分增加的资源应该用于增加模型大小。需要相对较少的数据增加以避免重复使用。在增加的数据中,大部分可用于通过更大的批次大小来增加并行性,而只需要非常小的增加串行训练时间。

        综合这些结果表明,随着我们适当扩大模型规模、数据和计算能力,语言建模性能会平稳且可预测地提高。相反,我们发现对许多架构和优化超参数的依赖性非常弱。预计更大的语言模型将比当前模型表现更好,样本效率更高。

四、结论和后续步骤

        在训练大型语言模型时,可以使用NDL之间的关系来推导计算缩放、过度拟合的程度、早期停止步骤和数据要求。

        ​导出的缩放关系可用作预测框架。人们可能将这些关系解释为理想气体定律的类似物,该定律以通用方式关联气体的宏观属性,而不受其微观成分的大多数细节影响。 ​

        研究这些缩放关系是否适用于具有最大似然损失的其他生成建模任务,以及是否也适用于其他设置和领域(例如图像、音频和视频模型)将会很有趣。

        在本文中,我们了解了语言模型性能与模型大小、模型形状和计算预算之间的关系。这些关系可用于推导出我们想要训练的固定大型语言模型的最佳效率计算预算,反之亦然,用于在给定固定计算预算的情况下推导出最佳效率模型(就模型大小和形状而言)。

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

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

相关文章

【软件工程】【22.04】p1

关键字: 软件需求规约基本性质、数据字典构成、内聚程度最高功能内聚、公有属性、RUP实体类、评审、测试序列、软件确认过程、CMMI能力等级 软件需求分类、DFD数据流图组成(实体)、经典详细设计、数据耦合、关联多重性、状态图、黑盒测试、…

『Z-Weekly Feed 08』加密资产观 | FHE应用前景 | OPAL协议

一位机构投资者的加密资产观 作者:Hongbo 01 💡TL;DR 在加密投资领域如何找到真正的“价值”:Crypto 作为一种新兴资产,应该找到一种区别于传统公司股票资产的估值方法,本文重点阐述了加密货币作为新的资产类型与传统资…

全国实体商铺店铺商家采集工具,一键采集商家手机号,让你轻松找到目标客户

随着互联网的发展,越来越多的商家开始在网上开展业务,实体商铺的竞争也日益激烈。为了更好地吸引客户,很多商家都选择了线上推广和营销。然而,仅仅依靠线上推广是远远不够的,线下的实体商铺也需要积极拓展客源。因此&a…

AGI 之 【Hugging Face】 的[ 简单介绍 ] [ 基础环境搭建 ] 的简单整理

AGI 之 【Hugging Face】 的[ 简单介绍 ] [ 基础环境搭建 ] 的简单整理 目录 AGI 之 【Hugging Face】 的[ 简单介绍 ] [ 基础环境搭建 ] 的简单整理 一、简单介绍 二、Hugging Face 三、环境搭建 python 环境的搭建 Pycharm 环境搭建 1、下载 Pycharm 安装包 2、安装 …

高阶图神经网络 (HOGNN) 的概念、分类和比较

图神经网络(GNNs)是一类强大的深度学习(DL)模型,用于对相互连接的图数据集进行分类和回归。它们已被用于研究人类互动、分析蛋白质结构、设计化合物、发现药物、识别入侵机器、模拟单词之间的关系、寻找有效的交通路线…

Aquila-Med LLM:开创性的全流程开源医疗语言模型

​论文链接:https://arxiv.org/pdf/2406.12182 开源链接:https://huggingface.co/BAAI/AquilaMed-RL http://open.flopsera.com/flopsera-open/details/AquilaMed_SFT http://open.flopsera.com/flopsera-open/details/AquilaMed_DPO 近年来&#xf…

微服务改造启动多个 SpringBoot 的陷阱与解决方案

在系统运行了一段时间后,业务量上升后,生产上发现java应用内存占用过高,服务器总共64G,发现每个SpringBoot占用近12G的内存,我们项目采用微服务架构,有多个springboot应用。 一下子内存就不够用了&#xf…

番外篇 | YOLOv8算法解析和实战应用:车辆检测 + 车辆追踪 + 行驶速度计算

前言:Hello大家好,我是小哥谈。YOLOv8是ultralytics公司在2023年1月10号开源的,是YOLOv5的下一个重大更新版本,目前支持图像分类、物体检测和实例分割任务,在还没有开源时就收到了用户的广泛关注。它是一个SOTA模型,建立在以前YOLO版本的成功基础上,并引入了新的功能和改…

【Research】Model Stealing

What is Model Stealing? Extract an approximation that of the target model that “closely matches” the original Accuracy? Fidelity? Funtional equivalence? Threat Models API Access Model extraction using: Prediction Vectors Labels Only Model Access …

2024头歌数据库期末综合(部分题)

目录 第7关:数据查询三 任务描述 知识补充 答案 第8关:数据查询四 任务描述 知识补充 答案 本篇博客声明:所有题的答案不在一起,可以去作者博客专栏寻找其它文章。 第7关:数据查询三 任务描述 本关任务&#x…

[C++][数据结构][B-树][下]详细讲解

目录 1.B-树的实现1.B-树的结点设计2.插入key的过程3.B-树的插入实现4.B-树的简单验证5.B-树的性能分析6.B树的删除 2.B树3.B*树4.B-树总结5.B-树的应用0.B树可以在内存中做内查找吗?1.索引2.MYSQL索引简介1.MyISAM2.InnoDB 3.B树做主键索引相比B树的优势 1.B-树的实…

Mybatis-Plus多种批量插入方案对比

背景 六月某日上线了一个日报表任务,因是第一次上线,故需要为历史所有日期都初始化一次报表数据 在执行过程中发现新增特别的慢:插入十万条左右的数据,SQL执行耗费高达三分多钟 因很早就听闻过mybatis-plus的[伪]批量新增的问题&…

BL104应用在智慧零售多协议采集监控远程实时查看

在智慧零售领域,如今的市场竞争日益激烈,传统的零售模式已经难以满足消费者对服务和体验的高需求。智能化技术的引入,尤其是基于物联网的解决方案,成为提升零售业务效率和服务质量的关键。钡铼BL104 Modbus转MQTT网关作为一种先进…

Linux常用命令(17)—pastesortcomm命令(有相关截图)

写在前面: 最近在学习Linux命令,记录一下学习Linux常用命令的过程,方便以后复习。仅供参考,若有不当的地方,恳请指正。如果对你有帮助,欢迎点赞,关注,收藏,评论&#xf…

STM32单片机USART串口打印和收发数据

文章目录 1. 串口通信 1.1 串口初始化 1.2 库函数 2. 串口打印 2.1 Serial.c 2.2 Serial.h 2.3 main.c 3. 串口收发数据 3.1 Serial.c 3.2 Serial.h 3.3 main.c 1. 串口通信 对于串口通信的详细解析可以看下面这篇文章 STM32单片机USART串口详解-CSDN博客 STM32单片…

JDK18特性

JDK18特性 一、JAVA18概述 Java 18 在 2022 年 3 月 22 日正式发布,Java 18 不是一个长期支持版本,这次更新共带来 9 个新功能。 https://openjdk.org/projects/jdk/18/ 二、具体新特性 1. 默认UTF-8字符编码 JDK 一直都是支持 UTF-8 字符编码,这次是把 UTF-8 设置为了默…

基于SpringBoot+Vue在线考试报名系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

c++编译器优化不显示拷贝构造函数

一.错误情景&#xff08;无法打印拷贝函数&#xff09; #include<iostream> using namespace std;class person { public:person(){cout << "person默认构造函数调用" << endl;}person(int age){cout << "有参构造函数调用" <…

网络编程之XDP技术的基础eBPF

一、XDP和TC的技术支撑 在前面分析了XDP和TC技术&#xff0c;从它们的细节里可以看出&#xff0c;它们都在调用eBPF的钩子函数。那么eBPF是什么呢&#xff1f;在2021年曾经写过一篇《eBPF介绍》的初级文章&#xff0c;对eBPF做了一个入门级的普及。但是未曾在技术层面上进行展…

解决双击bootstrap.bat没有生成b2.exe文件

双击bootstrap.bat但是并没有没有生成b2.exe文件&#xff0c;会报如下错误&#xff1a; "cl" 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。D:\cppsoft\boost_1_85_0\tools\build\src\engine>dir *.exe 驱动器 D 中的卷是 Data 卷的序列号是…