当前位置: 首页 > news >正文

大语言模型的Scaling Law【Power Low】

NLP-大语言模型学习系列目录

一、注意力机制基础——RNN,Seq2Seq等基础知识
二、注意力机制【Self-Attention,自注意力模型】
三、Transformer图文详解【Attention is all you need】
四、大语言模型的Scaling Law【Power Low】

文章目录

  • NLP-大语言模型学习系列目录
  • 一、什么是 Scaling Law
  • 二、 Scaling Law的应用
    • (1)最佳模型参数,数据量求解方法
    • (2)LLaMA3.1中的Scaling Law
    • (3)计算实例【根据计算量和数据量,求最佳模型大小】
  • 三、未来挑战
  • 参考资料


一、什么是 Scaling Law

Scaling Law(缩放法则)是人工智能和机器学习中一类理论,它描述了随着模型规模(例如参数数量)、训练数据量、计算资源的增加,模型性能如何提升的规律。简单来说,Scaling Law 研究的是模型性能与模型规模之间的关系

定义【Scaling Law】1

在生成模型中被广泛观察到的现象,对于计算量C,模型参数量N和数据大小D,当不受另外两个因素影响时,模型的性能与每个因素都呈幂律关系:

  • 性能 ∝ N α \propto N^{\alpha} Nα
  • 性能 ∝ D β \propto D^{\beta} Dβ
  • 性能 ∝ C γ \propto C^{\gamma} Cγ

这些公式中的 α、β、γ 是对应维度的缩放指数。通常模型性能可以用Test Loss来表示,Loss越小说明模型性能越好。

截屏2024-10-19 10.54.28

Scaling Law背后的基本思想是:模型的性能可以通过简单的扩展(例如增加模型参数、训练数据或计算资源)来不断提升,并且这种提升往往遵循一定的幂律关系。通过研究这种关系,研究者可以预测模型在不同规模下的性能表现,指导大模型的设计和训练。

二、 Scaling Law的应用

Scaling Law总结出来的一个规律是:
C ≈ 6 N D C\approx6ND C6ND

其中C是计算量,N是参数量,D是训练数据量。举个例子:

假设一个模型有 10亿个参数( N = 1 0 9 N=10^9 N=109 ), 并且训练数据集的规模是 D = 1 0 12 \mathrm{D}=10^{12} D=1012 (1万亿个 token).使用公式 C = 6ND, 总的计算量就是:

C = 6 × 1 0 9 × 1 0 12 = 6 × 1 0 21 F L O P s C=6 \times 10^9 \times 10^{12}=6 \times 10^{21} \mathrm{FLOPs} C=6×109×1012=6×1021FLOPs
这表明要训练这个模型, 大约需要 6 × 1 0 21 6\times 10^{21} 6×1021 次浮点运算。

截屏2024-09-25 19.46.14
这个规律有什么用呢?通过前面的Scaling Law我们知道,训练大模型时,增加模型的参数量或者训练的数据量,模型性能会得到提升。但是我们并不能无止境的增加,因为现实训练模型收到计算量的制约,训练一个语言大模型是很费钱的。所以当给定一个计算量budget,我们怎么分配N和D得到一个最好的模型呢

(1)最佳模型参数,数据量求解方法

上面的问题可以建模为如下的优化问题:

N o p t ( C ) , D o p t ( C ) = argmin ⁡ N , D s.t. FLOPs ( N , D ) = C L ( N , D ) , L ^ ( N , D ) ≜ E + A N α + B D β . N_{opt}(C),D_{opt}(C)=\underset{N,D\text{ s.t. FLOPs}(N,D)=C}{\operatorname*{argmin}}L(N,D),\\ \hat{L}(N,D)\triangleq E+\frac A{N^\alpha}+\frac B{D^\beta}. Nopt(C),Dopt(C)=N,D s.t. FLOPs(N,D)=CargminL(N,D),L^(N,D)E+NαA+DβB.

