赞
踩
问题背景
除了文章题目,你在实践中也许会遇到以下问题:
1、计划训练一个10B的模型,想知道至少需要多大的数据?
2、收集到了1T的数据,想知道能训练一个多大的模型?
3、老板准备1个月后开发布会,给的资源是100张A100,应该用多少数据训多大的模型效果最好?
4、老板对现在10B的模型不满意,想知道扩大到100B模型的效果能提升到多少?
这就是scaling law要回答的问题。
内容
一、总结
scaling law:语言模型性能主要和尺寸(scale)有关,和模型形状(宽度、深度)基本无关。scale主要说的是三个因素:参数量N(不包括embedding),数据集大小D,训练计算量C。大模型比小模型样本效率高,所以计算效率最高的方式是训练大模型早点停止,而不是训练小模型到收敛。
浮点运算量(FLOPs)C、 模型参数 N 以及训练的token数 D 之间存在关系:
C ≈ 6ND
N ∝ C^0.73
最优batch size B ∝ C ^ 0.24
最优训练步数 S ∝ C ^ 0.03
二、key points
1、模型性能主要和模型尺寸(scale)有关,和模型形状基本无关。scale主要说的是三个因素:参数量N(不包括embedding),数据集大小D,训练计算量C。性能基本和模型的宽度、深度没什么关系。
2、平滑幂律。性能和N、D、C中的每一个都有幂律关系(另外两个不受限制的情况下),趋势跨越了6个数量级。
下图的意思是N、D、C中每一个增加,模型loss都会平滑下降。为了获得最优模型性能,三个因素需要同时增加。幂律关系的前提是增加其中一个因素的时候,不受另外两个因素的限制。
3、过拟合的通用性。N和D同时增加时模型性能会增加。但N和D有一个固定住时,另外一个增加,模型性能的增益会消失。模型大小增加时8倍时,数据至少要增加5倍。
4、训练通用性。训练的曲线遵循可预测的幂律关系,和模型大小无关。通过训练曲线早期部分,我们可以预测出训练后期的loss变化过程。
5、迁移测试性能。如果在一个和训练文本分布不同的测试集上评估模型,结果和训练集基本一致,只是多了个恒定的损失。
6、样本有效性。大模型比小模型更高效,达到同样的性能只需要更少的优化步骤和数据。
7、收敛效率低下。如果固定住训练预算C,但模型大小N和数据D没有限制,我们能够获得最优的性能的方式是训练一个很大的模型,不等到收敛就停止训练。
8、最优batch size。训练这些模型的理想批量大小大致仅是损失的幂,并且可以通过测量梯度噪声标度来确定
参考资料:
[2001.08361] Scaling Laws for Neural Language Models (arxiv.org)
学术理论解析25
学术理论解析 · 目录
上一篇大模型微调实践——Prompt tuning、PET、Prefix tuning、P-tuning的原理、区别与代码解析(二)下一篇大模型微调实践——Prefix tuning与P-tuning v2的原理、区别与代码解析最终章
喜欢此内容的人还喜欢
AIGC算法工程师面经—python基础篇
瓦力算法学研所
不喜欢
不看的原因
确定
结合创新!多尺度特征融合+Transformer,参数和计算成本减半
AI算法科研paper
不喜欢
不看的原因
确定
数据治理方法论与顶层设计思路,附案例.ppt
企业架构EA之家
不喜欢
不看的原因
确定
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。