跳转至

Task-Aware Data Selection via Proxy-Label Enhanced Distribution Matching for LLM Fine-Tuning

会议: ICLR 2026
OpenReview: https://openreview.net/forum?id=R40WoYbYab
代码: https://github.com/tmlr-group/TADS
领域: LLM效率 / 指令微调数据选择
关键词: 任务感知数据选择, 联合分布对齐, 代理标签, 开集标签噪声, 增量采样

一句话总结

针对"给定一个小目标集、要从大语料池里挑出最相关指令数据来微调 LLM"这一任务,本文指出现有方法只对齐输入特征 \(X\) 是不够的,提出用 LLM 推断代理标签 \(Y\)、把问题重构成联合分布 \(P(X,Y)\) 对齐,并配一条"标注→聚类传播→LLM 评分过滤→增量采样"的四步流水线 TADS,从 300K 池子里只选 10K 样本微调 LLaMA-3.1-8B,效果即可媲美甚至超过 LESS、TSDS 等 SOTA。

研究背景与动机

领域现状:把基础模型适配到特定下游任务,标准做法是指令微调,而微调成败高度依赖指令数据的质量与相关性。在"任务相关数据选择"(task-specific data selection)这条线上,给定一个少量的目标(target)集,要从一个大的通用源(source)池里检索出最相关的指令样本。主流方法(LESS、TSDS 等)几乎都只在输入特征 \(X\) 上做文章:用 embedding 相似度或梯度相似度来衡量源样本和目标样本有多像。

现有痛点:只看 \(X\) 的对齐有内在缺陷。论文给了一个很直观的例子——目标集是法律领域,含"婚姻纠纷"和"建筑合同";源池里有一条"手机合同(cell phone contract)"的样本,因为和"建筑合同"在"合同"这个概念上语义重叠,embedding 相似度高就被选中;如果用梯度相似度,模型对"contract"这种共享概念赋予高影响力,同样会误选。但这条样本真正的领域标签其实是"电信服务",和目标的标签分布根本对不上。

核心矛盾:输入相似 ≠ 任务相关。两条指令的 \(X\) 看着像,但它们对应的标签 \(Y\)(任务/领域归属)可能毫不相关甚至相互矛盾。只对齐边缘分布 \(P(X)\) 会系统性地漏掉这层信息。作者用互信息把这点讲透:\(I(T;(X_S,Y_S)) = I(T;X_S) + I(T;Y_S\mid X_S)\),传统方法只最大化第一项,却忽略了"在已知输入后,标签还能额外提供的任务信息"这第二项。

本文目标与切入角度:用联合分布 \(P(X,Y)\) 替代边缘分布 \(P(X)\) 来做对齐。但麻烦在于——目标集和源池里的真标签 \(Y\) 都是观测不到的;同时对齐两个随机变量比对齐一个难得多,而且用 LLM 推断出来的代理标签必然带噪声。

核心 idea:借 LLM 的推理能力为每条指令推断出代理标签(proxy labels),把任务相关数据选择重构成联合分布对齐问题,再用一条专门处理"标签噪声 + 域偏移"的流水线把它落地。

方法详解

整体框架

TADS 要解决的是:在真标签 \(Y\) 不可观测的前提下,让选出的子集 \(S\) 的经验分布 \(P_S\) 尽量逼近目标的联合分布 \(P_{\text{target}}(X,Y)\)。整体思路是先"造标签"再"对分布":用 LLM 给目标集打上结构化代理标签,把这些标签聚类成稳定的语义锚点并传播到源池上,于是源池里每条样本都有了(带噪的)任务标签;接着先把传错标签的样本过滤掉,再按标签分布做增量采样,最终得到一个标签分布与目标对齐的 10K 子集去微调 LLM。

整条流水线是清晰的四步串行,自上而下为:目标集 → 代理标签标注与锚点传播 → LLM 评分过滤 OOD → 增量采样对齐分布 → 微调子集。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["目标集<br/>(少量样本, 真标签未知)"] --> B["代理标签标注 + 锚点传播<br/>LLM 打 Task/Topic/Style/Audience"]
    B --> C["LLM 评分过滤 OOD<br/>剔除开集标签噪声"]
    C --> D["增量采样对齐分布<br/>缩小 target shift"]
    D --> E["10K 子集 → LoRA 微调 LLM"]

关键设计

