[阅读笔记2][FLAN]FINETUNED LANGUAGE MODELS ARE ZERO-SHOT LEARNERS

接下来这篇是谷歌的FLAN,提出了指令微调这一新范式,在2022年发表。

这篇论文指出GPT3的zero-shot性能相比few-shot性能差太多了。他们发现如果对预训练模型进行指令微调能使zero-shot性能显著提升,下面右图显示指令微调后zero-shot比GPT3 few-shot性能都要强。

左图解释了指令微调,就是把输入转化为指令的格式,然后再去不相关的任务上做微调,最后却能提升没见过任务的性能。

指令微调是将前两种范式进行了结合,提升了语言模型在推理时的交互响应。

第一种范式就是预训练微调范式,针对特定任务需要特定数据集来微调。

第二种范式是gpt3提出的prompting范式,把任务相关的示例输入给模型,利用模型上下文学习能力来得到想要的输出。

第三种就是本文提出的指令微调范式,可以显著提升模型的zero-shot能力。

微调一共使用了62个文本数据集,每个数据集又属于不同任务,按照任务分类可以分为12类。为了测试模型的zero-shot能力,他这里定义了一下没见过的任务,他认为只有任务类中所有数据集都没见过,那这个任务才算是没见过的任务。以自然语言推理任务为例,使用剩余11个任务类中数据集进行微调,然后自然语言推理任务中的数据集作为测试集进行测试。

对于每一个数据集,作者又定义了10个不同的输入模板,这是为了防止模型对某一特定输入过拟合。但后续实验证明效果不明显。

模型使用的是LaMDA的预训练版本,然后对其进行指令微调。下图是FLAN的zero-shot性能,虽然模型不如GPT3大,但是性能却比GPT3要好。

作者做了三个消融实验,第一个是考虑参与微调的任务类数量,如图中所示,随着微调的其他任务增多,模型平均性能持续上升。第二个消融是考虑模型大小,对于大模型指令微调才有性能提升的作用,对于小模型反而性能变差了,对于这点可能的解释是对小模型微调会挤占参数空间,造成预训练的通用知识遗忘。

最后一个消融是考虑指令格式的作用,因为性能提升也可能单纯因为进行了微调,扩大了参与训练的语料。以翻译任务为例,作者将模型输入分为了三种格式,第一种就是简单输入待翻译句子,第二种先输入任务名再输入数据集名最后是句子,第三种就是指令格式。可以看到还是使用指令格式的输入性能最好,也就是说模型提升纯粹是因为指令这种格式。

相关推荐
lczdyx6 分钟前
【胶囊网络 - 简明教程】02-1 胶囊网络 - 整体架构设计
人工智能·深度学习·机器学习·ai·大模型·反向传播·胶囊网络
lingliang7 分钟前
Web3学习笔记:Day2-Solidity基础语法
笔记·学习·web3
小雨中_7 分钟前
2.6 时序差分方法(Temporal Difference, TD)
人工智能·python·深度学习·机器学习·自然语言处理
寒秋花开曾相惜16 分钟前
(学习笔记)2.2 整数表示(2.2.3 补码编码)
c语言·开发语言·笔记·学习
落羽的落羽17 分钟前
【Linux系统】磁盘ext文件系统与软硬链接
linux·运维·服务器·数据库·c++·人工智能·机器学习
民乐团扒谱机20 分钟前
【硬科普】位置与动量为什么是傅里叶变换对?从正则对易关系到时空弯曲,一次讲透
人工智能·线性代数·正则·量子力学·傅里叶变换·对易算符
winfreedoms25 分钟前
ros2开发入门——黑马程序员ROS2上课笔记
笔记
七夜zippoe38 分钟前
图神经网络实战:从社交网络到推荐系统的工业级应用
网络·人工智能·pytorch·python·神经网络·cora
啊阿狸不会拉杆39 分钟前
《计算机视觉:模型、学习和推理》第 1 章 - 绪论
人工智能·python·学习·算法·机器学习·计算机视觉·模型
X54先生(人文科技)40 分钟前
叙事响应:《当预言泛起涟漪——碳硅智能时代的叙事开篇》
人工智能·ai编程·ai写作