这个多变量问题怎么解呢?主要有三种方法:

  1. 固定模型大小,改变训练数据
  2. 固定计算量,改变模型大小
  3. 拟合幂律曲线

截屏2024-09-26 10.00.51

根据上表的结果,得出a=0.5,b=0.5

截屏2024-09-26 10.33.08

image-20240926103233403根据图3右边两图所得到的点,向外延伸,可以得到给定计算量C最佳的N、D.

截屏2024-09-26 10.35.43

image-20240926103557968

(2)LLaMA3.1中的Scaling Law

如下图所示,是LLaMA3.1中的Scaling Law,LLaMA3.1发布了3个模型,分别是8B,70B,405B.这个405B是怎么定下来的呢,难道是领导拍脑袋想出来的吗(国内可能是hh).显然他们做了实验,先在小数据和小模型上进行实验(左图),然后根据实验结果画出Scaling Law曲线,找到对应计算量的最优模型大小和最优训练数据量。
截屏2024-09-26 10.42.58

(3)计算实例【根据计算量和数据量,求最佳模型大小】

例:

  • 假设你有1000张H100显卡,并且可以用6个月。
  • 假设你有10T的数据。
  • 那么你应该训练多大的模型?

image-20240927145027916

另一种更快的估计方法:

image-20240927145042459

三、未来挑战

尽管 Scaling Law 提供了重要的理论指导,仍然存在一些挑战:

  • 计算成本问题:大规模扩展模型的参数和训练数据通常需要极高的计算成本。虽然 Scaling Law 提供了理论依据,但大规模训练的实际成本可能难以承受。
  • 数据质量:Scaling Law 假设数据量的增加会提升模型性能,但在实际应用中,数据的质量同样至关重要,低质量数据可能会导致性能下降甚至模型偏差。
  • 性能饱和:Scaling Law 研究表明,性能提升并不是无限的,通常会在某个点达到瓶颈。因此,研究者需要找到其他方法(如新架构、知识蒸馏)来进一步提高性能。

参考资料


  1. Scaling Laws for Neural Language Models【paper】 ↩︎

相关文章:

大语言模型的Scaling Law【Power Low】

NLP-大语言模型学习系列目录 一、注意力机制基础——RNN,Seq2Seq等基础知识 二、注意力机制【Self-Attention,自注意力模型】 三、Transformer图文详解【Attention is all you need】 四、大语言模型的Scaling Law【Power Low】 文章目录 NLP-大语言模型学习系列目录一、什么是…...

windows环境下,使用docker搭建redis集群

参考: https://blog.csdn.net/weixin_46594796/article/details/137864842 https://www.cnblogs.com/niceyoo/p/14118146.html 史上最详细Docker搭建Redis Cluster集群环境 值得收藏 每步都有图,不用担心学不会-腾讯云开发者社区-腾讯云 一、基础环境描述 宿主机:192.168…...

Python(pandas库3)

函数 随机抽样 语法: n:要抽取的行数 frac:抽取的比例,比如 frac0.5,代表抽取总体数据的50% axis:示在哪个方向上抽取数据(axis1 表示列/axis0 表示行) 案例: 输出结果都为随机抽取。 空…...

WPF+MVVM案例实战(十)- 水波纹按钮实现与控件封装

文章目录 1、运行效果1、封装用户控件1、创建文件2、依赖属性实现2、使用封装的按钮控件1.主界面引用2.按钮属性设置3 总结1、运行效果 1、封装用户控件 1、创建文件 打开 Wpf_Examples 项目,在 UserControlLib 用户控件库中创建按钮文件 WaterRipplesButton.xaml ,修改 Us…...

数据结构————map,set详解

今天带来map和set的详解&#xff0c;保证大家分清楚 一&#xff0c;概念 map和set是一种专门用来搜索的容器或数据结构 map能存储两个数据类型&#xff0c;我们称之为<key-value>模型 set只能存储一个数据类型&#xff0c;我们称之为纯<key>模型 它们的效率都非…...

