AI技术总监级拆解大模型|第13讲 Scaling Law、Chinchilla 与 Emergence:模型为什么越做越大
AI技术总监级拆解大模型第13讲Scaling Law、Chinchilla 与 Emergence模型为什么越做越大AI 学习系列第13讲 / 共26讲第12讲解决了GPT-2 ↓ GPT-3 ↓ 模型规模扩大 ↓ Zero-shot / One-shot / Few-shot ↓ In-Context Learning这一讲继续追问模型到底为什么要越做越大模型、数据、算力应该怎样一起增长为什么有些能力看起来像“突然出现”01“模型越大越强”为什么后来变成了一门科学早期最直接的想法是模型不够强 ↓ 把模型做大 ↓ 再训练一次但很快出现一个工程问题模型到底应该做多大因为训练一个模型真正消耗的不只是参数。至少包括Model Data Compute也就是模型规模 训练数据规模 训练计算量如果只增加其中一个可能并不能得到最好的结果。所以研究开始从“哪个模型更大”转向“在给定计算预算下模型、数据和训练计算应该怎样分配”这就是 Scaling Law 开始变得重要的原因。02Scaling 到底是什么Scaling 可以先理解成系统性扩大模型、数据和计算资源并研究能力随规模如何变化。最直观小模型 ↓ 中模型 ↓ 大模型同时少量数据 ↓ 更多数据 ↓ 更大训练集以及少量计算 ↓ 更多计算 ↓ 更大训练算力三者共同变化。所以[ModelDataCompute]才是理解大模型规模化的核心。03Scaling Law 在研究什么研究者发现在一定范围内语言模型的 Loss 会随着模型规模、数据量和训练计算增加而表现出可预测的经验规律。可以用简化形式表示[L(N)\approx AN^{-\alpha}C]其中N 模型规模 L Loss A、α、C 根据实验拟合出来的参数重点不在于记住这个公式。而在于理解模型变大 ↓ Loss 通常继续下降 数据增加 ↓ Loss 通常继续下降 计算增加 ↓ Loss 通常继续下降但下降不是无限免费的。规模越往后继续降低 Loss 往往需要越来越多的资源。所以 Scaling Law 的真正价值是提前估计“再增加多少模型、数据、算力还能换来多少收益”。04为什么不能只堆参数想象两个极端。情况 A模型非常大 数据太少结果模型容量很大 但没有足够数据把它训练好情况 B数据非常多 模型很小结果数据很多 但模型容量可能不足所以真正的问题不是模型越大越好而是模型规模和训练数据应该匹配。这就是 Chinchilla 这类工作的关键意义之一。05Chinchilla 最重要的结论是什么Chinchilla 研究了在固定计算预算下模型参数量和训练 Token 数怎样分配更合理。它挑战了一种很自然但不完整的直觉有更多算力 ↓ 就应该主要继续堆参数更准确的思路是计算预算固定 ↓ 模型大小和数据量一起优化论文得到的重要经验结论之一是许多当时的大模型其实训练数据不足在相近计算预算下适当缩小模型、增加训练数据可以得到更好的训练效率。因此更大模型 ≠ 一定更优 更合理的模型 更多合适的数据 更好的计算效率06为什么这个结论对大模型工程特别重要因为模型训练成本巨大。假设有固定预算1000 万美元训练预算真正的问题不是“我能训练多大的模型”而是“这 1000 万美元应该花多少在参数多少在数据多少在训练计算”这就从模型设计进入计算经济学也就是说大模型训练本质上也是资源配置问题。07为什么“数据质量”越来越重要Scaling 不只是数据越多越好因为垃圾数据 大量重复 低质量文本并不会等价地产生高质量学习信号。真正重要的是数据数量 数据质量 数据覆盖 数据去重 数据配比因此现代大模型的数据工程会涉及清洗 去重 过滤 质量评分 数据配比 污染检测所以“更多 Token”与“更多有效学习信号”不是一回事。08Compute-optimal 是什么意思Compute-optimal在给定计算预算下寻找最优的模型和数据配置。这里预算有限 ↓ 模型不能无限变大 ↓ 数据也不能无限增加 ↓ 需要找到最优组合因此可以把它理解成[\text{maximize learning efficiency}]也就是用固定的算力尽可能换来更低的 Loss 和更强的训练结果。09Emergence为什么有些能力看起来像突然出现很多人看到模型规模变化时会觉得小模型 → 不会 中模型 → 还是不会 大模型 → 突然会了于是出现Emergence涌现能力。但这里需要非常谨慎。“测试表现突然变好”不等于“模型内部突然诞生了一种叫做智能的东西。”因为评价方式本身就会制造“突然变化”的视觉效果。10为什么连续能力可能看起来突然假设一个任务需要连续完成 10 个步骤。每一步成功概率[p]粗略地[P(success)\approx p^{10}]如果[p0.8]那么[0.8^{10}\approx10.7%]如果[p0.9]那么[0.9^{10}\approx34.9%]注意单步成功率 0.8 → 0.9只是提升了10 个百分点但整体任务成功率 10.7% → 34.9%看起来已经发生了巨大变化。所以宏观任务能力可能呈现缓慢提升 ↓ 突然跨过任务成功阈值这并不一定意味着底层能力发生了真正的离散跳变。11评价指标也可能制造“涌现”假设真实能力10% 20% 30% 40% 50% 60% 70% 80%一直连续增长。但测试方法只允许答对 1 答错 0那么某个能力可能一直隐藏在“不会”这个离散标签下面。一旦跨过某个阈值答对率 突然明显上升于是看起来像“能力突然出现。”所以研究 Emergence 时必须同时检查模型规模 任务结构 评价指标 测试方式 训练过程 后训练12所以“涌现”到底是真还是假最严谨的回答不是一定是真的也不是一定是假的而是“涌现”首先描述一种观察到的能力曲线现象至于它究竟来自真实的非线性能力变化还是来自任务结构、评价指标、采样方式等测量因素需要具体分析。所以现象 ≠ 机制这一点非常重要。13Scaling、Chinchilla、Emergence 三者怎么串起来可以直接记Scaling ↓ 研究模型 / 数据 / 计算怎样一起扩大 Scaling Law ↓ 研究能力 / Loss 随规模怎样变化 Chinchilla ↓ 研究固定计算预算下 模型和数据怎样更合理地分配 Emergence ↓ 观察规模变化过程中 某些任务能力为什么看起来突然提升14这一讲真正改变了什么认识以前容易认为模型变强 参数更多现在应该变成模型能力 Model Data Compute Training Evaluation而且模型越大并不是唯一答案。真正的问题是给定有限资源怎样把模型、数据和计算配置到最有效的位置这就是大模型时代真正的“规模化科学”。15工程上有什么直接意义如果未来你自己训练模型不要只问模型多少 B至少同时问训练多少 Token 数据质量如何 训练算力多少 训练多少步 模型和数据是否匹配如果你在做模型采购不要只问哪个模型参数最多还要问真实任务成功率 单位任务成本 延迟 数据适配 部署成本所以Scale 是系统工程问题不是单纯的模型参数问题。16第12讲 → 第13讲真正怎么连接第12讲GPT-2 ↓ GPT-3 ↓ 模型开始明显变强 ↓ In-Context Learning于是产生一个自然问题为什么模型变大以后会发生这些变化第13讲回答Model Data Compute ↓ Scaling ↓ Scaling Law ↓ Compute-optimal ↓ Chinchilla ↓ Emergence17本讲必须记住的 8 件事1. Scaling 研究模型、数据、计算怎样共同扩大。 2. Loss 会随着规模增加呈现可观察的经验规律。 3. 模型不能无限堆数据也必须匹配。 4. Chinchilla 强调固定计算预算下模型与数据的合理配比。 5. 数据质量和有效学习信号非常重要。 6. Compute-optimal 在固定算力下寻找更优训练配置。 7. Emergence 首先是观察到的能力曲线现象不等于“突然产生意识”。 8. 大模型训练本质也是模型、数据、算力之间的资源配置问题。18一句话吃透第13讲大模型真正的规模化不是“疯狂堆参数”而是研究 Model、Data、Compute 如何匹配Scaling Law 让这种规模关系变得可以研究Chinchilla 进一步强调模型与训练数据的计算最优配比而 Emergence 则提醒我们模型能力看起来突然提升时必须区分真实能力变化与评价方式造成的表象。下一讲第14讲Instruction Tuning、SFT、RLHF、DPO模型为什么开始“听懂人话”