openai 论文Scaling Laws for Neural Language Models学习
2001.08361 (arxiv.org)
论文研究语言模型在交叉熵损失下的性能经验缩放定律:模型损失(性能)随模型大小、数据集大小和用于训练的计算量呈现缩放为幂律的关系,有些趋势跨越超过 7 个数量级。其他模型架构细节 (如网络宽度或深度) 在很宽的范围内影响最小,使用简单方程来控制过拟合对模型/数据集大小的依赖性以及训练速度对模型大小的依赖性,这些依赖关系使我们能够计算预算固定的情况下确定最佳分配方案。较大的模型明显具有更高的样本效率,因此最佳计算效率的训练需要在相对少量的数据上训练非常大的模型,并在收敛之前显著停止。
主要发现如下:
性能高度取决于规模,弱于模型形状: 模型性能最强依赖于规模,规模由三个因素组成:模型参数的数量 N (不包括 embeddings),数据集的大小 D,以及计算量 C 用于训练。在合理的范围内,性能对其他架构超参数(如深度与宽度)的依赖性非常弱。(第3)
平滑幂律: 性能与三个比例因子中的每一个都有幂律关系 N, D, C 当不被其他两个瓶颈所限制时,趋势跨度超过 6 个数量级 (见图1)。我们没有观察到上端偏离这些趋势的迹象,尽管业绩在达到零损失之前最终必须趋于平稳。(第3)
过拟合的普遍性: 只要我们扩大规模,性能就会得到可预期的改善 N 和 D 同时,但进入收益递减的制度,如果其中之一 N 或 D 是固定的,而另一个是增加的。性能损失可预测地取决于比率N0.74/D 意味着每当我们将模型大小增加 8 倍时,我们只需要将数据增加大约 5 倍就可以避免损失。(第4)
培训的普遍性: 训练曲线遵循可预测的幂律,其参数大致与模型大小无关。通过外推训练曲线的早期部分,我们可以大致预测如果我们训练更长的时间,将获得的损失。(第5)
传输性能随测试性能的提高而提高: 当我们在文本上评估模型的分布不同于它们在其上训练的分布时,结果与训练验证集上的结果强相关,损失的偏移大致恒定——换句话说,转移到不同的分布会招致恒定的惩罚,但其他方面的改进大致与训练集上的性能一致。(第3.2.2)
样品效率: 大模型比小模型的样本效率更高,只需更少的优化步骤就能达到相同的性能水平 (图2)和使用较少的数据点 (图4).
收敛效率低: 在固定计算预算范围内工作时 C 但对模型大小没有任何其他限制 N 或可用数据D,我们通过训练获得最佳性能非常大的模型并停止收敛性明显不足 (参见图3)。因此,最大计算效率的训练将远比基于训练小模型收敛的预期的样本效率要高得多,数据需求增长非常缓慢,随着D ∼ C0.27 使用训练计算。(第6)
最佳批量: 训练这些模型的理想批量大小大致是损失的幂,并且可以通过测量梯度噪声规模来确定 [MKAT18]对于我们可以训练的最大模型,它在收敛时大约是 1-2 百万个令牌。(第5.1)
综上所述,这些结果表明,随着我们适当地扩大模型大小、数据和计算,语言建模性能可以平滑和可预测地提高。我们预计,与当前模型相比,更大的语言模型将表现更好,并具有更高的样本效率。
1.2 标度定律总结
当性能仅受非嵌入参数数量的限制时,可以使用幂律预测训练为自回归模型语言的 Transformer 的测试损失 N,数据集大小 D,或最佳分配的计算预算 Cmin (参见图1):
1. 对于参数数量有限的模型,在足够大的数据集上训练为收敛:![]()
2. 对于使用有限数据集训练的大型模型,提前停止:
![]()
3. 当使用有限的计算量进行训练时,一个足够大的数据集、一个最优大小的模型和一个足够小
的批处理大小 (使最优3 计算的使用):
![]()


