SmolLM2: When Smol Goes Big — Data-Centric Training of a Small Language Model
SmolLM2 阅读笔记
2026-10-13开始讨论;2026-10-14补充逐阶段数据流程。持续阅读中,不标记精读完成。 来源:arXiv v1全文、COLM入口、官方模型及数据卡。未逐图视觉检查,未复现训练。 Zotero bib未检索到对应条目,citekey和pdf留空,不自造。
自读安排:先关注什么
你先自己阅读;遇到不懂的术语、公式、实验或结论,直接在聊天里问。下面是关注点,不要求提前写完答案。
原文入口:PDF · HTML v1。本文后续统一在本文件更新,不按每轮聊天新建一份。
第一遍:把数据与训练流程读通
建议顺序:摘要/引言 → 第3.1节 → 第3.2—3.4节 → 第4节 → 第5节 → 第6节。遇到细节先记疑问,附录按需要查。
| 阅读位置 | 要关注什么 | 读完希望能说明什么 |
|---|---|---|
| 摘要、第1节 | 为什么小模型要特别重视数据?这篇的贡献在哪里? | 用自己的话说清研究问题,不只记参数与分数 |
| 第3.1节 | 网页消融与数学/代码退火实验的起点、预算、控制变量 | 作者怎样判断收益来自数据,而非训练更多 |
| 第3.2节、Table 1 | FineWeb-Edu与DCLM分别擅长什么,为什么混合? | “高质量”是否只有一个标准 |
| 第3.3节、Figure 1 | 数学内容的难度、推导、格式,教师标注与分类器的分工 | 为什么有数学内容不等于适合学解题 |
| 第3.4节、Table 2 | 代码教育性、不同语言的过滤阈值及筛选后数据量 | 数据质量与覆盖率怎样取舍 |
| 第4节、Figure 2、Table 3 | 四阶段改了哪些数据、比例与学习率?什么观察触发调整? | 区分独立消融证据与阶段过程观察 |
| 第5节 | SmolTalk、SFT、DPO各自的用途 | 基础模型与指令模型的数据有什么区别 |
| 第6节 | 更小模型的数据策略有什么不同? | 为什么不能把一个配方直接推广到所有规模 |
第一遍暂不必深挖
- 全部benchmark名称和每一个得分:先了解其测什么能力。
- 分布式训练框架和优化器的所有超参数:先能读懂实验设计。
- 附录里的全部标注prompt:先看主文流程,卡在具体步骤时再查。
第二遍:我们根据你的问题补齐
优先回查实验设置、数据配比口径、关键图表和附录。最终梳理四个问题:如何选数据、如何配数据、如何验证、哪些结论还不能成立。
自己阅读时的记录区
以下待你填写,或在你实际表达后由我代为整理,不预设你的理解。
- 阅读到:
- 暂时的理解:
- 不懂的术语或步骤:
- 觉得证据不足或可能有另一种解释的地方:
- 想尝试的小实验:
问答与修订记录
| 编号 | 日期 | 你的问题 | 我的解释/原文证据 | 待确认或后续补充 |
|---|---|---|---|---|
| Q01 | 2026-10-13 | “这篇论文讲了什么” | 已给出数据筛选、阶段配方与后训练的概览,见下文 | 尚未逐节精读,不标完成 |
| Q02 | 2026-10-14 | “每个阶段对数据做了哪些处理,分为哪些流程,得到了什么结论” | 按数据构建、配方实验、四阶段预训练、上下文扩展、SFT/DPO和更小模型调整拆解,见下文 | 不把阶段观察写成单因素因果结论;尚未记录用户已理解 |
| Q03 | 2026-10-14 | “画个图,然后整理当前的比例放入阅读笔记” | 已绘制四阶段及长上下文配比图,并区分原文明示比例、网页内部比例和换算值 | Stage 3未明示网页/代码绝对占比;无法计算完整11T总体配比 |
后续更新方式:每次讨论后保留关键问题,核验解释对应的原文位置,再把有用结论写入相关主题;发现此前解释不准确时记录修正,不只堆聊天原文。只有你明确表达后才记录“已理解”。
2026-10-14:逐阶段的数据流程与结论
本节为助手基于原文整理;不是用户自述理解。主要依据arXiv v1 Sections 3–6及官方数据卡。本文新绘配比图已完成SVG、PNG和draw.io视觉检查;原论文Figure 2尚未逐项视觉复核。
先区分两条线
构建数据集:提取、评分、过滤、去重、去污染,得到候选数据。
使用数据训练模型:选择来源、采样配比、引入时机、学习率与任务格式。四个预训练阶段主要是第二条线,不代表每到一阶段都从头重新清洗所有网页。
整体路线:候选数据与消融 → 四阶段预训练 → 长上下文扩展 → SmolTalk指令微调 → UltraFeedback偏好对齐。
A. 数据准备与配方实验
| 数据 | 处理流程 | 得到的东西/实验观察 | 来源 |
|---|---|---|---|
| 英文网页 | 采用已有FineWeb-Edu与DCLM;分别训练、再试混合 | 两者强项互补,早期选择网页内部60/40混合 | Section 3.2, Table 1 |
| 数学FineMath | 网页提取 → 教师标注与分类器粗筛 → 扩大候选召回、重提取并保留数学格式 → 更细评分 → 质量过滤、去重、英语筛选、去污染 | 形成3+/4+质量子集,重点是适当难度的分步推理 | FineMath数据卡, Section 3.3 |
| 代码Stack-Edu | StarCoder2Data中选15种语言 → Llama3-70B给教育性标签 → 为各语言训练StarEncoder分类器 → 根据实验选阈值 | 多数阈值3,Java为2;筛选后代码评测优于原始数据 | Stack-Edu数据卡, Section 3.4 |
教师与分类器的分工:[解释] 大模型给样本生成质量标签,分类器学习标签后用于大批量筛选;不能理解成每一页都由大模型直接判分。
FineMath的“数学质量”:[数据卡] 偏向清楚的推导和分步解题,而不是越高级的论文越好。提取要保留LaTeX,去重与去污染解决不同问题:前者减少内部重复,后者减少与评测集重叠。
来源差异待核验:论文数学去污染段列GSM8K/MATH/MMLU,官方数据卡还列ARC;不把数据卡扩展说明反写成论文原文。论文将FineMath4+规模约写为10B,数据卡为9.6B,可按四舍五入理解,但应保留口径。
实验怎么做:[论文Section 3.1] 网页消融固定1.7B模型、超参数和350B tokens。数学/代码从3T检查点做退火实验;数学使用60B候选数据+40B原配方,代码按文中200B设置评估。消融是正式训练之外的对照,不是四阶段中的第五段。
B. 四阶段预训练
比例指训练token采样占比;网页内部比例和全体数据占比是两层。
配比图

