AIGC宇宙 AIGC宇宙

SFT 指令微调数据如何构建?

作者:Goldma
2025-03-25 10:27
SFT的重点是学习样式,而非知识注入,所以SFT的样本在于其质量而非数量,少量但精良的样本往往胜过大批中低品质的样本,实现同样甚至更优的微调效果。 通常情况下,2-10k数据就会有一个不错的效果。 这一理念在Meta发布的《LIMA: Less Is More for Alignment》论文中得到了有力阐述,该文献强调了在指令微调过程中,高品质微调数据的决定性作用。

SFT 指令微调数据如何构建?

SFT的重点是学习样式,而非知识注入,所以SFT的样本在于其质量而非数量,少量但精良的样本往往胜过大批中低品质的样本,实现同样甚至更优的微调效果。通常情况下,2-10k数据就会有一个不错的效果。这一理念在Meta发布的《LIMA: Less Is More for Alignment》论文中得到了有力阐述,该文献强调了在指令微调过程中,高品质微调数据的决定性作用。据此,SFT数据应当将重心放在提升样本质量的打磨上,而非单纯追求数量的增长。

1、构建策略

  • 任务导向策略:明确需要模型完成的具体任务,如文本分类、情感分析、机器翻译等,根据任务定义构建相应的指令模板。例如,对于文本分类任务,指令可以是“将以下文本分类为正面或负面”。
  • 数据来源多样化策略:收集与任务相关的原始数据,数据来源可以包括公开数据集、专业数据库、众包平台等。同时,可以结合领域知识库生成包含特定领域概念的指令和响应。
  • 数据增强策略:通过同义词替换、句子重构等方法增加数据多样性,提高模型的泛化能力。还可以适当构建few-shot及COT(Chain of Thought)数据加入训练,有助于模型的指令理解以及多轮对话能力。
  • 多任务学习与混合训练策略:可以采用多任务学习的方式,将不同的SFT数据源混合后进行训练。也可以采用混合序列训练或双阶段混合微调(DMT)策略,先在专业数据集上训练,再在通用能力数据集上训练,或在第二阶段加入不同比例的专业数据。

2、构建原则

样本多样性(Sample Diversity)

  1. 指令多样性:考察样本中指令的覆盖范围是否广泛,是否包含了各类任务类型、不同难度级别以及多样化的指令结构和表达方式,确保模型在微调后能应对多种复杂情境。
  2. 内容多样性:检查样本中提供的文本内容是否涵盖了不同主题、文体、长度以及语境,以避免模型在特定领域或文本类型上过拟合,确保其具备良好的泛化能力。

答案质量(Answer Quality)

  1. 准确性(Accuracy):评估答案是否准确无误地响应了给定指令和内容,是否忠实反映了任务要求,且不包含事实性错误、逻辑矛盾或语义模糊。
  2. 完备性(Completeness):考察答案是否全面覆盖了指令所要求的所有任务点,尤其对于多步骤或复合任务,答案应完整体现所有必要的操作结果。
  3. 简洁性与清晰度(Conciseness & Clarity):衡量答案是否言简意赅、表达清晰,避免冗余信息或含糊表述,确保模型在微调后生成的输出易于理解和使用。

一致性(Consistency)

  1. 内部一致性:检查同一指令对不同内容的处理结果是否保持一致,即模型在相似情境下应给出相似的答案。
  2. 外部一致性:对比样本答案与已知的知识库、专家判断或公认的基准结果,确保答案符合领域共识和常识。

难度适配(Difficulty Calibration)

难易程度分布:分析样本集中简单、中等、复杂任务的比例,确保微调数据集包含不同难度级别的样本,有助于模型逐步提升处理复杂指令的能力。

噪声控制(Noise Reduction)

  1. 标签错误检查:识别并剔除标注错误或不一致的样本,确保答案与指令、内容间的映射关系正确无误。
  2. 数据清洗:去除重复样本、无关内容或低质量文本,提升数据集的整体纯净度。

3、构建流程

  1. 确定任务和指令:明确任务定义,根据任务构建相应的指令模板。
  2. 收集原始数据:从公开数据集、专业数据库或众包平台等渠道收集与任务相关的原始数据。
  3. 数据清洗:对收集的数据进行清洗,去除无效或不相关的信息。
  4. 标注数据:按照制定的标注标准,通过人工标注或使用半自动化工具标注数据,包括指令和预期输出。
  5. 设计指令微调数据集:将数据集分割为训练集、验证集和测试集。同时,根据需要对指令进行格式化,确保与模型输入要求一致。
  6. 增强数据多样性:通过数据增强方法和覆盖不同场景,提高数据的多样性和模型的泛化能力。
  7. 评估和迭代:对构建的数据集进行评估,检查数据质量和多样性是否符合要求。根据评估结果进行迭代优化,以提高数据集的质量。
相关标签:

相关资讯

将偏好学习引入模型训练,北大李戈团队新框架,可显著提升代码准确性与执行效率

代码模型SFT对齐后,缺少进一步偏好学习的问题有解了。 北大李戈教授团队与字节合作,在模型训练过程中引入偏好学习,提出了一个全新的代码生成优化框架——CodeDPO。 在部分模型上,相比于单独使用SFT,CodeDPO能够将模型的HumanEval得分再多提升10个百分点,最高增幅接近1/3。
11/27/2024 1:36:10 PM

OpenAI 把 GPT-4 原始版给了瑞士洛桑联邦理工团队:研究不微调只靠提示词能走多远

除了 OpenAI 自己,居然还有别人能用上 GPT-4-Base 版??也就是未经微调的预训练版,还不会对话聊天,只会补全句子的模型。EPFL(瑞士洛桑联邦理工)团队申请到了访问权限,用于研究“上下文学习足以让大模型跟随指令吗?”。也就是不用监督微调、也不用 RHLF 或其他强化学习对齐方法,只靠提示词能走多远?预训练模型,究竟能不能一步登天,直接改造成聊天机器人或 AI 助手?如果可行,将大大降低类 ChatGPT 大模型的开发难度。免微调对齐靠谱吗?免微调对齐,让刚出炉的预训练模型不止会“文本补全”,只从提示
6/3/2024 6:38:37 PM
清源

Sebastian Raschka:关于DeepSeek R1和推理模型,我有几点看法

著名 AI 研究者和博主 Sebastian Raschka 又更新博客了。 这一次,他将立足于 DeepSeek 技术报告,介绍用于构建推理模型的四种主要方法,也就是如何通过推理能力来增强 LLM。 Sebastian Raschka 表示:「我希望这能提供有价值的见解,并帮助你了解围绕这一主题的快速演变的文献和话题炒作。
2/9/2025 2:42:00 PM
机器之心