Reading Notes: “Training Compute-Optimal Large Language Models”

date
Mar 2, 2025
slug
chinchilla
status
Published
tags
NLP
summary
type
Post

Objective

本文主要想探究的问题是:给定计算资源预算(in FLOPS),如何在模型大小和训练数据量之间做权衡,以获得最佳表现的语言模型。

Approach

notion image
进行了大规模的实验:
  • 训练了 400 多个语言模型,参数量从 70M 到超过 16 B,数据量(token 数量)从 5 B 到 400 B
  • 三种估算方法:
    • 方法一:固定模型大小改变 token 数量
      • 使用一系列模型大小,对于每个固定的大小,改变 token 数量,取出每个 FLOPS 水平下得到最优 loss 数据点
      • 这样得到很多 3 维数据点 (num_params, num_tokens, FLOPS)
      • 分别投影到得到两个平面 (FLOPS, num_params) 和 (FLOPS, num_tokens)
    • 方法二:固定 FLOPS 改变模型大小(固定了 FLOPS 之后对于某个确定的模型大小 token 数量可以唯一确定)
      • 使用一系列 FLOPS 水平,对于每个 FLOPS 水平取出得到最优 loss 的三维数据点(同方法一)
      • 分别投影到两个二维平面得到 FLOPS 和 num_params 和 num_tokens 的关系
    • 方法三:把损失函数进行参数化建模,写成参数量 N 和 token 量 D 的函数进行拟合
  • 基于上述实验得到的结论训练一个 70B 的语言模型 Chinchilla,以验证上述结论

Key Findings

  • 等比例 scaling law:模型的参数量 scaling 应该和数据量 scaling 速度相同,也就是说模型变大一倍,训练数据也应该变多一倍。这和之前的其他研究结论不同,之前的研究指出模型大小增长应该比训练数据增长快。
  • 当前的大语言模型是 over-parameterized 的:也就是说这些模型可以用更少的参数,但是在更多数据上训练,以取得更好的效果。
  • Chinchilla 在几乎所有 benchmark 上都优于比它更大多 baseline 大语言模型,验证了本文的假设。

Implications

  • 当前的大语言模型可以使用更小的尺寸,但是在更多的数据上训练,以在参数量和数据量之间取得平衡
  • 通过减少模型的参数量,可以降低推理的成本

© Lifan Sun 2023 - 2025