数据多样性探索

在大语言模型(LLM)的训练数据构建过程中,数据多样性是影响模型泛化能力和鲁棒性的重要因素。数据多样性可以从 数据用途数据形式数据语义 三个维度来考量与设计。


1. 数据用途多样性(Task Type)

1.1 基于任务类型的多样性设计

  • 参考已有任务列表
    例如 OpenAI 官网上列出了 ChatGPT 擅长的任务,如翻译、Emoji 聊天等。可以将这些任务作为数据收集的参考方向。

  • 补充传统 NLP 任务
    LLM 本质上是语言模型,因此也可以执行传统 NLP 模型的任务,比如命名实体识别(NER)、机器阅读理解(MRC)、意图识别(Intent Classification)等。
    若模型已有相似任务数据,可以不重复收集。

  • 结合业务需求
    根据下游业务场景,提前在 SFT 阶段加入特定场景数据。例如节日前让模型接触春联、灯谜等任务数据,只要质量合格,通常不会破坏模型能力。

1.2 双层 Task Type

实际中经常存在 双层任务类型,例如:

  • “逻辑推理 - 常识推理”
  • “逻辑推理 - CoT 多步骤推理”

数据量分配建议

  • 难度较高的 task_type → 分配更多数据
  • 难度较低的 task_type → 分配较少数据
    应结合 base 模型的当前能力动态调整分配比例。

2. 数据形式多样性

2.1 Prompt 表达方式多样性

避免单一表达。例如翻译任务,不仅是:
把中文句子 A 翻译成英文。
还可以是:

  • “我在英国旅游,需要向路人问路,想表达 A 的意思,该怎么说?”
  • “我是英文老师,需要向学生讲解句子 A 的英文表达,请用最地道的方式帮我完成。”

目的:防止模型只记住 prompt 中的几个关键 token,从而导致过拟合或泛化能力下降。


2.2 Prompt 难度控制

  • 对同一语义空间内的 prompt,控制难度差异。
  • 可借助 Wizard 方法(指令进化),利用 GPT-4 升级 prompt 难度,从而构建 complexity 丰富的 prompt 集。

2.3 Prompt 长度均衡

  • 同时包含短 prompt 与长 prompt,避免 attention 退化无法聚焦长 prompt。
  • 长 prompt 不仅是字面长度长,还应包含关键信息随机分布在开头 / 中间 / 结尾等不同位置,防止模型“偷懒”只关注起始或结尾 token。

2.4 Answer 长度均衡

  • 数据中既要有短答案,也要有长答案。
  • 特别是需要包含一些长答案数据,让模型学会生成长文本,以应对如“生成不少于 2000 字”之类的指令。

2.5 多轮聊天中的 Topic 切换能力

  • 部分 query 与当前 session 有关,部分无关。
  • 模型需要学会判断 query 是否依赖于上下文 session。

2.6 Answer 分布多样性

  • 避免大量数据的答案相同。例如总数据 1 万条,其中 1 千条答案完全一致,会导致模型过拟合。
  • 因为 answer 直接参与 loss 计算,answer 越单一,越容易让模型记忆化而不是学习模式。

2.7 形式多样性总结

一句话概括:
数据形式不能让模型轻易找到规律,关键信息在 prompt 中的位置分布必须足够随机
这样可避免模型在训练中出现 Bias,而是能完整理解 prompt 的全貌。
这对 LLM-as-a-Judge 类型的任务尤为重要。


3. 数据语义多样性

3.1 不同采样策略

  • Top-N 采样
    保留概率最高的 NNN 个 token 进行采样,适合稳定输出,但可能降低多样性。
  • 线性采样
    按概率线性分布采样,能保持一定多样性。
  • 对数采样
    放大小概率 token 的选择机会,提高稀有表达的出现频率。

3.2 采样前后语义分布变化分析

可从以下指标观察多样性变化:

  • 句向量在语义空间中的分布范围变化
  • 向量空间中的平均距离
  • Token 出现的词频统计

3.3 利用向量方法评估语义多样性

  1. 使用 SimBERT 获得数据的 embedding 向量。
  2. 使用 K-MeansKNN 聚类分析数据分布。
  3. 基于聚类结果计算每条数据的多样性权重,优先保留语义分布稀疏的数据。

4.1 多样性权重计算

假设数据集的 embedding 向量为:
E={e1,e2,…,en} E = \{ e_1, e_2, \dots, e_n \} E={e1,e2,,en}

在向量空间中,每条数据 eie_iei 的多样性权重可定义为与其最近邻集合的平均距离:
wi=1k∑j∈Nk(i)∥ei−ej∥2 w_i = \frac{1}{k} \sum_{j \in \mathcal{N}_k(i)} \| e_i - e_j \|_2 wi=k1jNk(i)eiej2
其中:

  • Nk(i)\mathcal{N}_k(i)Nk(i) 表示 eie_ieikkk 个最近邻集合
  • ∥⋅∥2\| \cdot \|_22 表示欧几里得距离

4.2 Top-N 采样概率

给定预测概率分布 P(w)P(w)P(w),Top-N 采样的归一化概率为:
P′(w)={P(w)∑u∈TopNP(u),w∈TopN0,otherwise P'(w) = \begin{cases} \frac{P(w)}{\sum_{u \in \text{TopN}} P(u)}, & w \in \text{TopN} \\ 0, & \text{otherwise} \end{cases} P(w)={uTopNP(u)P(w),0,wTopNotherwise


5. 总结

数据多样性应当从 用途、形式、语义 三个维度综合设计。

  • 用途多样性确保模型在不同任务场景下都能胜任。
  • 形式多样性防止模型依赖固定模式,从而提升泛化能力。
  • 语义多样性保证模型知识覆盖广度和表达灵活性。

在实际构建训练数据时,应综合使用任务扩展、Prompt 多样化设计、采样策略优化、向量空间分析等方法,以最大化提升 LLM 的能力边界与稳定性。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