0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

大模型的Scaling Law的概念和推导

深度学习自然语言处理 来源:知乎 2023-11-29 14:28 次阅读

作者:nghuyong

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

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

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

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

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

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

核心结论

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

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

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

31fcb884-8e70-11ee-939d-92fbcf53809c.png

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

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

32087e6c-8e70-11ee-939d-92fbcf53809c.png

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

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

32100722-8e70-11ee-939d-92fbcf53809c.png

这里横轴单位为PF-days: 如果每秒钟可进行次运算,就是1 peta flops,那么一天的运算就是这个算力消耗被称为1个petaflop/s-day。

核心公式

(�)=�∞+(�0�)�

3214b344-8e70-11ee-939d-92fbcf53809c.png

第一项是指无法通过增加模型规模来减少的损失,可以认为是数据自身的熵(例如数据中的噪音)

第二项是指能通过增加计算量来减少的损失,可以认为是模型拟合的分布与实际分布之间的差。根据公式,增大(例如计算量),模型整体loss下降,模型性能提升;伴随趋向于无穷大,模型能拟合数据的真实分布,让第二项逼近0,整体趋向于

大模型中的scaling law

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

321c9bcc-8e70-11ee-939d-92fbcf53809c.png

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

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

Baichuan2

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

32344484-8e70-11ee-939d-92fbcf53809c.png

MindLLM

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

323b3a14-8e70-11ee-939d-92fbcf53809c.png

Scaling Law实操: 计算效率最优

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

3243b540-8e70-11ee-939d-92fbcf53809c.png

如图所示,如果模型的参数量为(图中紫色的线),在数量达到,模型基本收敛。所以在数据量达到后,继续增加数据产生的计算量,没有同样计算量下提升模型参数量带来的收益大(计算效率更优)。根据,可以进一步转换成模型参数与计算量的关系,即: 模型参数为,在计算量为Flops,即PF-days时基本收敛。也就是右图中紫色线的拐点。

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

首先准备充足的数据(例如1T),设计不同模型参数量的小模型(例如0.001B - 1B),独立训练每个模型,每个模型都训练到基本收敛(假设数据量充足)。根据训练中不同模型的参数和数据量的组合,收集计算量与模型性能的关系。然后可以进一步获得计算效率最优时,即同样计算量下性能最好的模型规模和数据大小的组合,模型大小与计算量的关系,以及数据大小与计算量的关系。

325aa9d0-8e70-11ee-939d-92fbcf53809c.png

如图所示,根据左图可以看到计算量与模型性能呈现幂律关系(可以认为数据和模型都不受限制),根据中图和右图,可以发现,,即计算效率最优时,模型的参数与计算量的幂次成线性关系,数据量的大小也与计算量的幂次成线性关系。

根据,可以推算出,但是,分别是多少存在分歧。

OpenAI[1]认为模型规模更重要,即,而DeepMind在Chinchilla工作[2]和Google在PaLM工作[3]中都验证了,即模型和数据同等重要。

所以假定计算量整体放大10倍,OpenAI认为模型参数更重要,模型应放大100.73(5.32)倍,数据放大100.27(1.86)倍;后来DeepMind和Google认为模型参数量与数据同等重要,两者都应该分别放大100.5(3.16)倍。

326a9e3a-8e70-11ee-939d-92fbcf53809c.png

例如在PaLM的实验中,计算量从 放大10倍到, 模型参数也提升了3.2倍,3.35B->10.7B。具体最好在自己的数据上做实验来获得你场景下的和

LLaMA: 反Scaling Law的大模型

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

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

Meta在LLaMA[8]的观点是:给定模型的目标性能,并不需要用最优的计算效率在最快时间训练好模型,而应该在更大规模的数据上,训练一个相对更小模型,这样的模型在推理阶段的成本更低,尽管训练阶段的效率不是最优的(同样的算力其实能获得更优的模型,但是模型尺寸也会更大)。根据Scaling Law,10B模型只需要200B的数据,但是作者发现7B的模型性能在1T的数据后还能继续提升。

32852c32-8e70-11ee-939d-92fbcf53809c.png

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

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

32a3707a-8e70-11ee-939d-92fbcf53809c.png

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • GPT
    GPT
    +关注

    关注

    0

    文章

    302

    浏览量

    14869
  • OpenAI
    +关注

    关注

    8

    文章

    761

    浏览量

    5915
  • 大模型
    +关注

    关注

    2

    文章

    1532

    浏览量

    1126