fdisk - Linux下的磁盘分区利器

文章目录 前言一、安装和启动二、基本命令2.1 查看分区表2.2 删除分区2.3 创建新分区2.4 更改分区类型2.5 其他指令 三、注意事项四、其他相关工具 前言 在Linux系统中&#xff0c;磁盘管理是维护系统性能和数据安全的重要环节。fdisk 是一个强大的命令行工具&#xff0c;专门…...

or-tools优化库记录

介绍 Or-tools是谷歌人工智能系列的运筹优化包&#xff0c;是一个用于优化的开源软件套件&#xff0c;针对性地解决车辆路线问题、流程优化、整数和线性规划以及约束规划等问题。 官网地使用说明比我详细&#xff0c;我就不多逼逼了 使用说明网址&#xff1a; https://develo…...

M1 Pro MacBook Pro 上的奇遇:Rust 构建失败,SIGKILL 惊魂记

你是否也曾在 M1 Pro MacBook Pro 上遇到过离奇的编译问题&#xff1f;这次我遇到的奇葩问题绝对值得一聊——一个仅在苹果M1 Pro上的神秘构建失败。其他设备都安然无恙&#xff0c;唯独它&#xff01;折腾了一番&#xff0c;终于让我揭开了这“阴谋”的真相。 问题描述 在运…...

重构商业生态:DApp创新玩法与盈利模式的深度剖析

随着区块链技术的发展&#xff0c;DApp&#xff08;去中心化应用&#xff09;正在从实验走向成熟。DApp以去中心化、透明性和不可篡改性为基础&#xff0c;结合智能合约&#xff0c;逐步改变传统商业运作模式&#xff0c;创造新的市场生态。本文将从DApp的独特优势、创新玩法和…...

2024首届亚洲国际电影节圆满落下帷幕

10月26日下午&#xff0c;2024首届亚洲国际电影节颁奖典礼在中国•澳门隆重举行。在这座充满时尚感的“东亚文化之都”&#xff0c;一座座金鹮奖杯&#xff0c;汇聚起全球电影艺术的荣耀之光&#xff0c;见证着无数电影梦想的傲然绽放。明星云集欢聚一堂&#xff0c;同庆澳门回…...

【Mybatis】动态SQL+配置文件+数据库连接池+企业规范(10)

本系列共涉及4个框架&#xff1a;Sping,SpringBoot,Spring MVC,Mybatis。 博客涉及框架的重要知识点&#xff0c;根据序号学习即可。 目录 本系列共涉及4个框架&#xff1a;Sping,SpringBoot,Spring MVC,Mybatis。 博客涉及框架的重要知识点&#xff0c;根据序号学习即可。 …...

layui扩展组件之----右键菜单

源码&#xff1a;rightmenu.js layui.define([element], function (exports) {let element layui.element;const $ layui.jquery;let MOD_NAME rightmenu;let RIGHTMENUMOD function () {this.v 1.0.0;this.author raowenjing;};String.prototype.format function () {…...

ue5实现数字滚动增长

方法1 https://www.bilibili.com/video/BV1h14y197D1/?spm_id_from333.999.0.0 b站教程 重写loop节点 方法二 写在eventtick里...

Flink(一)

目录 架构处理有界与无界数据部署应用到任意地方运行任意规模应用利用内存性能 流应用流处理应用的基本组件流状态时间 应用场景事件驱动应用事件驱动应用的优势Flink如何支持事件驱动应用&#xff1f; 典型的事件驱动示例 数据分析应用流式分析应用的优势&#xff1f;Flink 如…...

kaggle 数据集下载

文章目录 kaggle 数据集下载&#xff08;1&#xff09; 数据集下载&#xff08;2&#xff09; 手机号验证 kaggle 数据集下载 这两天想学习 kaggle 赛事 把深度学习相关的内容自己给过一遍&#xff0c;快忘得差不多了&#xff0c;惭愧。 参考了好多帖子&#xff0c;使用命令行…...

