手机版网站怎么上传,番禺区手机版网站建设,wordpress 变慢,微信 网页版欢迎关注我的CSDN#xff1a;https://spike.blog.csdn.net/ 本文地址#xff1a;https://spike.blog.csdn.net/article/details/145188660 免责声明#xff1a;本文来源于个人知识与公开资料#xff0c;仅用于学术交流#xff0c;欢迎讨论#xff0c;不支持转载。 Scalin… 欢迎关注我的CSDNhttps://spike.blog.csdn.net/ 本文地址https://spike.blog.csdn.net/article/details/145188660 免责声明本文来源于个人知识与公开资料仅用于学术交流欢迎讨论不支持转载。 Scaling Laws (缩放法则) 是大模型领域中用于描述 模型性能(Loss) 与 模型规模N、数据量D、计算资源C 之间关系的经验规律揭示在大模型中随着模型参数数量、数据集大小和计算资源的增加模型性能的变化模式指导更高效地分配资源优化模型训练过程实现更好的性能。这些规律不仅有助于预测不同规模模型的表现还能为模型设计和训练提供理论依据是推动大模型发展和应用的重要理论基础。
论文ESM3 - Simulating 500 million years of evolution with a language model
在 蛋白质大语言模型(Protein Language Model, PLM) 方向使用数据集约 200B Tokens (AA氨基酸)基于 C6ND以及 Loss 与 模型规模(N) 的 IsoFLOPs 曲线确定 FLOPs 与 模型规模(N)、FLOPs 与 数据量(D) 之间的关系构建 ScalingLaws 公式验证不同目标 CLM(Causal Language Model) 与 MLM(Masked Language Model) 的系数差异即给定计算量C的情况下确定最优模型规模N、最优数据量D。其中计算出的公式 C C L M 6.45 × N × D C M L M 5.98 × N × D \begin{align} C_{CLM} 6.45 \times N \times D \\ C_{MLM} 5.98 \times N \times D \end{align} CCLMCMLM6.45×N×D5.98×N×D
参考大模型 ScallingLaws 的 C6ND 公式推导
1. 数据集(D)
数据扩展(Scaling up data)构建蛋白质序列的数据集 200B Tokens 即 UniMeta200B其中序列 939M (即9亿)Tokens 是194B (即1940亿)即平均序列长度 215用于验证 Scaling Laws 以及预训练。
UR50/SUniref50 默认数据集以最大相似度 50% 聚类。Uniref90/50Uniref90 默认数据集以最大相似度 90% 聚类去除 Uniref50 数据。ColabFoldDB: 宏基因组数据源以最大相似度 30% 聚类c 表示 cluster聚类中心m 表示 member聚类成员。
即 参考GitHub - Availability of UR50/S, UR50/D also UR100/S and UR100/D UR50/S 是从 Uniref 下载的 UR50 数据集。UR50/D 对于 UR50/S 中的每个聚类进行采样然后在每个训练迭代中对聚类中的每个序列进行采样可以从聚类成员文件中创建。因此UR50/D 的数据量大于 UR50/S。 通过实验可知证明数据量对于不同模型参数量的影响
使用 UR50/S 数据集(即 54M Seq., 5.2B Tokens) 与 3B 模型 即小数据和大模型在 MLM 模型导致严重的过拟合。其余均表现出模型越大数据越多性能(Loss 和 PPL) 越好。 2. Scaling Law (MLM CLM)
标准的 Scaling Law 公式其中 C C C 是计算量(FLOPs) N N N 是模型尺寸 D D D 是数据量(Tokens 数量)即 C 6 × N × D C6 \times N \times D C6×N×D
实验条件
C: FLOPs 计算量从 1 × 1 0 18 ∼ 1 × 1 0 21 1 \times 10^{18} \sim 1 \times 10^{21} 1×1018∼1×1021累计 7 个计数间隔大约 3 倍N: 模型参数量累计使用 39 个模型 ( 4 M ∼ 10.7 B 4M \sim 10.7B 4M∼10.7B)D: 数据集使用之前构建的 200B Tokens 蛋白质序列数据集。
数据量预估 D C 6 ∗ N D \frac{C}{6*N} D6∗NC例如在 计算量是 1 × 1 0 21 1 \times 10^{21} 1×1021 下
1.2B 的模型 (MLM的最优模型)计算量是 1 × 1 0 21 1 \times 10^{21} 1×1021数据量是 D 1 × 1 0 21 6 × 1.2 × 1 0 9 1.388 × 1 0 11 133.8 B D\frac{1 \times 10^{21}}{6 \times 1.2 \times 10^{9}}1.388 \times 10^{11}133.8B D6×1.2×1091×10211.388×1011133.8B1.7B 的模型 (CLM的最优模型)计算量是 1 × 1 0 21 1 \times 10^{21} 1×1021数据量是 D 1 × 1 0 21 6 × 1.7 × 1 0 9 0.9803 × 1 0 11 98.03 B D\frac{1 \times 10^{21}}{6 \times 1.7 \times 10^{9}}0.9803 \times 10^{11}98.03B D6×1.7×1091×10210.9803×101198.03B
训练过程确保模型经过完整的余弦学习率衰减周期通过 最小二乘法(least_squares) 拟合得到模型参数。 IsoLoss 在探索不同的模型参数和数据规模组合时发现一些组合下最终损失的差异非常小即被定义为 IsoLoss (Isometric Loss) 条件即等距损失因为在训练效果上是相近的。参考Demystify Transformers: A Guide to Scaling Laws 在 IsoFLOPs(等距计算量) 曲线图中模型尺寸(Model Size) 最大的点 是 7.2 B 7.2 × 1 0 9 7.2B7.2 \times 10^9 7.2B7.2×109黄线最低点是 1.2 B 1.2 × 1 0 9 1.2B1.2 \times 10^9 1.2B1.2×109黄线的计算量是 1 × 1 0 21 1 \times 10^{21} 1×1021参考 2.1 Scaling Laws for MLM and CLM
通过 IsoFLOPs拟合模型参数量 N N N与数据量 D D D与计算量 C C C 之间的曲线 N a × C α D b × C β \begin{align} N a \times C^{\alpha} \\ D b \times C^{\beta} \\ \end{align} NDa×Cαb×Cβ
通过 IsoFLOPs计算 CLM 与 MLM 的 Scaling Laws 参数 使用 Latex 计算数值可以使用 SymboLab 工具 例如
CLM 模型在 1 × 1 0 21 1 \times 10^{21} 1×1021 计算量下的 最优参数量(N) 是 1.73B与实验近似参考 N ( 1.26 × 1 0 − 3 ) × C 0.578 N 1.26 × 1 0 − 3 × ( 1 × 1 0 21 ) 0.578 1.26 × 1 0 − 3 × 1 0 12.138 1.26 × 1 0 9.138 1.7313 × 1 0 9 ≈ 1.73 B \begin{align} N (1.26 \times 10^{-3}) \times C^{0.578} \\ N 1.26 \times 10^{-3} \times (1 \times 10^{21})^{0.578} \\ 1.26 \times 10^{-3} \times 10^{12.138} \\ 1.26 \times10^{9.138} \\ 1.7313 \times 10^{9} \\ \approx 1.73B \\ \end{align} NN(1.26×10−3)×C0.5781.26×10−3×(1×1021)0.5781.26×10−3×1012.1381.26×109.1381.7313×109≈1.73B
同时反推 C 的公式 C ( N 1.26 ∗ 1 0 − 3 ) 1 0.578 ( N 1.26 ∗ 1 0 − 3 ) 1.73 C ( 1.73 ∗ 1 0 9 1.26 ∗ 1 0 − 3 ) 1.73 ( 1.37 ∗ 1 0 12 ) 1.73 1 ∗ 1 0 21 \begin{align} C (\frac{N}{1.26*10^{-3}})^\frac{1}{0.578} (\frac{N}{1.26*10^{-3}})^{1.73} \\ C (\frac{1.73 * 10^{9}}{1.26*10^{-3}})^{1.73} \\ (1.37*10^{12})^{1.73} \\ 1*10^{21} \end{align} CC(1.26∗10−3N)0.5781(1.26∗10−3N)1.73(1.26∗10−31.73∗109)1.73(1.37∗1012)1.731∗1021
CLM 模型在 1 × 1 0 21 1 \times 10^{21} 1×1021 计算量下的 最优数据量(D) 是 89.5B与实验近似参考 D ( 1.23 × 1 0 2 ) × C 0.422 D 1.23 × 1 0 2 × ( 1 × 1 0 21 ) 0.422 89.5 × 1 0 9 ≈ 89.5 B \begin{align} D (1.23 \times 10^{2}) \times C^{0.422} \\ D 1.23 \times 10^{2} \times (1 \times 10^{21})^{0.422} \\ 89.5 \times 10^9 \\ \approx 89.5B \end{align} DD(1.23×102)×C0.4221.23×102×(1×1021)0.42289.5×109≈89.5B
在 C 1 × 1 0 21 C1 \times 10^{21} C1×1021 时在蛋白质生成领域 CLM 的 Scaling Laws满足 C α × N × D α C N × D 1 × 1 0 21 1.7313 × 1 0 9 × 89.5 × 1 0 9 6.45363 C 6.45 × N × D \begin{align} C \alpha \times N \times D \\ \alpha \frac{C}{N \times D} \\ \frac{1 \times 10^{21}}{1.7313 \times10^{9} \times 89.5 \times 10^9} \\ 6.45363 \\ C 6.45 \times N \times D \end{align} CαCα×N×DN×DC1.7313×109×89.5×1091×10216.453636.45×N×D
同理推理 MLM 模型在 1 × 1 0 21 1 \times 10^{21} 1×1021 计算量的 Scaling Laws N ( 6.19 × 1 0 − 8 ) × C 0.776 ( 6.19 × 1 0 − 8 ) × ( 1 × 1 0 21 ) 0.776 1.224 × 1 0 9 D ( 2.02 × 1 0 6 ) × C 0.230 ( 2.02 × 1 0 6 ) × ( 1 × 1 0 21 ) 0.230 136.57 × 1 0 9 α C N × D 1 × 1 0 21 1.224 × 1 0 9 × 136.57 × 1 0 9 5.98 C 5.98 × N × D \begin{align} N (6.19 \times 10^{-8}) \times C^{0.776} (6.19 \times 10^{-8}) \times (1 \times 10^{21})^{0.776} 1.224 \times 10^9 \\ D (2.02 \times 10^{6}) \times C^{0.230} (2.02 \times 10^{6}) \times (1 \times 10^{21})^{0.230} 136.57 \times 10^9 \\ \alpha \frac{C}{N \times D} \frac{1 \times 10^{21}}{1.224 \times 10^9 \times 136.57 \times 10^9} 5.98 \\ C 5.98 \times N \times D \end{align} NDαC(6.19×10−8)×C0.776(6.19×10−8)×(1×1021)0.7761.224×109(2.02×106)×C0.230(2.02×106)×(1×1021)0.230136.57×109N×DC1.224×109×136.57×1091×10215.985.98×N×D
如果 计算量C 预算增加 10 倍
对于 CLM 模型的大小增加 4 倍训练数据增加 3 倍近似等比例缩放。对于 MLM 模型的大小增加 6 倍训练数据增加 1.7 倍。
通过 IsoLoss构建损失值 Loss与 C 、 N 、 D C、N、D C、N、D 之间的 Scaling 关系 L ( x ) β x × x α x L(x) \beta_{x} \times x^{\alpha_{x}} L(x)βx×xαx
进而推导数据量D 与 参数量N 的关联公式 D ( N ) ( β N β D ) 1 α D × N α N α D D(N)(\frac{\beta_{N}}{\beta_{D}})^{\frac{1}{\alpha_{D}}} \times N^{\frac{\alpha_{N}}{\alpha_{D}}} D(N)(βDβN)αD1×NαDαN
参数 例如1.7B 模型的参数量是 76.19B注意通过 IsoLoss 与 IsoFLOPs 计算的公式略有差别即 D ( N ) ( 4.835 7.904 ) 1 − 0.051 × ( 1.7 × 1 0 9 ) − 0.037 − 0.051 76.19 B D(N)(\frac{4.835}{7.904})^{\frac{1}{-0.051}} \times (1.7 \times 10^{9})^{\frac{-0.037}{-0.051}}76.19B D(N)(7.9044.835)−0.0511×(1.7×109)−0.051−0.03776.19B
2.2 Scaling Laws 训练 2 个模型
在相同模型参数下需要 同时(Simultaneously) 训练 CLM 与 MLM 两个模型需要总投入的计算资源 C 确定提高训练效率和效果避免计算资源的不合理分配或浪费。
在 N ( C M L M ) N ( C C L M ) N(C_{MLM})N(C_{CLM}) N(CMLM)N(CCLM) 的预估计算量 C M L M C_{MLM} CMLM 和 C C L M C_{CLM} CCLM r ( N ) r(N) r(N) 表示训练令牌的分配比例即 C s u m ( N ) C M L M ( N ) C C L M ( N ) ( N 6.19 × 1 0 − 8 ) 1 0.776 ( N 1.26 × 1 0 − 3 ) 1 0.578 r ( N ) D M L M ( N ) D C L M ( N ) C_{sum }(N)C_{MLM}(N)C_{CLM}(N)(\frac{N}{6.19 × 10^{-8}})^{\frac{1}{0.776}}(\frac{N}{1.26 × 10^{-3}})^{\frac{1}{0.578}} \\ r(N) \frac{D_{MLM}(N)}{D_{CLM}(N)} Csum(N)CMLM(N)CCLM(N)(6.19×10−8N)0.7761(1.26×10−3N)0.5781r(N)DCLM(N)DMLM(N)
求解公式得到 N ( C s u m ) 1.497 × 1 0 − 6 × C s u m 0.703 r ( N ) 8.449 × 1 0 3 × N − 0.392 N(C_{sum})1.497 \times 10^{-6} \times C_{sum}^{0.703} \\ r(N) 8.449 \times 10^{3} \times N^{-0.392} N(Csum)1.497×10−6×Csum0.703r(N)8.449×103×N−0.392
在模型 参数量N 是10B 时数据量的比例是1:1。即 r ( 10 B ) 8.449 × 1 0 3 × ( 10 × 1 0 9 ) − 0.392 1 r(10B)8.449 \times 10^{3} \times (10 \times 10^9)^{-0.392}1 r(10B)8.449×103×(10×109)−0.3921
例如模型大小 1.7B 需要的计算量即 C s u m ( N ) ( 1.7 × 1 0 9 6.19 × 1 0 − 8 ) 1 0.776 ( 1.7 × 1 0 9 1.26 × 1 0 − 3 ) 1 0.578 2.496 × 1 0 21 C_{sum}(N)(\frac{1.7 \times 10^9}{6.19 × 10^{-8}})^{\frac{1}{0.776}}(\frac{1.7 \times 10^9}{1.26 × 10^{-3}})^{\frac{1}{0.578}}2.496 \times 10^{21} Csum(N)(6.19×10−81.7×109)0.7761(1.26×10−31.7×109)0.57812.496×1021
例如计算量C是 2.5 × 1 0 21 2.5 \times 10^{21} 2.5×1021最优模型规模是 1.65 B 1.65B 1.65B最优数据量是 252 B 252B 252B即 N 1.497 × 1 0 − 6 × ( 2.5 × 1 0 21 ) 0.703 1.652 × 1 0 9 ≈ 1.652 B r 8.449 × 1 0 3 × ( 1.652 × 1 0 9 ) − 0.392 2.057 D ≈ C 6 × N 2.5 × 1 0 21 6 × 1.652 × 1 0 9 252 × 1 0 9 ≈ 252 B D M L M 252 × 2 3 × 1 0 9 168 B D C L M 252 × 1 3 × 1 0 9 84 B \begin{align} N 1.497 \times 10^{-6} \times (2.5 \times 10^{21})^{0.703} 1.652 \times 10^{9} \approx 1.652B \\ r 8.449 \times 10^{3} \times (1.652 \times 10^{9})^{-0.392} 2.057 \\ D \approx \frac{C}{6 \times N} \frac{2.5 \times 10^{21}}{6 \times 1.652 \times 10^{9}} 252 \times 10^{9} \approx 252B \\ D_{MLM} 252 \times \frac{2}{3} \times 10^{9} 168B \\ D_{CLM} 252 \times \frac{1}{3} \times 10^{9} 84B \end{align} NrDDMLMDCLM1.497×10−6×(2.5×1021)0.7031.652×109≈1.652B8.449×103×(1.652×109)−0.3922.057≈6×NC6×1.652×1092.5×1021252×109≈252B252×32×109168B252×31×10984B
C 与 N 的相关性参考 其他Decoder 的不同模型参数用于计算 Scaling Laws即