1.5 SFT监督微调训练数据的多样性
数据多样性探索
在大语言模型(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 利用向量方法评估语义多样性
- 使用 SimBERT 获得数据的 embedding 向量。
- 使用 K-Means 或 KNN 聚类分析数据分布。
- 基于聚类结果计算每条数据的多样性权重,优先保留语义分布稀疏的数据。
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=k1j∈Nk(i)∑∥ei−ej∥2
其中:
- Nk(i)\mathcal{N}_k(i)Nk(i) 表示 eie_iei 的 kkk 个最近邻集合
- ∥⋅∥2\| \cdot \|_2∥⋅∥2 表示欧几里得距离
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)={∑u∈TopNP(u)P(w),0,w∈TopNotherwise
5. 总结
数据多样性应当从 用途、形式、语义 三个维度综合设计。
- 用途多样性确保模型在不同任务场景下都能胜任。
- 形式多样性防止模型依赖固定模式,从而提升泛化能力。
- 语义多样性保证模型知识覆盖广度和表达灵活性。
在实际构建训练数据时,应综合使用任务扩展、Prompt 多样化设计、采样策略优化、向量空间分析等方法,以最大化提升 LLM 的能力边界与稳定性。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)