大模型训练数据集说明文档

1. SFT(Supervised Fine-Tuning)监督微调

原理

SFT是一种有监督的微调方法,通过人工标注的高质量问答对来指导模型学习。其核心原理是:

  1. 构建问答对数据集,包含输入和期望的输出
  2. 使用这些数据对预训练模型进行微调
  3. 模型通过最小化预测输出与真实答案之间的差异来学习
  4. 逐步调整模型参数,使其在特定任务上表现更好

数据格式

{
    "messages": [
        {"role": "user", "content": "什么是SFT?"},
        {"role": "assistant", "content": "在自然语言处理(NLP)领域,Supervised Finetuning(SFT)是一种至关重要的技术手段,用来提升大模型在某一特定领域的表现。通过精细的策划和实施,SFT能够指导模型的学习过程,确保其学习成果与既定目标高度吻合。"}
    ]
}

格式说明:

  • messages: 包含对话历史的数组
  • role: 角色标识
    • “user”: 用户输入
    • “assistant”: 助手回答
  • content: 具体的文本内容

使用场景

  • 专业领域知识训练
  • 特定问答模式训练
  • 统一回答风格
  • 标准化服务流程

特点

  • 问答对形式
  • 需要高质量标注
  • 直接指导模型输出
  • 可以精确控制回答方式

2. DPO(Direct Preference Optimization)直接偏好优化

原理

DPO通过直接学习人类偏好来优化模型输出。其工作原理是:

  1. 收集同一问题的多个不同回答
  2. 人工标注这些回答的优劣
  3. 模型学习区分好的回答和差的回答
  4. 通过偏好学习,调整模型参数,使其倾向于生成更好的回答

数据格式

{
    "messages": [
        {"role": "system", "content": "你是一个专业的购物助手"},
        {"role": "user", "content": "这件衣服我穿着不合适,想退货"},
        {"role": "assistant", "chosen": "您好!很抱歉给您带来不便。我可以帮您处理退货事宜。请问您是否还保留着商品吊牌?我来为您说明退货流程和所需材料。",
         "rejected": "退货要看商品情况,如果穿过或者弄脏了就不能退了。"}
    ]
}

格式说明:

  • system: 系统角色设定
  • user: 用户输入
  • assistant: 包含两种回答
    • chosen: 被选中的好的回答
    • rejected: 被拒绝的差的回答

使用场景

  • 优化回答质量
  • 改善服务态度
  • 提升用户体验
  • 规范回答方式

特点

  • 包含优劣对比
  • 直接学习偏好
  • 更容易控制输出质量
  • 需要人工标注好坏样例

3. 继续预训练(Continue Pretraining)

原理

继续预训练是在原有预训练基础上,使用新的领域数据继续训练模型。其原理包括:

  1. 收集目标领域的大量文本数据
  2. 使用与预训练相同的目标函数继续训练
  3. 模型通过自监督学习掌握领域知识
  4. 在保持原有能力的同时获得新的领域理解

数据格式

{"text": "火山方舟通过稳定可靠的安全互信方案,保障模型提供方的模型安全与模型使用者的信息安全,加速大模型能力渗透到千行百业,助力模型提供方和使用者实现商业新增长。"}

格式说明:

  • text: 单个字段,包含完整的文本段落
  • 文本应该是完整、连贯的句子或段落
  • 不需要特殊标注或标签
  • 支持多种类型的文本内容

使用场景

  • 领域知识学习
  • 新知识更新
  • 行业术语学习
  • 文风适应

特点

  • 纯文本格式
  • 不需要问答标注
  • 可处理大量文本
  • 基础能力提升

4. 文本向量化-SFT精调(Text Embedding)

原理

文本向量化-SFT通过学习文本的语义表示来优化匹配效果。其工作原理是:

  1. 将查询和文档转换为向量表示
  2. 通过相似度计算进行匹配
  3. 使用标注数据指导模型学习更好的向量表示
  4. 优化向量空间中的语义关系

数据格式

{
    "query": "乐清市珍俊服装店",
    "docs": [
        {
            "text": "标题:看来彩礼是要高了些..CCC#服装人#抖音助手#做个快乐的女孩#实体店#穿搭",
            "label": 1,
            "loss_weight": 0
        }
    ]
}

格式说明:

  • query: 查询文本,用作匹配的基准
  • docs: 文档数组,包含待匹配的文本
    • text: 文档内容
    • label: 相关性标签(1表示相关,0表示不相关)
    • loss_weight: 损失权重,用于调整训练重要性

使用场景

  • 搜索优化
  • 内容推荐
  • 相似度匹配
  • 智能问答

特点

  • 包含查询和文档对
  • 需要相关性标注
  • 支持多文档匹配
  • 适合搜索场景

四种方法对比

1. SFT(监督微调)

优点:

  • 直接有效
  • 控制精确
  • 效果明显
  • 适合特定场景

缺点:

  • 需要大量标注
  • 成本较高
  • 可能过拟合
  • 泛化性有限

2. DPO(直接偏好优化)

优点:

  • 质量可控
  • 效果直观
  • 易于理解
  • 改善明显

缺点:

  • 需要对比样本
  • 标注工作量大
  • 主观性较强
  • 样本构造难度大

3. 继续预训练

优点:

  • 数据要求低
  • 可扩展性强
  • 基础能力提升
  • 成本相对较低

缺点:

  • 效果不够直接
  • 训练时间长
  • 资源消耗大
  • 效果不易评估

4. 文本向量化-SFT

优点:

  • 匹配效果好
  • 适合搜索场景
  • 可扩展性强
  • 应用范围广

缺点:

  • 需要相关性标注
  • 依赖数据质量
  • 计算资源要求高
  • 更新维护成本大

选择建议

  1. 如果需要快速提升特定场景的回答质量,选择 SFT
  2. 如果要改善模型的输出偏好和质量,选择 DPO
  3. 如果要提升模型的基础理解能力,选择继续预训练
  4. 如果要优化搜索和匹配功能,选择文本向量化-SFT

建议根据实际需求和资源情况,选择合适的方法或组合使用多种方法。

组合使用策略

在实际应用中,这四种方法常常需要组合使用以获得最佳效果:

  1. 基础能力构建

    • 先使用继续预训练构建领域基础能力
    • 积累领域知识和术语理解
  2. 能力精细化

    • 使用SFT进行具体任务的精调
    • 通过DPO优化输出质量
  3. 搜索能力增强

    • 使用文本向量化-SFT优化检索能力
    • 提升问答的准确性
  4. 持续优化

    • 收集用户反馈
    • 定期更新训练数据
    • 迭代优化模型效果
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