指令数据构造方法论


一句话总结

高质量指令数据是SFT成功的核心,构造方法包括人工标注、模型生成(Self-Instruct)和开源数据清洗三大路线。

核心概念

人工标注:由训练有素的标注员编写指令和回复,质量最高但成本昂贵。OpenAI的InstructGPT使用了约13000条人工标注数据。Self-Instruct:用强大的语言模型(如GPT-4)生成指令数据,通过种子任务引导模型生成多样化的指令-回复对。Evol-Instruct(WizardLM)通过让模型逐步增加指令复杂度来提升数据难度。开源数据清洗:从ShareGPT、OASST等社区数据中筛选高质量样本,通过规则过滤和模型打分结合进行质量控制。

为什么重要

指令数据的质量和多样性直接决定SFT模型的能力边界。数据设计不当会导致模型在某些任务上过度拟合而在其他任务上失能。好的数据构造方法能以较低成本获得高质量训练数据。

实践要点

质量控制策略:用强模型对数据进行评分排序,只保留高分样本。多样性控制:按任务类型、难度级别、回复长度分桶采样。去污染:确保训练数据不包含评测基准的测试样本。建议混合多来源数据:少量人工标注(保证质量锚点)+大量模型生成(保证覆盖度)。数据规模建议:5K-100K条高质量数据通常足够。

常见误区

误区一:追求数据量忽视质量。100条精心设计的数据可能比10000条粗糙数据更有效。误区二:只用英文数据训练多语言模型,导致中文等其他语言能力退化。误区三:数据中回复风格不一致(有时简洁有时冗长),导致模型输出风格不稳定。