原文标题:大模型中的Scaling Law计算方法

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FFTC问题求解答!!!动态scaling

    ).        1)  You said "the scaling factor should be 1/sqrt(4) = 1/2 when in 256 size"
    发表于 06-21 13:25

    多电机数学模型推导

    某一单电机负载出现波动,系统会自动调节,恢复稳态。想请问,这样的数学模型怎么建网上只能找到单电机的,他说我自己推导。可是真的没有头绪,大家可以给一点引导吗,谢谢了
    发表于 09-09 08:48

    LLC增益曲线过程推导和参数如何计算

    电压为方波,电流为正弦波。设计时根据客户需求计算出额定负载时直流电阻Ro,再用基波分析法计算出次级交流输出电阻,然后换算至变压器初级得出等效模型,先推导直流增益和阻性曲线方程。输入阻抗公式推导上述已经
    发表于 05-19 09:19

    如何进行电磁波的计算推导

    赫兹的实验中,验证了麦克斯韦预言的准确性,电磁波的特性及推导过程有没有人解析一下啊?射频电路设计时振幅 、相位的概念和作用是什么?
    发表于 03-11 08:01

    怎么推导出RO和ROUT?

    RO和ROUT的定义与推导一种使用SPICE运放模型和RO的技巧
    发表于 04-07 06:26

    电动助力转向EPS——理论公式推导及simulink模型

    电动助力转向EPS(二)——理论公式推导及simulink模型EPSEPS系统建模方向盘动态公式扭矩传感器模块电机模块齿轮齿条模块simulink建模方向盘动态模块扭矩传感器模型电机模块模型
    发表于 06-29 07:26

    推导永磁同步电机d-q轴坐标系数学模型

    电机的瞬态性能。在推导永磁同步电机d-q轴坐标系数学模型之前先做如下假设:1、磁饱和效应及铁心涡流、磁滞损耗忽略不计。 2、气隙磁场按正弦分布,高次谐波忽略不计。 3、感应反电势呈正弦波状。4、电机的电流为对称的三相正弦波电流。 5、转子上没有阻尼绕组,永磁体也没有阻尼作
    发表于 08-27 07:09

    电机控制系统基于概念的仿真模型

    基本完善了开题时硕士毕业论文的电机控制系统概念,实现了基于概念的仿真模型。记此文档以备忘。异步电机矢量控制系统中电流环控制器至于什么时异步电机矢量控制系统,这里就不赘述了。可以参考陈伯时教授的《运动控制系统》,讲的很详细。涉及到
    发表于 09-06 09:26

    python推导式是什么

    python推导推导式(英文名:comprehensions),也叫解析式,是Python的一种独有特性。 推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 总共有四种推导
    的头像 发表于 02-28 17:13 2021次阅读

    电化学阻抗谱(EIS)法如何推导出DLi+

    EIS法根据平面电极的半无限扩散阻抗模型及Fick第一定律和Fick第二定律等推导出DLi+。具体推导如下。根据平面电极的半无限扩散阻抗模型可知,Warburg阻抗Zw可表示为:
    的头像 发表于 07-10 14:54 6111次阅读

    常用的feature scaling方法都有哪些?

    feature scaling的方法可以分成2类,逐行进行和逐列进行。逐行是对每一维特征操作,逐列是对每个样本操作,上图为逐行操作中特征标准化的示例。
    的头像 发表于 08-02 11:45 725次阅读

    EDA探索之MOSFET的微缩- Moore’s Law介绍

    摩尔定律提出的时候,还处于Happy Scaling Era(EDA探索丨第11期:MOSFET收缩,Happy Scaling Era)。所以除了器件密度的翻倍,大家通常所认识的摩尔定律还隐含着其它的一些含义。
    发表于 03-29 14:25 262次阅读

    Scaling Law模型设计实操案例

    纵轴是"Bits for words", 这也是交叉熵的一个单位。在计算交叉熵时,如果使用以 2 为底的对数,交叉熵的单位就是 "bits per word",与信息论中的比特(bit)概念相符。所以这个值越低,说明模型的性能越好。
    的头像 发表于 11-22 16:08 396次阅读
    <b class='flag-5'>Scaling</b> <b class='flag-5'>Law</b>大<b class='flag-5'>模型</b>设计实操案例

    电感等效模型阻抗公式推导

    电感等效模型阻抗是电感元件在电磁场中对电流和电压的响应的量化描述。在电路分析和设计中,电感等效模型的阻抗对于预测和优化电路的性能至关重要。以下是电感等效模型阻抗公式的推导,以满足您的要
    的头像 发表于 12-15 10:20 701次阅读

    张宏江深度解析:大模型技术发展的八大观察点

    在大模型的发展史上,Scaling Law(规模律)发挥了核心作用,它是推动模型性能持续提升的主要动力。Scaling
    发表于 03-14 10:41 84次阅读
    张宏江深度解析:大<b class='flag-5'>模型</b>技术发展的八大观察点