(可编辑源文件与位图预览仅在本地笔记库中。)
图中蓝色两段分别表示FineWeb-Edu和DCLM。带“换算”的比例由两层比例相乘得到,不是论文另列的一组实验结果。Stage 3使用灰色,是因为原文只明确数学约10%和网页内部40/60,没有给出网页与代码各自的绝对占比。
四阶段比例速查
| 阶段 | 训练区间 | 原文明示的全体配比 | 网页内部配比 | 换算到全体数据 | 主要来源变化 |
|---|---|---|---|---|---|
| 1 | 0–6T(6T) | 网页90%,代码10%;未单列专项数学源 | FineWeb-Edu/DCLM=60/40 | FineWeb-Edu 54%,DCLM 36% | 代码使用StarCoderData |
| 2 | 6–8T(2T) | 网页75%,代码20%,OpenWebMath 5% | FineWeb-Edu/DCLM=60/40 | FineWeb-Edu 45%,DCLM 30% | 开始显式加入数学源 |
| 3 | 8–10T(2T) | 数学约10%;网页、代码绝对占比未明示 | FineWeb-Edu/DCLM=40/60 | 无法换算网页两源在全体中的比例 | 数学加入InfiMM-WebMath;代码改用Stack-Edu并补小语种原始子集、Notebook |
| 4 | 10–11T(1T) | 网页58%,代码24%,数学14%,Cosmopedia v2 4% | FineWeb-Edu/DCLM=40/60 | FineWeb-Edu 23.2%,DCLM 34.8% | 引入FineMath 4+等高质量数学源,学习率衰减到0 |
换算示例:阶段1中FineWeb-Edu占全体数据的 90% × 60% = 54%;阶段4中DCLM占全体数据的 58% × 60% = 34.8%。
不能计算完整11T总体配比。 虽然四阶段token量分别约为6T、2T、2T和1T,但Stage 3缺少网页和代码绝对占比;直接给一个11T加权平均值会填入论文没有报告的数据。
长上下文尾段比例
| 部分 | 占尾段tokens | 组成 |
|---|---|---|
| 长文档 | 40% | DCLM 10% + FineWeb-Edu 10% + Dolma Books 20% |
| 原阶段4配方 | 60% | 按阶段4原配方继续采样 |
[推导] 若将这60%的阶段4配方完全展开,尾段总配比为:FineWeb-Edu 23.92%、DCLM 30.88%、Dolma Books 20%、代码14.4%、数学8.4%、Cosmopedia v2 2.4%。其中前两个数字同时包含专门加入的长文档部分和阶段4配方中的网页部分;这是算术展开,论文没有单独列出这张表。
[边界] 长上下文训练从阶段4最后约75B tokens之前的检查点继续,因此上表描述阶段4尾段的改配方,不是11T之外新增40%+60%的一轮训练。
| 阶段 | 数据处理/使用变化 | 作者观察 | 能支持到什么程度 |
|---|---|---|---|
| 1:0–6T | 网页为主,StarCoderData占10%;网页内部FineWeb-Edu/DCLM=60/40;暂不单独加入数学源 | 通用表现符合预期,数学和代码仍弱 | 通用数据起步后暴露专项短板;不等于网页完全不含数学 |
| 2:6–8T | 网页75%、代码20%、OpenWebMath 5%;网页内部仍60/40 | 多数语言代码提高,数学改善有限 | 只少量加旧数学源未解决该设置下的瓶颈 |
| 3:8–10T | 加入InfiMM-WebMath使数学约10%;网页内部改40/60;主要代码源改Stack-Edu;小代码语言补原始子集,加入Jupyter | 多项指标提高;发生原因未明的loss spike,随后多数指标恢复 | 质量、覆盖与训练进度共同改变,不能单独归因于某个源 |
| 4:10–11T | 引入FineMath4+等;数学14%、代码24%、网页58%、Cosmopedia v2为4%;学习率衰减到0 | 数学、代码明显改善 | 支持最终阶段的整体策略;不能拆成单个比例的独立效果 |
来源:原文Sections 4.2–4.5、Table 3。T=万亿tokens;区间是同一主模型的累计训练进度,不是四个独立模型。
[分析] 留到后期使用专项数据,是为了兼顾数据量、重复次数和目标能力;这是一条实际有效的训练路线,没有证明全局最优或任意模型都适用。
C. 长上下文扩展
[论文Section 4.6] 从第4阶段末尾的中间检查点出发,把上下文由2k扩到8k;使用40%长文档(DCLM、FineWeb-Edu及Dolma书籍)和60%第4阶段配方,并调整RoPE。它对应最后一段训练的改配方,不应自行算成11T之外额外完整训练一轮。
[论文Section 4.7] 长上下文测试改善、原有基准几乎没有退化。[分析] 不能将改RoPE、换长文档和继续训练各自的贡献拆开归因。
D. 指令数据、SFT与DPO
SmolTalk构建:[官方数据卡] 新合成的多轮对话、约束遵循、摘要、改写,与经过消融选择的数学、代码、系统提示、函数调用和长上下文公开数据混合。数据卡还说明,为避免只用短样本损害长上下文能力,加入LongAlign。
生成后的处理:[论文Section 5.1] 对话生成后做质量/安全过滤、奖励模型评分和语义去重;约束任务排除冲突指令/错误响应并对IFEval去污染。生成总量、过滤后总量和最终混入量是不同口径,不能混用。
训练:[论文Sections 5.2–5.3] SmolTalk用于SFT;UltraFeedback用于DPO。前者学习如何按指令回答,后者利用偏好对提高回答表现。官方指令模型卡
结论边界:[分析] 不是把教师回答生成出来就直接训练,关键还包括任务覆盖、过滤和消融。DPO与预训练配比不是同一个优化问题。
E. 135M/360M没有照搬1.7B
[论文Section 6] 更小模型重新做数据实验,采用单阶段高质量混合;过滤低质量DCLM,早期即加入数学、代码等。后训练使用更适合其容量的Smol-SmolTalk,去除部分复杂任务和困难样本。
[分析] 这提醒我们:数据策略与模型容量相关,1.7B有效的课程不必对更小模型有效。
本次得到的认识与仍待解决的问题
- [分析] 数据质量应对应任务、难度和模型;不是只有一条通用质量分。
- [分析] 构建数据与安排训练需分别记录;过滤阈值、混合比例、加入时机是不同变量。
- [分析] 阶段成绩不能替代独立消融。正好可用这篇学习工业配方的证据边界。
- [待核验] 对图2及关键附录做视觉核对;继续逐项读实验以区分具体组件贡献。
- 本轮没有执行实验,也没有将用户问题标为“已理解”。
初始概览(助手整理,供回查)
以下保留此前概览;它不是你的阅读结论。后续根据自读问题、原文核验和讨论持续修订。
一句话理解
[论文报告] Hugging Face用数据筛选、专门数据集和分阶段训练,把较小的语言模型训练得更有用;主角是1.7B模型,累计训练约11T tokens。[原文摘要、Sections 3–5]
核心数据与流程
| 数据 | 用途 | 官方入口 |
|---|---|---|
| FineWeb-Edu / DCLM | 提供不同特点的英文网页文本 | 见原文Section 3.2 |
| FineMath | 筛选带有适当难度、推导和解题内容的数学网页 | 数据卡 |
| Stack-Edu | 从代码语料中筛选具有教育价值和较好说明的内容 | 数据卡 |
| SmolTalk | 用于对话和指令微调,包括通用及专项任务 | 数据卡 |
[助手解释] “数据中心”表示研究重心放在数据构建、选择和训练安排上。它不是不研究架构,也不是简单把所有高分样本混起来。
四个预训练阶段
| 阶段 | 累计tokens区间 | 主要变化 |
|---|---|---|
| 1 | 0–6T | 网页为主,代码10%,不专门加入数学数据 |
| 2 | 6–8T | 网页75%、代码20%、数学5% |
| 3 | 8–10T | 引入更多数学及经过筛选的代码,调整两类网页的内部比例 |
| 4 | 10–11T | 学习率衰减;网页58%、代码24%、数学14%、Cosmopedia v2为4% |
[论文报告:Sections 4.2–4.5] 数学、代码短板会推动下一阶段的数据调整。该流程并非从头重训四个独立模型,而是同一训练进程的阶段演进。
[论文报告:Section 5] 基础模型之后,使用SmolTalk进行SFT,再进行DPO,得到指令模型。官方模型卡
怎样知道数据有用
[论文报告:Section 3.1] 对网页数据做对照时固定模型、训练超参数和tokens;数学、代码则从已有训练检查点出发,用退火实验评估候选数据。
[助手解释] 这是学习公平数据实验的重要例子。先固定其他条件,再比较数据;模型参数小,并不意味着实验的训练tokens或成本也小。
这篇与RegMix的区别
[分析] RegMix建立回归预测器搜索配方;SmolLM2主要根据消融与阶段评估人工迭代数据。前者研究一种自动优化方法,后者记录一条实际模型训练路线。两者都不能直接保证换模型、任务后仍适用。
局限与边界
- [分析] 相邻阶段同时改变训练量、数据源、配比,最后还改变学习率。因此阶段得分上升不能全部归因于某个配比;需要看独立消融。
- [分析] 提供有效配方不等于证明最优,更不等于跨规模通用配方。
- [论文报告:Section 6] 更小的135M/360M版本采用不同的数据策略,不能把1.7B四阶段方案机械套用。
- [分析] 对比模型和评估任务有限,不能把作者当时的结果写成今天所有任务的领先结论。
你的问题与理解
- 2026-10-13:“这篇论文讲了什么”。
- 尚未记录其他个人判断,后续根据你的实际问题补充。
可以借鉴的练习
[计划,未执行] 选择一个固定数据池,对比随机、简单规则和质量评分筛选;固定来源分布、训练tokens与评估协议。先做样本审计,有训练资源再检验收益。无GPU的统计结果不能宣称模型能力提升。
后续精读
- 网页数据消融如何选择混合比例?
- FineMath的教师标注、分类器、过滤和去污染分别做什么?
- Stack-Edu如何为不同编程语言选择阈值?
- 四阶段决策中,哪些有独立消融、哪些只是过程观察?
导航:00-阅读路线与笔记导航。
2026-10-15 讨论补充:贡献、人工配比与证据边界
核心问题
怎样通过数据筛选、混合及分阶段训练,提升小语言模型的能力?主模型为1.7B参数,预训练约11T tokens。小模型不等于训练成本低:原文报告主训练使用256张H100。本次只阅读原文,没有复现。
贡献是什么
- [原文] 数据资源:构建并公开FineMath、Stack-Edu、SmolTalk,分别服务数学、代码和指令后训练,给出筛选与合成流程。
- [原文] 实证发现:控制模型配置和训练预算,比较数据来源、过滤阈值及混合方式,验证数据选择的影响。
- [原文] 完整模型成果:结合分阶段数据配方、预训练和后训练,发布模型及评测。
- [解读] 本文主要是数据资源、实证研究和模型训练报告的贡献,不是提出新的自动配比优化算法。记录完整流程主要属于可复现性价值;工作量本身不能代替创新。
人工怎样调整配方
| 阶段 | 观察与调整 |
|---|---|
| Stage 1,0—6T | 网页内部FineWeb-Edu=60;代码占总量10%;未单独加入数学。阶段末发现代码、数学较弱。 |
| Stage 2,6—8T | 网页75%、代码20%、OWM数学5%。代码改善,数学提升不明显。 |
| Stage 3,8—10T | 加入InfiMM-WebMath,数学合计约10%;网页内部比例改为40,依据额外退火消融;代码转向Stack-Edu并补充部分来源。正文不足以严谨确定该阶段全部网页/代码总占比。 |
| Stage 4,10—11T | 网页58%、代码24%、数学14%、Cosmopedia v2 4%;加入更高质量数据,学习率同时衰减。末尾长上下文扩展另改配方,不能将上述比例直接视为全部11T训练的固定配比。 |
没有“数学低几分就增加几个百分点”的公式。比例由训练观察、额外消融、既有经验、可用数据量与重复次数共同决定。相邻阶段同时变化训练量、数据来源、配比和学习率,因此阶段分数变化不能完全归因于某一个因素,也不构成最优配比证明。
对研究创新的判断
“哪项能力弱就加哪类数据”是合理的常规起点,本身不是独特创新。研究问题应继续落到:补什么内容、多少、何时补、是否有重复与能力回退,以及如何通过受控实验识别原因。少卡研究可以围绕其中一个具体失败机制展开,但新颖性需要独立文献核查。
下一篇:DataComp-LM / DCLM
接下来关注如何固定模型、训练流程和预算,比较不同数据筛选方法。重点区分“筛选器像人工判断”与“筛出的数据能改善训练”这两个目标。
本节来源
本节不新增会议接收状态断言,既有元数据保持原样。