面试时被问到“Scaling Law”,该怎么答?

在大模型的研发中,通常会有下面一些需求:

  • 计划训练一个 10B 的模型,想知道至少需要多大的数据?

  • 收集到了 1T 的数据,想知道能训练一个多大的模型?

  • 老板准备 1 个月后开发布会,给的资源是 100 张 A100,应该用多少数据训多大的模型效果最好?

  • 老板对现在 10B 的模型不满意,想知道扩大到 100B 模型的效果能提升到多少?

以上这些问题都可以基于 Scaling Law 的理论进行回答。本文是阅读了一系列 Scaling Law 的文章后的整理和思考,包括 Scaling Law 的概念和推导以及反 Scaling Law 的场景,不当之处,欢迎指正。

01 核心结论

大模型的 Scaling Law 是 OpenAI 在 2020 年提出的概念,具体如下:

(1) 对于 Decoder-only 的模型,计算量 C(Flops), 模型参数量 N,数据大小 D(token 数),三者满足:C≈6ND。(推导见本文最后)

(2) 模型的最终性能主要与计算量 C,模型参数量 N 和数据大小 D 三者相关,而与模型的具体结构(层数/深度/宽度)基本无关。

图片

固定模型的总参数量,调整层数/深度/宽度,不同模型的性能差距很小,大部分在 2% 以内。

(3) 对于计算量 𝐶,模型参数量 𝑁 和数据大小 𝐷,当不受其他两个因素制约时,模型性能与每个因素都呈现幂律关系。

图片

(4) 为了提升模型性能,模型参数量 N 和数据大小 D 需要同步放大,但模型和数据分别放大的比例还存在争议。

(5) Scaling Law 不仅适用于语言模型,还适用于其他模态以及跨模态的任务:

图片

图片

02 核心公式

如下图:

图片

图片

03 大模型中的Scaling Law

1.GPT4

下图是 GPT4 报告中的 Scaling Law 曲线,计算量 C 和模型性能满足幂律关系。

图片

横轴是归一化之后的计算量,假设 GPT4 的计算量为 1。基于 10,000 倍小的计算规模,就能预测最终 GPT4 的性能。

纵轴是"Bits for words", 这也是交叉熵的一个单位。在计算交叉熵时,如果使用以 2 为底的对数,交叉熵的单位就是 “bits per word”,与信息论中的比特(bit)概念相符。所以这个值越低,说明模型的性能越好。

2.Baichuan2

下图是 Baichuan2 技术报告中的 Scaling Law 曲线。基于 10M 到 3B 的模型在 1T 数据上训练的性能,可预测出最后 7B 模型和 13B 模型在 2.6T 数据上的性能。

图片

3.MindLLM

下图是 MindLLM 技术报告中的 Scaling Law 曲线。基于 10M 到 500M 的模型在 10B 数据上训练的性能,预测出最后 3B 模型在 500B 数据上的性能。

图片

04 Scaling Law实操:计算效率最优

根据幂律定律,模型的参数固定,无限堆数据并不能无限提升模型的性能,模型最终性能会慢慢趋向一个固定的值。

图片

图片

图片

图片

按照上面的思路,下面进行 Scaling Law 的实操。

首先准备充足的数据(例如 1T),设计不同模型参数量的小模型(例如 0.001B - 1B),独立训练每个模型,每个模型都训练到基本收敛(假设数据量充足)。

根据训练中不同模型的参数和数据量的组合,收集计算量与模型性能的关系。

然后可以进一步获得计算效率最优时,即同样计算量下性能最好的模型规模和数据大小的组合,模型大小与计算量的关系,以及数据大小与计算量的关系。

图片

图片

图片

图片

具体最好在自己的数据上做实验来获得你场景下的 a 和 b。

05 LLaMA:反Scaling Law的大模型

假设遵循计算效率最优来研发 LLM,那么根据 Scaling Law,给定模型大小,可以推算出最优的计算量,进一步根据最优计算量就能推算出需要的 token 数量,然后训练就行。

但是计算效率最优这个观点是针对训练阶段而言的,并不是推理阶段,实际应用中推理阶段效率更实用。