等式(1.1) 和(1.2) 建议当我们增加模型大小时,我们应该根据
事实上,我们发现
有一个单一的方程结合(1.1) 和(1.2) 控制着同时依赖 N 和 D 并控制过拟合的程度:
![]()
与图中左图所示的配合4. 我们推测,这种函数形式也可以参数化其他生成式建模任务的训练对数似然。
当对给定模型进行有限数量的参数更新步骤训练时 S 在无限大的数据极限中,经过一个初始的瞬态周期后,学习曲线可以通过(见右图)精确拟合4)
![]()
其中
和
和
是优化步骤(参数更新)的最小可能数量使用等式估算(5.4). 在固定计算预算范围内进行培训时 C,但没有其他约束,方程(1.6) 导致预测最优模型大小 N,最佳批量大小 B,最佳步数 S 和数据集大小 D 应生长为![]()
与
这与经验上的最优结果非常吻合
和
作为计算预算 C 增加,它应该主要用于更大的模型,而不会大幅增加训练时间或数据集大小 (见图3)。这也意味着,随着模型的规模越来越大,它们的样本效率越来越高。在实践中,由于硬件限制,研究人员通常训练较小的模型的时间比最大计算效率要长。最佳性能取决于作为幂律的总计算量 (参见等式(1.3)). 我们为方程提供了一些基本的理论动因(1.5)、对学习曲线拟合及其对训练时间的影响的分析,以及对每个 token 的结果的细分。我们还对 LSTM 和 Rejection Transformer 做了一些简单的比较 [DGV+18].
相关文章:
openai 论文Scaling Laws for Neural Language Models学习
2001.08361 (arxiv.org) 论文研究语言模型在交叉熵损失下的性能经验缩放定律:模型损失(性能)随模型大小、数据集大小和用于训练的计算量呈现缩放为幂律的关系,有些趋势跨越超过 7 个数量级。其他模型架构细节 (如网络…...
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined
VUE_PROD_HYDRATION_MISMATCH_DETAILS 未明确定义。您正在运行 Vue 的 esm-bundler 构建,它期望这些编译时功能标志通过捆绑器配置全局注入,以便在生产捆绑包中获得更好的tree-shaking优化。 Vue.js应用程序正在使用ESM(ECMAScript模块&#…...
基于PHP技术的校园站的设计与实现
毕业论文(基于PHP技术的校园站的设计与实现) 基于PHP技术的校园网站的设计与实现校园网作为教育、教学、科研、管理等工作的平台和基础设施,它的建立有助于加强师生之间的交流,改变传统的教学模式和教育管理方式,对促…...
JVM回收机制与算法
jvm基本结构 JVM(Java虚拟机)是Java程序可以跨平台运行的关键。它负责将Java字节码转换为特定平台的机器码,使Java程序能够在不同的硬件和操作系统上运行而无需重新编译。JVM的基本结构主要包括以下几个核心部分: 类加载器&…...
24/11/14 算法笔记 GMM高斯混合模型
高斯混合模型(Gaussian Mixture Model,简称 GMM)是一种概率模型,用于表示具有多个子群体的数据集,其中每个子群体的数据分布可以用高斯分布(正态分布)来描述。GMM 是一种软聚类方法,…...
Linux下编译安装Nginx
以下是在Linux下编译安装Nginx的详细步骤: 一、安装依赖库 安装基本编译工具和库 在Debian/Ubuntu系统中,使用以下命令安装:sudo apt -y update sudo apt -y install build - essential libpcre3 - dev zlib1g - dev libssl - dev在CentOS/…...
算力100问☞第4问:算力的构成元素有哪些?
算力的构成元素是一个多维度且相互交织的体系,它融合了硬件基础设施、软件优化策略、数据处理效能以及分布式计算技术等多个层面,共同塑造了强大的计算能力。具体如下: 1、硬件基础设施 中央处理器(CPU):…...
安装paddle
网址:飞桨PaddlePaddle-源于产业实践的开源深度学习平台 或者找对应python和cuda版本的paddle下载后安装: https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html 你想要安装paddlepaddle - gpu2.6.1.post112版本。在你提供的文件列表中&am…...
飞凌嵌入式RK3576核心板已适配Android 14系统
在今年3月举办的RKDC2024大会上,飞凌嵌入式FET3576-C核心板作为瑞芯微RK3576处理器的行业首秀方案重磅亮相,并于今年6月率先量产发货,为客户持续稳定地供应,得到了众多合作伙伴的认可。 FET3576-C核心板此前已提供了Linux 6.1.57…...
SpringBoot+MyBatis+MySQL的Point实现范围查找
前言 最近做了一个功能,需要通过用户当前位置点获取指定范围内的数据。由于后端存储用的是 MySQL,故选择使用 MySQL 中的 Point 实现范围查找功能。ORM 框架用的是 MyBatis,MyBatis 原生并不支持 Point 字段与 POJO 的映射,需要自…...
【Apache Paimon】-- 1 -- Apache Paimon 是什么?
目录 1、简介 2、概览 3、哪些场景可以使用 Paimon 4、周边生态 5、小结 6、参考 1、简介 我们听说过数据仓库、数据湖、数据湖仓,那你听说过流式数据仓库(Stream warehouse,简称:Streamhouse)吗?那我们今天就来解锁看看他们之中的新秀: Apache paimon 到底是什么…...
解决VsCode无法跳转问题
在settings.json中加入以下代码 { "files.associations": { "*.c":"c", "*.h":"c", "*.s":"masm" }, "includePath":[ "${workspaceFold…...
优化C++设计模式:用模板代替虚函数与多态机制
文章目录 0. 引言1. 模板编程替换虚函数和多态的必要性1.1. MISRA C对类型转换和虚函数的规定1.2. 虚函数与多态问题的影响及如何适应MISRA C要求1.3. 模板编程的优势:替代虚函数和多态机制 2. 设计模式改进2.1. 单例模式的改进与静态局部变量的对比(第二种实现) 2.…...
浪浪云轻量服务器搭建vulfocus网络安全靶场
什么是网络安全靶场 网络安全靶场是一个模拟真实网络环境的训练平台,旨在为网络安全专业人员提供一个安全的环境来测试和提高他们的技能。靶场通常包括各种网络设备、操作系统、应用程序和安全工具,允许用户在其中进行攻击和防御练习。以下是网络安全靶…...
C++builder中的人工智能(23):在现代C++ Windows上轻松录制声音
在这篇文章中,我们将探讨如何在现代C Windows上轻松录制声音。声音以波形和数字形式存在,其音量随时间变化。在C Builder中,使用Windows设备进行录音非常简单。要录制声音,在多设备应用程序中,必须使用FMX.Media.hpp头…...
避免误差!Android 中正确计算时间差的方式
在 Android 开发中,计时和计算时间差异是非常常见的需求,比如记录事件发生的间隔、统计应用启动时间、测量网络请求的响应时间等。在实现这些功能时,我们通常需要一个可靠的时间源来确保计时的准确性。那么为什么 Android 推荐使用 SystemClo…...
unity3d————Resources异步加载
知识点一:Resources异步加载是什么? 在Unity中,资源加载可以分为同步加载和异步加载两种方式。同步加载会在主线程中直接进行,如果加载的资源过大,可能会导致程序卡顿,因为从硬盘读取数据到内存并进行处理…...
YOLOv11改进,YOLOv11添加GnConv递归门控卷积,二次创新C3k2结构
摘要 视觉 Transformer 在多种任务中取得了显著的成功,这得益于基于点积自注意力的新空间建模机制。视觉 Transformer 中的关键因素——即输入自适应、长距离和高阶空间交互——也可以通过卷积框架高效实现。作者提出了递归门控卷积(Recursive Gated Convolution,简称 gnCo…...
如何选择国产化CMS来建设政务网站?
在介绍CMS之前,我们先了解国家为什么要网站为什么要完成国产化改造? 1、信创国产化网站建站响应了国家的信息安全战略,支持自主可控的信息技术产业的发展,减少对进口软硬件的依赖,保障国家信息安全。 2、国产替代&…...
C/C++语言基础--initializer_list表达式、tuple元组、pair对组简介
本专栏目的 更新C/C的基础语法,包括C的一些新特性 前言 initializer_list表达式、tuple元组、pair对组再C日常还是比较常用的,尤其是对组在刷算法还是挺好用的,这里做一个简介;这三个语法结合C17的结构化绑定会更好用ÿ…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
