1 引言

本文为论文《SmolLM2:紧凑高效的小语言模型家族》「中文全文翻译」板块的对应章节,与「论文原文」板块同一章节一一对应,层级保持一致。

大型语言模型(LM)已成为现代人工智能系统的基石,因其能够遵循自然语言指令并灵活执行海量任务(Touvron et al., 2023; Bai et al., 2023; Brown et al., 2020; Dubey et al., 2024; Groeneveld et al., 2024; Chowdhery et al., 2023; Young et al., 2024; Taylor et al., 2022)。LLMs 从其本质上讲是庞大的,即它们是拥有大量参数(按当前惯例超过 100 亿个)的模型。这种庞大导致在训练和推理过程中都产生巨大的计算开销,可能阻止 LLMs 在资源受限环境中使用。为解决这一问题,近期大量工作致力于打造高性能的小型(30 亿参数或以下)LM(Gunter et al., 2024; Yang et al., 2024b; AI@Meta, 2024b; Team et al., 2024; Li et al., 2023b)。这些小型 LM 计算代价低廉,可在更广泛的设备(如手机)上运行,同时在许多重要任务上提供令人满意的性能。

数据是影响 LM 性能与行为的关键因素之一。数据管理对任何规模的 LM 都很重要,但对较小模型而言,其影响尤其突出,因为其有限容量必须经过精心优化,以学习核心知识和基本能力,而非记忆偶然事实(Abdin et al., 2024a; Rolnick et al., 2017)。大多数 LM 主要在从网络爬取的文本上进行训练(Radford et al., 2019; Raffel et al., 2020),而最先进的管线包括旨在提升数据质量的复杂过滤与处理阶段(Li et al., 2024c; Penedo et al., 2024b; Penedo et al., 2024a; Soldaini et al., 2024)。近来,将软件代码(Kocetkov et al., 2022; Lozhkov et al., 2024)和数学(Paster et al., 2023; Han et al., 2024)等特定领域的“专用”数据纳入训练已成为常见做法,这不仅能提升这些领域的性能,也能更广泛地提升需要推理的挑战性任务的表现(Muennighoff et al., 2023; Aryabumi et al., 2024)。

基于上述考虑,我们在本文中的贡献如下: 首先,我们对现有网络、代码、数学和指令跟随数据集进行了仔细评估(第 3 节),以帮助指导训练数据设计决策,最终通过对不同数据源的多阶段手动重新平衡来训练 SmolLM2(第 4 节),以最大化性能。这种即时重新平衡是一种有前景的方法,适用于大规模训练运行——这些运行代价高昂(约 1e23 FLOPs,即 SmolLM2 的 GPU 计算费用约 25 万美元),以至于无法运行多次全规模训练。 遵循标准惯例,我们还开发了 SmolLM2 的指令微调变体(第 5 节)。 此外,在发现现有数据集规模过小和/或质量过低后,我们创建了新的数据集 FineMath、Stack-Edu 和 SmolTalk(分别用于数学、代码和指令跟随)。 最终,我们表明 SmolLM2 的基础模型和指令微调变体在同等规模模型中均处于最先进水平(第 4.7 节和第 5.4 节)。