Meta 在 LLaMA 的观点是:给定模型的目标性能,并不需要用最优的计算效率在最快时间训练好模型,而应该在更大规模的数据上,训练一个相对更小模型,这样的模型在推理阶段的成本更低,尽管训练阶段的效率不是最优的(同样的算力其实能获得更优的模型,但是模型尺寸也会更大)。

根据 Scaling Law,10B 模型只需要 200B 的数据,但是作者发现 7B 的模型性能在 1T 的数据后还能继续提升。

图片

所以 LLaMA 工作的重点是训练一系列语言模型,通过使用更多的数据,让模型在有限推理资源下有最佳的性能。

具体而言,确定模型尺寸后,Scaling Law 给到的只是最优的数据量,或者说是一个至少的数据量,实际在训练中观察在各个指标上的性能表现,只要还在继续增长,就可以持续增加训练数据。

图片

06 计算量、模型和数据大小的关系推导

对于 Decoder-only 的模型,计算量C(Flops),模型参数量 N(除去 Embedding 部分),数据大小 D(token 数),三者的关系为: C≈6ND。

推导如下,记模型的结构为:

图片

继续推导模型的前向推理的计算量:

图片

self-attention 部分的计算:

图片

MLP 部分的计算:

图片

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

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

相关文章

Linux安装Nginx教程(rpm安装方式)

本章教程,主要介绍如何在Linux Centos7系统上,使用rpm的方式进行安装Nginx。 一、安装wget插件 如果不存在wget下载插件,需要安装一下。 yum install -y wget二 、下载rpm安装包 官方提供的rpm下载地址:https://nginx.org/packages/centos/7/x86_64/RPMS/ <

【Nginx系列】499错误

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Postman常见问题及解决方(全)

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、网络连接问题 如果Postman无法发送请求或接收响应&#xff0c;可以尝试以下操作&#xff1a; 检查网络连接是否正常&#xff0c;包括检查网络设置、代理设置…

软考中级嵌入式系统设计师笔记分享(二)

1.TTL 电路是电流控制器件&#xff0c;而CMOS 电路是电压控制器件。 2.TTL 电路的速度快&#xff0c;传输延迟时间短(5-10ns)&#xff0c;但是功耗大。 常见的串行总线有 SPI、II2C、USB、RS232/RS422/RS485、CAN等;高速串行总线主要有 SATA、PCIE、IEEE 1394、Rapidl0、USB 3…

1.DBeaver连接hive数据库

1.hive开启远程服务&#xff0c;linux中直接输入&#xff1a;hiveserver2 2.解压dbeaver和hive-jdbc-2.1.1.zip 3.双击打开 4.数据库&#xff0c;新建连接 5.搜索hive 6.配置参数 7.编辑驱动设置 8.添加jar包 9.测试连接 10.右击&#xff0c;新建sql编辑器 11.执行sql 12.调整字…

【每日一题】LeetCode - 整数转罗马数字

在罗马数字系统中&#xff0c;七个不同的符号代表不同的值&#xff1a; 符号值I1V5X10L50C100D500M1000 罗马数字的表示方式是从最大值开始逐次减去每个符号的值&#xff0c;通过组合这些符号构建最终的表示形式。本文将介绍一个基于贪心策略的解决方案&#xff0c;将整数转换…

unity开发之Line Renderer

Line Renderer 是一个有用的工具&#xff0c;可让您在游戏中绘制线条。 它可以用作游戏的函数或调试标记。 在这里&#xff0c;让我们创建一个程序&#xff0c;根据基本用法在 Line Renderer 上移动。 目录 如何使用 Line Renderer 和基础知识 在场景中放置 Line Renderer关键组…

Catalan数 C++解决

输入描述 输入一个正整数n。 输出描述 输出Catalan数的前n项。 用例输入 1 0 用例输出 1 1 用例输入 2 5 用例输出 2 1 1 2 5 14 42 #include<bits/stdc.h> using namespace std; int main() {int n;cin>>n;int dp[n1]{0};dp[0]dp[1]1;for(int m2;…

守护头顶安全——AI高空抛物监测,让悲剧不再重演