Linux shell编程学习笔记87:blkid命令——获取块设备信息

0 引言 在进行系统安全检测时&#xff0c;我们需要收集块设备的信息&#xff0c;这些可以通过blkid命令来获取。 1 blkid命令的安装 blkid命令是基于libblkid库的命令行工具&#xff0c;可以在大多数Linux发行版中使用。 如果你的Linux系统中没有安装blkid命令&#xff0c;…...

wireshark筛选条件整理

Wireshark筛选条件整理 一、MAC地址过滤二、IP地址过滤三、端口过滤四、协议筛选五、数据分析1、整体2、frame数据帧分析3、 Ethernet II 以太网4、IP协议5、TCP6、HTTP7、ARP8、DLEP动态链接交换协议 六、统计-协议分级&#xff08;统计包占比&#xff09; and && 、 …...

基于现代 C++17 的模块化视频质量诊断处理流程设计

文章目录 0. 引言1. 原始设计分析2. 新的设计思路2.1 定义通用的检测接口2.2 使用 std::function 和 std::any 管理检测模块2.3 构建可动态配置的检测管道 3. 示例实现3.1 定义检测接口和模块3.1.1 检测接口3.1.2 信号检测模块3.1.3 冻结检测模块3.1.4 其他检测模块 3.2 构建检…...

高级java每日一道面试题-2024年10月23日-JVM篇-说一下JVM有哪些垃圾回收算法?

如果有遗漏,评论区告诉我进行补充 面试官: 说一下JVM有哪些垃圾回收算法? 我回答: 在 Java 虚拟机 (JVM) 中&#xff0c;垃圾回收 (Garbage Collection, GC) 是一项非常重要的功能&#xff0c;用于自动管理应用程序的内存。JVM 采用多种垃圾回收算法来决定何时以及如何回收…...

高效文本编辑与导航:Vim中的三种基本模式及粘滞位的深度解析

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…...

w005基于Springboot学生心理咨询评估系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…...

实战-任意文件下载

实战-任意文件下载 1、开局 开局一个弱口令&#xff0c;正常来讲我们一般是弱口令或者sql&#xff0c;或者未授权 那么这次运气比较好&#xff0c;直接弱口令进去了 直接访问看看有没有功能点&#xff0c;正常做测试我们一定要先找功能点 发现一个文件上传点&#xff0c;不…...

PG数据库之视图详解

1. 视图的基本定义 在PostgreSQL&#xff08;简称pg&#xff09;数据库中&#xff0c;视图&#xff08;View&#xff09;是一种虚拟表&#xff0c;其内容由SQL查询定义。视图并不实际存储数据&#xff0c;而是在每次查询时根据定义的查询语句动态生成结果。视图可以简化复杂的…...

时间序列预测(十五)——有关Python项目框架的实例分析

#1024程序员节&#xff5c;征文# 在之前的学习中&#xff0c;已经对时间序列预测的相关内容有了大致的了解。为了进一步加深理解&#xff0c;并能够将所学知识应用于实际中&#xff0c;我决定找一个完整的Python框架来进行深入学习。经过寻找&#xff0c;我终于找到了一篇非常具…...

ETL、ELT和反向ETL都有什么不同?怎么选择?

数据处理是现代企业中不可或缺的一部分。随着数据量的不断增长&#xff0c;如何高效地处理、转换和加载数据变得尤为重要。本文将介绍三种常见的数据处理方式&#xff1a;ETL、ELT和反向ETL&#xff0c;帮助读者更好地理解和选择适合自己业务需求的方式。 一、ETL 定义&#…...

linux 中文实用型手册 基于RHEL(红帽系)

硬件系统 Updated by wangjing on 2024-10-28 at 02:36:57 in Tongzhou District, Beijing. 硬件信息 机器型号 dmidecode | grep "Product Name"CPU型号 cat /proc/cpuinfo |grep "model name" | uniqWWWCPU详情 lscpuCPU个数 cat /proc/cpuinfo |grep &q…...

Hash表算法

