在 Instruction Learning 中讲到,Instuction Learning 是给定模型一个任务描述,期待模型能够根据描述进行任务解答,如:
本部份共15题,每题含一格空格。请在试题册上 A、B、C、D 四个选项中选择最适合题意的字或词,并标在答案纸上。
以这种叙述的方式,让模型一下子理解可能并没有理想中那么好,因为自回归的 GPT 系列,或者说大多数对话模型的训练方式,都是预测下一个 token,而不是去理解题意做填空或者选择。所以为了提升效果,或许也需要进行微调。
Instruction Tuning(指令微调)是 Prompt-Tuning 的一种,有时候也被称为 Instruction Fine-Tuning(IFT)。针对目标任务,Instuction Tuning 首先会在其他简单任务上进行指令微调,然后再直接让模型去解决目标任务。这种方式类似于课程学习的方式,先学习底层的任务(如命名实体识别,序列语义标注),再学习上层的任务(如逻辑推理,问答);先学习资源丰富的任务(如英语/大数据任务),再学习资源较少的任务(如小语种、少数据任务),并利用适配器(Adapter)保留模型中任务专用的部分。最后,给出指令让模型面对新数据、新任务进行推理。
<aside> 💡 测试的任务是不存在训练的任务中的。
</aside>
Instruction Tuning 和 Prompt Turning 的核心一样,就是去发掘语言模型本身具备的知识。两者的区别是,Prompt Tuning 是激发语言模型的补全能力,比如给出上半句生成下半句、或者做完形填空,都还是像在做 LM 任务;而 Instruction Tuning 是激发语言模型的理解能力,通过给出更明显的指令,让模型去理解并做出正确的反馈。Instruction Tuning 需要对预训练模型参数进行微调,而 Prompt Tuning 可以冻结预训练模型参数。
text-davinci-003
,有些更擅长对话,如ChatGPT
。