在城市的喧嚣中&#xff0c;我们享受着高楼林立带来的便捷与繁华&#xff0c;却往往忽视了那些隐藏在高空中的危险。近日&#xff0c;震惊全国的高空抛物死刑案件被最高院核准并执行。案件中被告人多次高空抛物的举动&#xff0c;夺去了无辜者的生命&#xff0c;也让自己付出了…

Go 语言中的 for range 循环教程

在 Go 语言中&#xff0c;for range 循环是一个方便的语法结构&#xff0c;用于遍历数组、切片、映射和字符串。本教程将通过示例代码来帮助理解如何在 Go 中使用 for range 循环。 package mainimport "fmt"func main() {// 遍历切片并计算和nums : []int{2, 3, 4}…

Kafka-代码示例

一、构建开发环境 File > New > Project 选择一个最简单的模板 项目和坐标命名 配置maven路径 添加maven依赖 <dependencies><!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients --><dependency><groupId>org.apache.kaf…

深度学习 基本函数01

np.dot 是 NumPy 库中的一个函数&#xff0c;用于计算两个数组的点积&#xff08;也称为内积或数量积&#xff09;。点积是两个向量的对应元素乘积之和。 np.random.normal 是 NumPy 库中的一个函数&#xff0c;用于生成符合正态分布&#xff08;也称为高斯分布&#xff09;的…

项目管理软件中这6个小技巧帮助项目经理同时管理多个项目

在网上看到一个数据&#xff0c;只有15%的项目经理一次只需要负责一个项目&#xff0c;其他的项目经理都需要同时负责多个项目&#xff0c;甚至有15%的项目经理一次需要负责10个以上的项目。 我在工作中&#xff0c;也只有很少很少的时间里&#xff0c;是一次性只负责一个项目…

目标检测——yolov5-3.1的环境搭建和运行

第一步&#xff1a;安装anaconda环境&#xff0c;并且配置好cuda&#xff0c;安装需要的基本包 查看对应cuda版本&#xff0c;后续下载cudatoolkit需要对应版本 nvcc -V 第二步&#xff1a;创建虚拟环境&#xff0c;激活环境&#xff0c;安装所需的包 conda create -n yolo…

Visual studio 下载安装

1&#xff0c;Visual stutdio 网址 下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux 2&#xff0c;下划页面&#xff0c;点击 较早的下载 3&#xff0c;选择对应的版本进行下载

《深度学习》YOLO v1网络架构 、损失值、NMS极大值抑制

目录 一、Yolo系列v1 1、核心思想 2、示例 3、流程图解析 二、YOLO系列v1损失函数 1、位置误差 2、置信度误差 3、类别概率损失 三、NMS非极大值抑制 1、概念 2、步骤 四、YOLO v1优缺点 1、优点 1&#xff09;速度快 2&#xff09;端到端 3&#xff09;多尺度…

docker 可用镜像服务地址(2024.10.25亲测可用)

1.错误 Error response from daemon: Get “https://registry-1.docker.io/v2/” 原因&#xff1a;镜像服务器地址不可用。 2.可用地址 编辑daemon.json&#xff1a; vi /etc/docker/daemon.json内容修改如下&#xff1a; {"registry-mirrors": ["https://…

光伏业务管理软件:提升企业管理效率的利器

一、优化业务流程 光伏业务管理软件能够对企业的各项业务流程进行全面梳理和优化。从项目前期的规划设计、设备采购&#xff0c;到项目建设中的施工管理、质量控制&#xff0c;再到项目后期的运维服务&#xff0c;软件都可以进行有效的跟踪和管理。 通过规范业务流程&#xf…

银行客户贷款行为数据挖掘与分析

#1024程序员节 | 征文# 在新时代下&#xff0c;消费者的需求结构、内容与方式发生巨大改变&#xff0c;企业要想获取更多竞争优势&#xff0c;需要借助大数据技术持续创新。本文分析了传统商业银行面临的挑战&#xff0c;并基于knn、逻辑回归、人工神经网络三种算法&#xff0…

Spring Boot框架下中小企业设备管理系统开发

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理中小企业设备管理系统的相关信息成为必然。…