1. 把任务相关数据选择重构成 \(P(X,Y)\) 联合对齐

这是全文真正的贡献核心,不是某个具体模块,而是问题的重新表述。作者主张:任务相关性由数据和标签的联合分布定义,而非仅由输入的边缘分布定义。形式化地,目标集每条样本来自 \(P_{\text{target}}(X,Y_t)\),源池由 \(K\) 个域并起来 \(D=\bigcup_k D_k\)、各域服从 \(P_k(X,Y_k)\),并假设目标分布的支撑被源分布支撑的并集覆盖;目标是选一个固定大小 \(N\) 的子集 \(S\) 使 \(P_S\) 尽量逼近 \(P_{\text{target}}\)。从信息论看,只对齐 \(X\) 的方法只抓住 \(I(T;X_S)\),而联合对齐隐式地最大化完整目标 \(I(T;(X_S,Y_S))\),把被忽略的条件项 \(I(T;Y_S\mid X_S)\) 也利用起来——这正是它能区分"手机合同 vs 建筑合同"这类输入像、标签不像样本的根本原因。后面三个设计都是为了把这个原则在"真标签不可观测"的现实里落地。

2. 结构化代理标签标注与锚点传播:把不可观测的 \(Y\) 造出来

既然真标签拿不到,就用 LLM 推断代理标签。作者设计了一个由四个语义字段组成的结构化标签空间——Task(核心功能意图,单标签,作为每条样本明确的功能锚)、Topic(主题)、Style(修辞风格)、Audience(目标受众),后三者是多标签以刻画指令的多面性。用一个结构化的摘要模板 prompt 预训练 LLM,给每条指令在这四个字段上打上自由短语标签;之所以用开放式自由短语而非固定 taxonomy,是为了让表示空间连续、便于后续 embedding 匹配。

