大模型(LLMs)LLM生成SFT数据方法

90 阅读2分钟

一、SFT数据集如何生成?

SFT数据集构建通常有两种方法:人工标注和使用LLM(比如GPT-4)来生成的,人工标注对于构 建垂直领域比较合适,可以减少有偏数据,但是成本略高;使用LLM生成,可以在短时间内生成大 量数据。

SFT数据集构建以及SFT微调Pipeline如下图所示:

二、Self-Instruct 篇

  1. 什么是 Self-Instruct ? Self-Instruct(arxiv.org/abs/2212.10…的指令遵循能力的框架。
  2. Self-Instruct 处理思路?
  • 步骤1:作者从 175个种子任务中随机抽取 8 条自然语言指令作为示例,并提示InstructGPT生成更多的任务指令。

  • 步骤2:作者确定步骤1中生成的指令是否是一个分类任务。如果是,他们要求 InstructGPT 根据给定的指令为输出生成所有可能的选项,并随机选择特定的输出类别,提示 InstructGPT 生成相应的“输入”内容。对于不属于分类任务的指令,应该有无数的“输出”选项。作者提出了“输入优先”策略,首先提示 InstructGPT根据给定的“指令”生成“输入”,然后根据“指令”和生成的“输入”生成“输出”。

  • 步骤3:基于第 2 步的结果,作者使用 InstructGPT 生成相应指令任务的“输入”和“输出”,采用 “输出优先”或“输入优先”的策略。

  • 步骤4:作者对生成的指令任务进行了后处理(例如,过滤类似指令,去除输入输出的重复数 据),最终得到52K条英文指令

三、Backtranslation 篇

3.1 什么是 Backtranslation?

回译在传统的机器学习中是一种数据增强方法,比如从中文翻译成英文,再从英文翻译会中文,这 样生成的中文与原来的中文在语义上是一致的,但是文本不同;然而SFT数据生成的回译

arxiv.org/abs/2308.06…