数据选择
05 数据选择(综述 §2.3.4)
定位:和过滤划清界限
综述的定义要和过滤区分开:过滤是去坏,选择是从「已经清洗好的数据」里挑子集,让 LLM 适配特定域(医疗 LLM、法律 LLM 等)。
综述点出的核心难题:LLM 数据选择要对齐的是语义主题而非传统 ML 的标签分布——要求「把语义主题编码成可测量的分布」;而计算效率和跨任务泛化仍是未解决问题。
方法三大类(Table 5 框架):
| 类别 | 阶段 | 方法 |
|---|---|---|
| 相似度类 | 预训练+微调 | 余弦相似度(DACP)、词袋相似度(DSIR)、词表交集(DSS)、贝叶斯选择(CoLoR-filter) |
| 优化类 | 微调 | 线性搜索(DsDm)、梯度影响力搜索(LESS)、核密度正则(TSDS) |
| 模型驱动类 | 预训练 | Logits 式 LM-Score(AutoDS) |
0 一图看懂:方法光谱与管道位置
方法光谱(左便宜右贵,贵的更准):
DSS DSIR DACP CoLoR DsDm LESS
词表交集 → 词袋重采样 → embedding三合一 → 双模型loss差 → datamodel回归 → 梯度数据库
(一行代码) (4.5h选1亿篇) (过编码器) (训两个辅助模型) (回归+组合搜索) (逐样本梯度)
└─ TSDS:最优传输+KDE,对齐与多样性双目标管道里的标准用法(两段式):
清洗完的池子([[03 去重]]/[[04 过滤]] 之后)
↓ 粗筛:便宜的方法(DSIR 词袋 / DSS 词表交集)—— 大幅收窄
↓ 精选:贵的方法(CoLoR 双模型 / LESS 梯度 / Meta-rater 多维打分)—— 只对幸存者做
↓
定向子集(医疗域、代码域、目标分布……)一、相似度类(让子集贴近目标分布)
DACP(余弦相似度,CPT 场景)
一句话:用「相似度 + 新颖度 + 多样性」三个量给领域数据打分,把通用 LLM 适配到目标任务。
细节——Domain-Adaptive Continual Pre-training 按三个量选领域无标注数据:
- 相似度:任务标注数据和候选域数据都编码成 embedding,选嵌入分布对齐任务数据的域样本;
- 新颖度:用困惑度(PPL);
- 多样性:用熵。
三个量各管一件事:贴得多近、新不新鲜、散不散。
DSIR(词袋重要性采样,最常被引用的 baseline)
一句话:在哈希 n-gram 的降维特征空间里估重要性权重、按权重重采样,让原始数据分布匹配目标分布——论文自己的说法是「把经典的重要性重采样扩展到 LM 数据选择的高维场景,做成高效可扩展的框架」(Xie et al.)。
细节:
- 机制:原始数据和目标数据都用词袋特征表示,估两个特征分布 (p̂_feat, q̂_feat),每条样本的重要性权重 wᵢ = p̂_feat(zᵢ)/q̂_feat(zᵢ),按 P(wᵢ)/Σwⱼ 概率重采样。
- 关键数字(论文摘要):哈希 n-gram 特征让它能 4.5 小时从全量 Pile 里选 1 亿篇文档;论文定义 KL reduction 指标,在 8 种选择方法(含专家人工精选)上该指标与下游平均准确率相关性 r=0.82;跨 8 个目标分布「表现与专家人工精选相当」;通用域(Wikipedia+books 为目标)比随机选择和启发式过滤高 2–2.5% GLUE。
定位:便宜、可扩展,是所有新方法的对照组。
DSS(词法交集,最简 baseline)
一句话:数候选文本和领域词表的重叠程度——重叠越多越相关,实现只要一行代码,精度也最低。
细节:Domain Specific Score 量化对话集 T 与领域词表 L={l₁…lₘ} 的相关性——DSS(T,L) = (1/m)·Σ|T∩lᵢ|/n(n 为 T 的 token 数)。
CoLoR-filter(贝叶斯双模型,本类最有想法)
一句话:训两个只差一步下游微调的辅助模型,用「同一样本上两个模型的 loss 差」衡量样本携带下游信息的多少。
细节:
- 把预训练子集选择形式化成贝叶斯优化问题:选使下游似然 Pr(D_down|S) 最大的子集 S;
- 「先验模型」θ_prior 在大通用数据上训练;「条件模型」θ_prior+down 在「大通用数据 + 少量下游数据」上微调;
- 打分:CoLoR(xᵢ) = −log Pr(xᵢ|θ_prior+down) − (−log Pr(xᵢ|θ_prior))——样本在「见过下游数据」的模型下似然提升越大,越值得选。
二、优化类(直接以降 loss 为目标)
DsDm(Data Models,线性搜索)
一句话:用线性 datamodel 回归拟合「训练子集 → 目标任务 loss」的映射,训好后一次解出最优 k 大小子集。
细节:
- 线性 datamodel:τ_θx(1_S) = θ_xᵀ·1_S(1_S 是标记子集 S 包含哪些样本的 0/1 特征向量),L_x(S) = E[ℓ(x; A(S))];
- θ_x 用回归损失(如 MSE)估计;训好后直接解出使目标 loss 最小的 k 大小子集。
定位:把「选哪些数据」变成一次回归 + 一次组合搜索,不用反复训练。
LESS(梯度影响力,SFT 专用代表作)
一句话:给每条训练样本和验证样本都算梯度,按梯度余弦相似度选「对下游任务影响最大」的样本——贵但准。
细节(四步):
- 用 LoRA 在随机 5% 数据上微调几个 epoch(省梯度计算),每个 epoch 存 checkpoint;
- 对每个训练样本算 Adam-LoRA 梯度,随机投影降维,存入梯度数据库;
- 对下游任务的 few-shot 验证样本算梯度特征;
- 影响力 = 梯度余弦相似度:InfAdam(z, z′) = Σᵢ η̄ᵢ·cos(∇ℓ(z′;θᵢ), Γ(z,θᵢ))(Γ 是 Adam 更新量)——选影响力 top 的样本去微调。
定位:与 DsDm 代表两种成本档位:梯度级(贵、准)vs datamodel 级(回归、可扩展)。
TSDS(核密度正则,对齐与多样性双目标)
一句话:用最优传输把候选分布拉向目标分布,同时用 KDE 正则压住过密区域——选择版的「防重复」。
细节:
- 目标样本 Q={qᵢ} 和候选池 D={xⱼ} 嵌入同一度量空间,解传输概率 γᵢⱼ:min α·Σγᵢⱼdᵢⱼ + (1−α)·G_KDE(γ),其中 ρⱼ = Σ(1−f(xⱼ,x′)²/h²) 是候选 xⱼ 的密度估计(近重复越多密度越高、被压得越狠),α 调「对齐 vs 多样性」;最后按 pⱼ = Σᵢγ*ᵢⱼ 采样。
定位:和去重(03 去重)形成上下游呼应。
三、模型驱动类
AutoDS(直接问 LLM)
一句话:对每条样本让 LLM 回答两个判定题,用 YES/NO 的 logit 算分相乘排序——零训练成本的启发式。
细节:两个 yes/no 问题——① 是否数学相关?② 是否有教育价值?LM-Score = exp(logit(‘YES’)) / (exp(logit(‘YES’)) + exp(logit(‘NO’))),总分 = 两问分数相乘。
定位:效果靠 LLM 本身的知识兜底;和 04 过滤 里 QuRating/DEITA 的区别是「直接问判定题」而不是「比较打分」。
四、本地已有原文的近期方法(按论文摘要的表述)
Meta-rater(多维打分 + 学习加权,OpenDataLab)
一句话:把数据质量拆成「专业性、可读性、推理、洁净度」四个维度,和现有质量指标一起堆成多维评分,再用代理模型学出「怎么加权组合最能降验证 loss」——论文摘要原话:针对现有方法「单维评估或只管去冗余」的局限(Zhuang et al.)。
细节:
- ① 四个维度各训打分器给全库打分;② 小代理模型(回归)拟合「各维度分数的加权组合 → 1.3B 模型验证 loss」;③ 学出最优权重后按总分选数据。
- 关键数字(论文摘要):1.3B 模型收敛速度翻倍、下游 +3.23%,优势可扩展到 7.2B;对比当时 SOTA baseline(QuRating-Educational Value)2 倍速、+3.23 个百分点。
定位:04 过滤 的「多维打分」思想 + 学习出来的组合权重,OpenDataLab 方法论的核心一篇。
Rho-1(token 级选择,NeurIPS 2024 亚军最佳论文)
一句话:不是所有 token 都值得学——论文原话提出 Selective Language Modeling:用参考模型给 token 打分,只对「与目标分布对齐的有用 token」施加训练 loss。
细节:
- 分析 token 级训练动态发现不同 token 的 loss 模式截然不同 → 参考模型打分 → 高分 token 保留 loss,噪声 token 直接去掉 loss。
- 关键数字(论文摘要):15B OpenWebMath 继续预训练,9 个数学任务 few-shot 最高 +30%;Rho-1-1B/7B 微调后 MATH 40.6% / 51.8%(当时 SOTA)——只用 3% 的预训练 token 追平 DeepSeekMath;80B 通用 token 上 15 个任务平均 +6.8%;比 baseline 快 5–10 倍达到同等性能。
定位:把「选择」的粒度从文档级压到 token 级,思想最值得学。
AlpaGasus(LLM 当过滤器,SFT 侧)
一句话:论文摘要原话「用强 LLM(如 ChatGPT)自动识别并过滤低质量数据」——52k 的 Alpaca 砍到 9k,反而全面更强、训练快 5.7 倍。
细节:
- 强 LLM 逐条对 Alpaca 数据的指令/响应做质量判断 → 只留 9k 高质量样本做 IFT。
- 关键数字(论文摘要):9k > 52k(GPT-4 评测 + 受控人评都赢);13B 变体达到教师(Text-Davinci-003,生成 52k 数据的那个)>90% 性能;7B 训练 80 分钟 → 14 分钟(5.7×)。
定位:SFT 侧「少而精」的代表,和 LIMA 互相印证。
Middo(模型感知的动态优化,闭环路线)
一句话:论文摘要原话「self-evolving Model-informed dynamic data optimization」——不搞一次性过滤,用模型自身的三类信号持续诊断次优样本,并把它们改造成有教学价值的样本,数据随模型能力共同进化。
细节(闭环三件):
- ① 自参照诊断模块:三轴模型信号找次优样本——loss 模式(复杂度)、embedding 聚类动态(多样性)、自对齐分(质量);
- ② 自适应优化引擎:在保语义完整的前提下把次优样本转成有教学价值的训练点;
- ③ 动态学习原则:随模型能力演进持续迭代。
- 关键数字(论文摘要):平均 +7.15% 准确率,保持原数据集规模不变(改造而非删减)。
定位:综述说的「第五代·动态协同」代表;区别于 AlpaGasus 的「删」,它做「改」。
Multi-Actor(多方法协同,别让选择方法打架)
一句话:论文摘要原话「multi-actor collaborative data selection mechanism」——各种选择方法各有准则、互相冲突,让每个方法当独立 actor 按自己的准则排序并用模型状态更新规则,再由一个 console 按训练阶段动态调和各 actor 的影响力。
细节:
- 每个选择方法(质量、领域、主题多样性、模型影响力等)独立给数据排优先级,用当前模型状态更新排序规则;
- console 在预训练不同阶段调整各 actor 权重、动态整合;
- 关键数字(论文摘要):627B token 分布实验揭示质量/领域/多样性/影响力的 trade-off;对 SOTA 平均相对提升最高 10.5%,加速收敛。
定位:回应「单方法都有盲区」的现实——「动态协同」这条线的代表作。
DataComp-LM / DCLM(把数据选择变成基准测试)
一句话:论文摘要原话「a testbed for controlled dataset experiments」——给数据实验建标准化考场:240T token 公共语料 + 统一 OpenLM 训练配方 + 53 个下游评测,在 412M~7B 尺度上可控地比去重/过滤/配比。
细节:
- 参赛者提交数据整理策略(去重、过滤、混合),统一配方训练对比。
- 关键数字(论文摘要):baseline 结论「model-based filtering 是组装高质量训练集的关键」;DCLM-Baseline 7B 用 2.6T token 训出 64% MMLU 5-shot,比 MAP-Neo 高 6.6pp 且省 40% 算力;MMLU 对齐 Mistral-7B-v0.3 / Llama 3 8B,算力只有 Llama 3 8B 的 1/6.6。
定位:近两年所有数据论文的必比 baseline;「1.4% 的池子打赢全量」说的就是它。
记忆锚点
- 选择 = 清洗之后的「定向收窄」,方法光谱从便宜到贵:DSS → DSIR → DACP → CoLoR → DsDm → LESS。贵的精确,便宜的能扩展——管道里通常「便宜的先粗筛、贵的再精选」。
- 2025-2026 的三个新趋势(本地论文可证):多维打分+学习加权(Meta-rater)、模型感知闭环(Middo)、多方法协同(Multi-Actor);token 级选择(Rho-1)是粒度上的另一极。
- 共性瓶颈(综述 Principles 原话):要把语义主题编码成可测量的分布,计算效率和跨任务泛化仍是未解决问题。
- 与 10 LLM4DATA与未来挑战 的挑战 1(任务特定的高效预训练选择)直接相连——现有方法都缺「随模型状态动态调整」的策略。