光有标签还不够,源域的措辞和 LLM 生成的标签之间有语义鸿沟。于是先把每个字段的标签分别用句向量模型编码,对目标侧标签做 k-means 聚类(\(k=100\),把大量措辞各异的短语压成一组紧凑的语义中心——这些中心就是锚点(anchors),相当于目标域概念版图的稳定、去噪表示。再把源样本投影到同一向量空间,按余弦相似度给每条源样本分配最相关的锚点(Task 取 top-1,Topic/Style/Audience 各取 top-3)。这是一种"软"的、可解释的测试引导式语义投影,而不是硬标签搬运,从而把目标域特征细粒度地注入源池。注意:后续对齐用的"标签"指的就是这些锚点(簇),不是 LLM 原始生成的短语标签。

3. LLM 评分过滤开集标签噪声:把传错的样本剔掉

把目标锚点传播到源域,必然引入开集标签噪声——一些和任何目标标签都不相关的指令被强行贴上了某个锚点。学习噪声标签领域常用"记忆效应"来检测:DNN 先学干净模式后记噪声,训练几轮按 loss 排序、高 loss 即噪声。但在这个多字段设定下,给每个字段训练独立 DNN 既贵又不通用,标签空间一变就得重训,扩展性差。

作者改用 LLM 的推理能力直接打分:让 LLM 评估每条样本与其被分配锚点之间的语义契合质量,给出一个分数;低于预设阈值(如 score < 6)的样本被判为分布外(OOD)即开集噪声,从源池移除。阈值是个权衡——阈值过高会把太多干净相关样本也滤掉,过低又放进太多无关样本,这和噪声标签学习里的取舍同构。实验里阈值(min score 取 5/6/7)确实对结果有可见影响。

4. 增量采样缓解 target shift:让选出子集的标签分布贴近目标

过滤掉 OOD 后,剩余源数据和目标集之间仍可能有分布偏移;直接随机抽 10K 不够好。作者借域适应理论指出,现实中更关键的是 target shift(先验概率偏移):假设条件分布 \(P(X\mid Y)\) 在目标域和清洗后源域上稳定,而标签分布 \(P(Y)\) 不同——因此对齐 \(P(Y)\) 比对齐协变量更有利于鲁棒性。

采样目标就写成最小化锚点分布的 \(L_1\) 差距 \(\lVert P^*(Y)-\hat P(Y)\rVert_1\),其中 \(P^*(Y)\) 是目标集的经验锚点分布、\(\hat P(Y)\) 是已选源子集的经验锚点分布。具体用一个贪心增量采样(Algorithm 1):每一步算各标签的差距 \(g(y)=P^*(y)-\hat P(y)\),挑出差距最大且还有未用候选的标签 \(y^*\),从带该标签的候选里选一条加入 \(S\) 并更新 \(\hat P(Y)\),直到预算 \(N\) 用完或无可用候选。该算法对每个字段(Task / Topic / …)独立运行,因为每条样本在每字段含固定数量标签,加入一条会同时更新它携带的所有标签计数,在密集语义字段里产生天然的平衡效应、加速 \(\hat P(Y)\) 收敛到 \(P^*(Y)\)。一个好处是灵活:对齐按字段进行,可根据下游需求选择按 Task、Topic 还是别的字段对齐。

损失函数 / 训练策略

没有新的训练损失——TADS 是数据选择流水线,最终用选出的 10K 子集对 LLaMA-3.1-8B 做标准 LoRA 指令微调。流水线内部用三个现成模型分工:Qwen2.5-7B-Instruct 负责标注与打分,BGE-M3 负责 embedding 与聚类,LLaMA-3.1-8B 作被微调的目标模型。

实验关键数据

数据池由 5 个常用指令微调数据集合成共 300K(Flan V2 100K、Open-Assistant 1 33K、WizardLM 100K、Dolly 15K、Stanford Alpaca 52K);在 MMLU / TruthfulQA / GSM8K / BBH / TyDiQA 五个基准上评测,每个基准抽 20% 测试集合并成目标集来引导选择,其余 80% 用于最终评测。除 Full(300K) 与 Vanilla 外,所有选择方法都只选 10K。

主实验

方法 MMLU TruthfulQA GSM BBH TyDiQA
Vanilla Base Model 64.3 32.8 51.0 54.8 22.7
Full (300K) 63.6 44.1 49.0 57.9 66.4
Random 63.7 29.1 54.0 60.2 60.5
BM25 63.2 25.2 51.3 58.8 62.0
RDS+ 63.8 3.6 53.8 59.4 60.3
LESS 63.3 35.1 56.1 61.1 64.0
TSDS 63.6 44.1 50.0 62.1 63.5
Align_topic (本文) 64.5 46.9 57.0 60.2 58.6
Align_style (本文) 64.2 47.2 57.8 58.9 59.3
Align_task (本文) 64.4 46.5 57.5 58.9 59.3

(min score ≥7。)本文四种字段对齐在 MMLU、TruthfulQA、GSM 上全面领先 LESS/TSDS,BBH 接近 TSDS;唯独在 TyDiQA 上明显落后——作者归因于 TyDiQA 是多语言数据集,设计的四个英文语义字段没能很好捕捉其特性,导致相关源样本大多被滤掉。即便把选择规模压到 1K/5K(Table 4),Align_style 仍稳定优于同规模 Random,说明在极小预算下也有效。

消融实验

配置 MMLU TruthfulQA GSM BBH TyDiQA
仅增量采样(无 OOD 过滤) 64.3 3.5 55.0 49.1 60.5
仅 OOD 过滤 + 随机采样 64.8 42.1 55.0 61.9 56.4
完整方法(过滤+增量采样) 65.1 42.6 55.5 62.5 59.1
设计对照(验证联合对齐必要性) MMLU TruthfulQA GSM BBH TyDiQA
RDS+ 63.6 3.5 54.0 59.1 60.2
RDS+(直接灌入语义标签信息) 63.7 5.4 53.5 60.7 59.7
本文流水线直接作用于 \(X\)(去掉标注) 63.4 40.8 54.0 59.9 58.2
用相似度过滤替换 LLM 过滤 63.0 28.3 51.0 57.4 61.6
本文完整流水线(align topic, min score 7) 64.6 46.4 57.0 60.0 59.3

关键发现

  • 两个模块缺一不可:只做增量采样不过滤,TruthfulQA 崩到 3.5(噪声样本毒化);只过滤+随机采样,BBH 仅 61.9;两者合起来才在多数基准取得最佳。其中 OOD 过滤对 TruthfulQA 这类对噪声敏感的任务贡献巨大。
  • 收益来自联合对齐而非聚类采样本身:把同一套聚类+采样流水线直接作用于 \(X\)(去掉 LLM 标注),TruthfulQA 从 46.4 掉到 40.8、其余也普遍下降,证明增益确实源于 \(P(X,Y)\) 联合对齐;而单纯把语义标签灌进 RDS+ 几乎没改善,说明必须配合显式分布对齐才能用好标签信息。
  • LLM 过滤优于相似度过滤:用 cosine 相似度替换 LLM 打分做 OOD 过滤后全面掉点(如 TruthfulQA 46.4→28.3),说明 LLM 的语义判断更可靠。
  • 超参稳健:聚类数 \(k\) 在 50–150 之间结果稳定,\(k\) 太小(如 20)会让 TruthfulQA 方差变大,最终固定 \(k=100\)

亮点与洞察

  • 用互信息分解给"为什么要看标签"一个干净的理论说法\(I(T;(X_S,Y_S))=I(T;X_S)+I(T;Y_S\mid X_S)\),一眼点明传统方法漏掉了第二项,这种"先讲清楚漏了什么、再补上"的叙事比单纯报点更有说服力。
  • 代理标签是把"不可观测的 \(Y\)"变可用的关键 trick:用 LLM 造结构化标签、再聚类成锚点去噪,本质是把"标签不可得"这个硬约束转化成"带噪标签 + 噪声鲁棒处理"这个有成熟工具的问题,从而能借域适应和噪声标签学习两套理论。
  • 把数据选择问题嫁接到 target shift:明确假设 \(P(X\mid Y)\) 稳定、只 \(P(Y)\) 变,于是采样目标简化为对齐锚点分布的 \(L_1\) 差距,配一个贪心增量算法即可,简单可解释、且按字段独立可灵活切换对齐维度——这种"选哪个字段对齐由下游决定"的设计很实用。

局限与展望

  • 多语言/特殊任务上的字段失效:作者自己承认在 TyDiQA 上明显落后,根因是四个通用语义字段对多语言特性刻画不足、相关样本被误滤。对这类任务需要定制更贴切的标签域。
  • 强依赖 LLM 标注与打分的质量:整条流水线的标签和过滤都建立在 Qwen2.5-7B 的输出上,标注或评分偏差会直接传导到选择结果;阈值(min score)也需按任务调,过高过低都伤性能,缺少自适应机制。
  • target shift 假设可能不成立:方法假定 \(P(X\mid Y)\) 在源、目标域间稳定,但现实中条件分布也可能偏移,此时只对齐 \(P(Y)\) 未必充分。
  • 评测目标集来自基准测试集本身:用各基准 20% 测试集合成目标集来引导选择,虽与 80% 评测集不重叠,但目标集与评测同源,可能高估了在"目标信息更稀缺"真实场景下的表现。

相关工作与启发

  • vs LESS / TSDS:两者都只对齐边缘输入分布——LESS 用梯度相似度估计样本影响,TSDS 把选择形式化为带多样性正则的最优传输。本文直指它们的共性缺陷:不看目标标签,无法验证候选输出和目标输出在语义上是否一致;本文用代理标签把对齐升级到联合分布 \(P(X,Y)\),在多数基准上反超。
  • vs InsTag:InsTag 同样用 LLM 生成伪标签并按 tag 统计做选择,但它是任务无关的,不与任何目标任务分布对齐;本文显式引入任务感知的分布对齐,更完整。
  • vs 域适应 / 噪声标签学习:本文把"代理标签传播引入噪声"对应到噪声标签学习、把"清洗后仍存域偏移"对应到域适应,分别用 LLM 评分过滤和 target-shift 增量采样应对,相当于把两套经典理论迁移进 LLM 数据选择,这条嫁接思路本身可复用到其他"标签弱可得"的选择场景。

评分

  • 新颖性: ⭐⭐⭐⭐ 把任务相关数据选择从 \(P(X)\) 重构成 \(P(X,Y)\) 联合对齐,并用代理标签落地,框架层面的重新定义有分量。
  • 实验充分度: ⭐⭐⭐⭐ 五基准 + 多规模 + 双消融(模块贡献 + 联合对齐必要性)较扎实,但目标集与评测同源、TyDiQA 失效暴露泛化边界。
  • 写作质量: ⭐⭐⭐⭐ 动机用具体例子和互信息讲得很清楚,流水线四步条理分明。
  • 价值: ⭐⭐⭐⭐ 只选 10K/300K 即媲美 SOTA,思路(造代理标签 + 噪声鲁棒 + 分布对齐)实用且可迁移。