哈希表 理论知识&#xff08;本文来自于代码随想录摘抄&#xff09;什么是哈希常见的三种哈希结数组&#xff1a;set:map:其他常用方法或者技巧&#xff08;自己总结的&#xff09; 练习题和讲解有效的字母移位词349. 两个数组的交集1. 两数之和454. 四数相加 II15. 三数之和 总…...

MySQL企业常见架构与调优经验分享

文章目录 一、选择 PerconaServer、MariaDB 还是 MYSQL二、常用的 MYSQL 调优策略三、MYSOL 常见的应用架构分享四、MYSOL 经典应用架构 观看学习课程的笔记&#xff0c;分享于此~ 课程&#xff1a;MySQL企业常见架构与调优经验分享 mysql官方优化文档 调优MySQL参数 一、选择 …...

C++引用类型变量

引用变量的主要用途是用作函数的形参。这样函数将使用原始数据&#xff0c;而不是副本。除指针之外&#xff0c;引用也为处理大型结构提供了一种非常方便的途径。 再C中使用&符号标识引用。也就是说C给&符号赋予了另一个含义&#xff0c;将其用来声明引用。 引用的声…...

《C++23 新特性:现代软件开发的变革力量》

在软件开发的快速演进中&#xff0c;C作为一种强大且广泛应用的编程语言&#xff0c;不断推陈出新以适应日益复杂的开发需求。C23 的到来&#xff0c;为现代软件开发带来了诸多新的机遇和挑战。它的新特性不仅影响着开发者的编程习惯&#xff0c;也在代码效率、可维护性以及软件…...

做网站建本地环境作用/seo网站推广的主要目的包括

前面说完了此项目的创建及数据模型设计的过程。如果未看过&#xff0c;可以到这里查看&#xff0c;并且项目源码已经放大到github上,可以去这里下载。代码也已经部署到sina sea上&#xff0c;地址为http://fengzheng.sinaapp.com/先跳过视图展示及表单处理的部分&#xff0c;先…...

jsp电商网站开发教程/seox

PHP支持下列8种类型 标量类型 scalar type整数 integer浮点数 float double布尔 boolean字符串 string 特殊类型 special typeNULL资源 resource 符合类型 compound type数组 array对象 object 整数echo (10); //显示十进制整数10echo (010); //显示八进制整数8echo (0x10); //…...

手机怎样做网站图解/win7系统优化软件

Unity上对于图像的处理&#xff0c;假设单纯使用代码。那么非常遗憾&#xff0c;程序基本会跑死&#xff0c;毕竟是直接对像素的操作&#xff0c;读取写入都是比較耗费CPU和内存的。所以。这次由于项目须要想实现类似哈哈镜的效果。想来想去&#xff0c;还是认为用unity的Shade…...

免费创办网站/html网页制作app

大小&#xff1a;55.24MB语言&#xff1a;简体分类&#xff1a; 网页辅助版本&#xff1a; 电脑版立即下载 查看详情本文将给大家介绍如何使用八爪鱼采集器采集分页列表页面上的信息&#xff0c;并附带给大家讲一下ajax延时设置。目的是让大家了解怎么创建循环翻页并能正常采集…...

360度搜索建站网/网站推广公司排名

今天弄了一上午的python-ldap,发现要么安装vc&#xff0c;要么用其他比较麻烦的方法&#xff0c;都比较麻烦。幸好找到这个地址&#xff1a; http://www.lfd.uci.edu/~gohlke/pythonlibs/ http://www.voidspace.org.uk/python/modules.shtml 这上面有很多python第三方包的二进制…...

厦门律师网站建设/搜索词分析

说明&#xff1a;PMI的很多考试题目中&#xff0c;可能有不止一个正确答案&#xff0c;要选择一个相对最正确的答案。从什么角度来判断相对性最正确的&#xff0c;从本三十六计中的几个角度&#xff1a;“相对首先”、“相对首要”、“相对全面”、“相对积极主动”、“相对相关…...