SELF-INSTRUCT: Aligning Language Model with Self Generated Instructions
小虎AI珏爷:ChatGPT背后的技术之理解人类反馈强化学习(RLHF)
小虎AI珏爷:ChatGPT可能的应用场景及Prompt使用方式
小虎AI珏爷:ChatGPT指令模板大全-通用人工智能的觉醒
小虎AI珏爷:论文阅读-PaLM-E:一种体现的多模态语言模型
小虎AI珏爷:论文阅读:Language Models are Few-Shot Learners(巨无霸OpenAI GPT3 2020)
小虎AI珏爷:论文阅读:语言模型是无监督的多任务学习者(GPT2 2019)
小虎AI珏爷:LLaMA:开放高效的基础语言模型(Meta AI-2023)
小虎AI珏爷:ColossalChat:完整RLHF平替ChatGPT的开源方案
摘要
大型“指令微调”语言模型(经过微调以响应指令)已经证明了将zero-shot推广到新任务的非凡能力。然而,它们在很大程度上依赖于数量、多样性和创造性有限的人工书面指令数据,因此阻碍了调优模型的通用性。论文引入了SELF-Instruction,这是一个通过自举生成来提高预训练语言模型的指令跟随能力的框架。论文的pipline从语言模型中生成指令、输入和输出样本,然后在使用它们来微调原始模型之前对它们进行修剪。将论文的方法应用于变体GPT3,证明了在超自然指令上比原始模型有33%的绝对改进,与使用私人用户数据和人工标注训练的InstructGPT001的性能相当。为了进一步评估,论文为新任务策划了一组专家写的指令,并通过人工评估表明,使用SELF-Instruction调整GPT3的性能大大优于使用现有公共指令数据集,仅与InstructionGPT001相差5%的绝对差距。SELF-instruction提供了一种几乎无标注的方法,用于将预训练的语言模型与指令对齐,论文发布了大型合成数据集,以促进未来对指令调整的研究。
1 介绍
最近的NLP文献见证了在构建能够遵循自然语言指令的模型方面的大量活动(Mishra等人,2022;Wei等人,2020;Sanh等人,2022年;Wang et al.,2022;Ouyang等人,2022,Chung等人,2022)。这些发展由两个关键组成部分推动:大型预训练语言模型(LM)和人类书写的指令数据。PROMPTSOURCE(Bach et al.,2022)和SUPERNATURALINSTRUCTIONS(Wang et al.,2021)是最近两个值得注意的数据集,它们使用大量的手动标注来收集构建T0的指令(Bach等人,2022;Sanh等人,2021)和Tk-INSTRUCT(Wang等人,2022)。然而,考虑到大多数往往是流行的NLP任务,无法涵盖真正的各种任务和描述它们的不同方式,这一过程成本高昂,而且往往多样性有限。鉴于这些局限性,继续提高教学调优模型的质量需要开发替代方法来监督教学调优模型。
图1:自指导的高级概述。该过程从一个小的任务种子集(每个任务有一条指令和一个输入输出实例)作为任务池开始。随机任务从任务池中采样,用于提示现成的LM生成新指令和相应的实例,然后过滤低质量或类似的生成,然后添加回任务的初始存储库。
图1:自指导的高级概述。该过程从一个小的任务种子集(每个任务有一条指令和一个输入输出实例)作为任务池开始。随机任务从任务池中采样,用于提示现成的LM生成新指令和相应的实例,然后过滤低质量或类似的生成,然后添加回任务的初始存储库。所得到的数据可以用于稍后语言模型本身的指令调优,以便更好地遵循指令。图中所示的任务由GPT3生成。更多创意示例见表10。
表10:GPT3生成的具有代表性的有效任务。如§4所述,这些生成的任务涵盖了广泛的格式、文本类型和基础专业知识,同时在所有生成的任务中有一半以上是正确的。
在这项工作中,论文介绍了SELF-Instruction,这是一个半自动化的过程,用于使用来自模型本身的指令信号来调整预训练的LM。整个过程是一个迭代自举算法(见图1),它从一个有限的种子集手动编写的指令开始,这些指令用于指导整个生成。在第一阶段,将提示模型为新任务生成指令。此步骤利用现有的指令集来创建更广泛的指令,这些指令定义(通常是新的)任务。给定新生成的指令集,框架还为它们创建输入输出实例,这些实例稍后可用于监督指令调优。最后,在将低质量和重复的指令添加到任务池之前,使用各种措施来修剪它们。这个过程可以重复多次交互,直到完成大量任务。
为了从经验上评估自指导,论文在GPT3(Brown et al.,2020)上运行了这个框架,这是一个普通的LM(§4)。该模型上的迭代SELFINSTRUCT过程导致大约52k条指令,与大约82K个实例输入和目标输出配对。观察到,结果数据提供了各种各样的创造性任务,其中超过50%的数据与种子指令的ROUGEL重叠小于0.3(§4.2)。在这些结果数据上,通过微调GPT3(即用于生成教学数据的相同模型)来构建GPT3SELF-INST。论文在SUPERNATURALINSTRUCTIONS(Wang et al.,2022)中包括的典型NLP任务和为指令跟随模型的新用法创建的一组新指令(§5)上,与各种其他模型进行比较,评估GPT3SELF-INST。SUPERNI结果表明,GPT3SELF-INST的性能大大优于GPT3(原始模型)(+33.1%),几乎与InstructGPT001的性能相匹配。此外,论文对新创建的指令集的人工评估表明,GPT3SELF-INST表现出广泛的指令跟随能力,优于在其他公开可用的指令数据集上训练的模型,仅与InstructGPT001相差5%。
总之,论文的贡献是:(1)SELFINSTRUCT,一种用最少的人类标记数据诱导指令跟随能力的方法;(2) 通过大量的指令调整实验证明了它的有效性;(3) 发布了一个由52K指令组成的大型合成数据集和一组手动编写的新任务,用于构建和评估未来的指令跟随模型。
2 相关工作
遵循语言模型进行指令指导。一系列工作发现,有证据表明,如果使用标注的“指令”数据(包含语言指令命令及其基于人类判断的期望结果的数据集)进行调整,变体语言模型可以有效地遵循一般语言指令(Weller等人,2020;Mishra等人,2022年;Wang等人,2022;Wei等人,2021;Sanh等人,2022,Ouyang等人,2022);Parmar等人,2022、Scialom等人,2022和Chung等人,2022。此外,他们还显示了“指令”数据的大小和多样性与所得模型对看不见的任务的可推广性之间的直接相关性。由于这些发展依赖于人类标注的“指令”数据,这对更具普遍性的模型的进展构成了瓶颈(例如,参见Wang等人的图5a,2022)。论文的工作旨在通过减少对人工标注的依赖来解决这个瓶颈。
此外,尽管像InstructGPT这样的模型具有显著的性能(Ouyang et al.,2022),但它们的构建过程仍然相当不透明。特别是,由于这些关键模型背后的主要公司实体发布的数据和透明度有限,数据的作用仍然研究不足。应对这些挑战需要创建一个涵盖广泛任务的大规模公共数据集。
多模态学习文献中也对指令跟随模型感兴趣(Fried等人,2018;Shridhar等人,2020;Min等人,2022;Weir等人,2022)。自指导作为一种扩展数据的通用方法,在这些设置中也可能有所帮助。
用于数据生成和扩充的语言模型。许多工作都依赖于生成性LM来生成数据(Schick和Schütze,2021;Wang等人,2021;Liu等人,2022;Meng等人,2020)或增强(Feng等人,2021;Yang等人,2020;Mekala等人,2022.)。例如,Schick和Schütze(2021)建议将给定任务的人工标注替换为提示大型LM,并在SuperGLUE任务的背景下使用结果数据微调(通常较小)模型(Wang等人,2019)。虽然论文的工作可以被视为一种“扩充”形式,但论文的工作与这一行的不同之处在于,它不是特定于特定任务(例如QA或NLI)。相比之下,自指导的一个明显动机是引导新的任务定义,这些定义以前可能没有被任何NLP从业者定义过(尽管对下游用户来说可能仍然很重要)。
自训练。一个典型的自训练框架(He等人,2019年;Xie等人,2020年;Du等人,2021;Amini等人,2022年;Huang等人,2020)使用经过训练的模型为未标记的数据分配标签,然后利用新标记的数据改进模型。在类似的情况下,Zhou等人(2022a)使用多个提示来指定单个任务,并建议通过提示一致性进行正则化,鼓励对提示进行一致的预测。这允许使用额外的未标记训练数据来微调模型,或者在推理时直接应用。虽然自指导与自训练文献有一些相似之处,但大多数自训练方法都假设了特定的目标任务及其下的未标记示例;相比之下,SELF-Instruction从零开始生成各种任务。
知识蒸馏。知识蒸馏(Hinton等人,2015;Sanh等人,2019;West等人,2021;Magister等人,2022)通常涉及将知识从较大模型迁移到较小模型。自指导也可以被视为“知识蒸馏”的一种形式,但它与这一行的不同之处在于:(1)蒸馏的来源和目标是相同的,即模型的知识被蒸馏为自己的知识;(2)蒸馏的内容是以指令任务的形式(即定义任务的指令和实例化任务的一组示例)。
利用有限的资源进行引导。最近的一系列工作使用语言模型,使用专门的方法引导一些推断。NPPrompt(Zhao et al.,2022)提供了一种在没有任何微调的情况下生成语义标签预测的方法。它使用模型自己的嵌入来自动查找与数据样本标签相关的单词,从而减少了从模型预测到标签(动词化器)对手动映射的依赖。STAR(Zelikman et al.,2022)迭代地利用少量的基本原理示例和没有基本原理的大型数据集,来引导模型执行推理的能力。Self-Correction(Welleck et al.,2022)将不完美的基础生成器(模型)与独立的校正器解耦,该校正器学习迭代校正不完美的生成,并证明了对基础生成器的改进。相反,论文的工作重点是在指令范式中引导新任务。
指令生成。最近的一系列工作(Zhou et al.,2022b;Ye等人,2022;Singh et al.,2022;Honovich等人,2022)通过几个例子生成了任务的指令。虽然SELFINSTRUCT也涉及指令生成,但在论文的情况下,一个主要区别是它是任务不可知的;论文从头开始生成新的任务(指令和实例)。
3 方法
标注大规模的指令数据对人类来说可能是一项挑战,因为它需要1)创造性来提出新的任务,2)为每个任务编写标记实例的专业知识。在本节中,详细介绍了我们的SELF-Instruction过程,它指的是用变体预训练语言模型本身生成任务,然后用生成的数据进行指令调整,以使语言模型更好地遵循指令。该pipline如图1所示。
3.1 定义指令数据
要生成的指令数据包含一组指令
, 每个定义了一个任务t(自然语言)。每个任务都有一个或多个输入输出实例 。一个模型 预计将输出y, 给出任务指令 和实例输入 ,
。 请注意,在许多情况下,指令和实例输入没有严格的边界。例如,“写一篇关于学校安全的文章”可以是一个有效的指令,我们希望模型直接响应,同时它也可以被公式化为“写一份关于以下主题的文章”作为指令,“学校安全”作为实例输入。为了鼓励数据格式的多样性,允许这种不需要额外输入的指令(即。,x为空)。
3.2 指令数据自动生成
用于生成指令数据的pipline由四个步骤组成:1)指令生成,2)识别指令是否代表分类任务,3)使用输入优先或输出优先的方法生成实例,以及4)过滤低质量数据。
表6:用于生成新指令的提示。从任务池中随机抽取8条现有指令进行上下文演示。该模型可以为新任务生成指令,直到它停止生成、达到长度限制或生成“任务16”tokens。
指令生成。SELF-Instruction基于这样一个发现,即当在上下文中与一些现有指令一起呈现时,可以提示大型预训练语言模型生成新的和新颖的指令。提供了一种从一小组种子人工编写的指令中增长指令数据的方法。建议以自举的方式生成一组不同的指令。用作者编写的175个任务(每个任务1条指令和1个实例)启动任务池。对于每个步骤,从这个池中抽取8条任务指令作为上下文示例。在8条指令中,6条来自人工编写的任务,2条来自之前步骤中模型生成的任务,以促进多样性。提示模板如表6所示。
表7:用于对任务指令是否为分类任务进行分类的提示。
分类任务标识。因为需要两种不同的方法来处理分类和非分类任务,所以接下来要确定生成的指令是否代表分类任务。使用种子任务中的12条分类指令和19条非分类指令,提示普通GPT3 few-shot 来确定这一点。提示模板如表7所示。
表9:用于实例生成的输出优先方法的提示。系统会提示模型首先生成类标签,然后生成相应的输入。此提示用于生成分类任务的实例。
然而,发现这种方法可以生成偏向一个标签的输入,特别是对于分类任务(例如,对于语法错误检测,它通常生成语法输入)。因此,论文还提出了一种用于分类任务的输出优先方法,其中首先生成可能的类标签,然后对每个类标签的输入生成进行调节。提示模板如表9所示。将输出优先方法应用于前一步骤中确定的分类任务,将输入优先方法应用到剩余的非分类任务。
过滤和后处理。为了鼓励多样性,只有当新指令的ROUGE-L与任何现有指令的重叠小于0.7时,才会将其添加到任务池中。论文还排除了包含一些特定关键字(例如,图像、图片、图表)的指令,这些关键字通常无法由语言模型处理。当为每条指令生成新实例时,筛选出完全相同的实例或具有相同输入但不同输出的实例。
3.3 遵循指令对LM进行微调
在创建大规模指令数据之后,使用这些数据来微调原始语言模型(即SELF-Instruction)。为此,将指令和实例输入连接起来作为提示,并训练模型以标准监督的方式生成实例输出。为了使模型对不同的格式具有鲁棒性,使用多个模板将指令和实例输入编码在一起。例如,指令可以加“Task:”或不加前缀,输入可以加“input:”或不加前缀,提示符末尾可以加“Output:。
4 来自GPT3的自学数据
在本节中,将论文的方法引入GPT3作为案例研究。使用通过OpenAI API访问的最大GPT3语言模型(“davinci”引擎)。
4.1 统计
表1:通过对GPT3应用SELF-Instruction生成的数据的统计数据。
表1描述了生成数据的基本统计信息。总共生成了超过52K条指令,经过过滤后,这些指令对应的实例超过82K个。
4.2 多样性
图2:生成指令中最常见的前20个词根动词(内圈)及其前4个直接名词宾语(外圈)。尽管存在多样性,但此处显示的指令仅占所有生成指令的14%,因为许多指令(例如,“分类用户是否对服务满意”)不包含这样的动名词结构。
为了研究生成了哪些类型的指令以及它们的多样性,确定了生成的指令中的动名词结构。使用Berkeley Neural Parser(Kitaev和Klein,2018;Kitaev等人,2019)来解析指令,然后提取最接近解析树根的动词及其第一个直接名词对象。52445条指令中有26559条包含这样的结构;其他说明通常包含更复杂的条款(例如,“分类这条推文是否包含政治内容。”)或被框定为问题(例如:“这些陈述中哪些是真的?”)。在图2中绘制了前20个最常见的词根动词及其前4个直接名词宾语,它们占整个集合的14%。总的来说,在这些说明中看到了相当多样化的意图和文本格式。
图3:生成的指令与其最相似的种子指令之间的ROUGE-L分数分布。
图4:生成的指令、非空输入和输出的长度分布。
论文进一步研究生成的指令与用于提示生成的种子指令有何不同。对于每个生成的指令,计算其与175个种子指令的最高ROUGE-L重叠。在图3中绘制了这些ROUGE-L分数的分布图,表明有相当数量的新指令与种子没有太多重叠。我们还在图4中展示了指令长度、实例输入和实例输出的多样性。
4.3 质量
表2:生成数据的指令、输入和输出的数据质量审查。具有代表性的有效和无效示例见表10和表11。
到目前为止,论文已经展示了生成数据的数量和多样性,但其质量仍不确定。为了研究这一点,随机抽取200条指令,每个指令随机选择一个实例。请一位专家标注者(这项工作的合著者)从指令、实例输入和实例输出的角度来标记每个实例是否正确。表2中的评估结果表明,大多数生成的指令都是有意义的,而生成的实例可能包含更多的噪声(在合理的程度上)。然而,论文发现,即使生成可能包含错误,但大多数错误仍然是正确的格式,甚至是部分正确的,这可以为训练模型遵循指令提供有用的指导。分别在表10和表11中列出了一些好的生成和坏的生成。
5 实验结果
论文进行实验来测量和比较在各种指令调整设置下的模型质量。首先描述我们的模型和其他基线,然后是实验。
5.1 GPT3SELF-INST:对GPT3自己的指令数据进行微调
使用指令生成的指令数据,对GPT3模型本身(“davinci”引擎)进行指令调优。正如我们在§3.3中所描述的,使用各种模板来连接指令和输入,并训练模型以生成输出。此微调是通过OpenAI微调API完成的。使用默认的超参数,只是将提示损失权重设置为0,并为2个epochs训练模型。所得到的模型表示为GPT3SELF-INST。
5.2 基线
现成的语言模型。评估了T5 LM(Lester等人,2021;Raffel等人,2020)和GPT3(Brown等人,2020)。这些基线将表明现成的LMs在预训练后能够立即自然地遵循指令的程度。
公开提供的指令调优模型。T0和Tk-Instruction是Sanh等人提出的两个指令调优模型。(2022)和Wang等人(2022)分别被证明能够在许多NLP任务中遵循指令。这两个模型都是从T5(Raffel et al.,2020)检查点进行微调的,并且是公开的89。对于这两种模型,都使用了它们最大的11B参数版本。
指令调优的GPT3模型。评估了InstructGPT(Ouyang等人,2022年),它是由OpenAI基于GPT3开发的,用于更好地遵循人类指令,并且社区发现它具有令人印象深刻的zero-shot能力。这些模型有不同的一代,新的一代使用了更广泛的数据或算法创新。对于§5.3中的SUPERNI实验,只与他们的text-davinci-001引擎进行比较,因为他们的新引擎是用最新的用户数据训练的,并且可能已经看到了SUPERNI评估集。为了根据新编写的说明对这些模型进行人工评估,论文包括了它们的001、002和003引擎以确保完整性。
此外,为了将自指导训练与其他公开可用的指令调整数据进行比较,论文进一步使用PROMPSTOURCE和SUPERNI的数据对GPT3模型进行了微调,这些数据用于训练T0和Tk-指令模型。分别简称它们为T0训练和SUPERNI训练。为了节省训练预算,为每个数据集采样了5万个实例(但涵盖了它们的所有指令),其大小与生成的指令数据相当。基于Wang等人的发现。(2022)和论文的早期实验,减少每个任务的实例数量不会降低模型对看不见任务的泛化性能。
5.3 实验1:SUPERNI基准上的zero-shot推广
论文首先评估模型在典型NLP任务中以zero-shot方式遵循指令的能力。论文使用SUPERNI的评估集(Wang et al.,2022),该评估集由119个任务组成,每个任务中有100个实例。在这项工作中,主要关注的是zero-shot设置,即,模型只提示任务的定义,没有incontext演示示例。对于对GPT3变体的所有请求,使用没有特定停止序列的确定性生成模式。
表3:SUPER-NATURALINSTRUCTIONS(§5.3)中未发现任务的评估结果。从结果中,可以看到1©SELF Instruction可以大幅提高GPT3的性能(+33.1%),2©几乎与InstructionGPT001的性能相匹配。此外,3©即使存在大量标记的指令数据,它也可以进一步提高性能。
结果。根据表3中的结果得出以下观察结果。自指导大大提高了GPT3的指令跟随能力。普通的GPT3模型基本上根本无法遵循人类的指令。经过人工分析,发现它通常会生成不相关和重复的文本,并且不知道何时停止生成。与其他没有专门针对SUPERNI训练的模型相比,GPT3SELF-INST比T0或在T0训练集上微调的GPT3实现了更好的性能,这需要付出巨大的人为标注努力。值得注意的是,GPT3SELF-INST的性能也几乎与InstructGPT001相匹配,后者是用私人用户数据和人工标注标签训练的。
在SUPERNItraining集上训练的模型在其评估集上仍然取得了更好的性能,将其归因于相似的指令风格和格式。然而,论文表明,当与SUPERNItraining集相结合时,SELFINSTRUCT仍然会带来额外的增益,证明了其作为补充数据的价值。
5.4 实验2:新任务面向用户指令的泛化
表4:面向用户的指令数据集中的示例(§5.4)和GPT3SELF-INST的预测。右栏表示分配给模型响应的四个质量评级之一,“A”表示“有效且令人满意”的响应(最高),“D”表示“不相关或无效的响应”(最低)。
尽管SUPERNIin在收集现有的NLP任务时具有全面性,但这些NLP任务大多是出于研究目的提出的,并倾向于分类。为了更好地获得指令遵循模型的实际价值,作者的一个子集策划了一组受面向用户的应用程序驱动的新指令。首先对大型LM可能有用的不同领域进行头脑风暴(例如,电子邮件写作、社交媒体、生产力工具、娱乐、编程),然后制定与每个领域相关的指令以及输入输出实例(同样,输入是可选的)。论文的目标是使这些任务的风格和格式多样化(例如,指令可以是长的或短的;输入/输出可以采用要点、表格、代码、方程等形式)。总共创建了252条指令,每条指令有一个实例。相信它可以作为评估基于指令的模型如何处理不同和不熟悉的指令的试验台。表4列出了252项任务中的一小部分。整个测试套件将根据要求提供。
人工评估设置。由于不同的任务需要不同的专业知识,因此评估模型在这组不同任务上的性能极具挑战性。事实上,这些任务中的许多不能通过自动度量来衡量,甚至不能由普通的众包工作者来判断(例如,编写程序,或将一阶逻辑转换为自然语言)。为了获得更可靠的评估,请指令的作者来判断模型预测。评估人员被要求根据产出是否准确有效地完成任务来对产出进行评分。论文实施了一个四级评级系统,用于对模型输出的质量进行分类,定义如下:
•评分-A:回复有效且令人满意。
•评分-B:响应是可接受的,但有可以改进的小错误或缺陷。
•评分-C:响应是相关的,并对说明作出响应,但其内容存在重大错误。例如,GPT3可能首先生成一个有效的输出,但继续生成其他不相关的东西。
•评分-D:响应不相关或无效,包括输入重复、完全不相关的输出等。
图5:GPT3模型及其指令调整变体的性能,由人类专家根据252条面向用户的指令进行评估(§5.4)。人类评估人员被指示将模型的响应分为四个级别。结果表明,GPT3SELF-INST优于在公开可用的指令数据集上训练的所有其他GPT3变体。此外,GPT3SELF-INST的得分几乎与InstructGPT001一样好。
结果。图5提供了GPT3模型及其在这个新编写的指令集上的指令调优对应物的性能。正如预期的那样,普通的GPT3语言模型在很大程度上无法响应指令,并且所有的指令调优模型都表现出相对较高的性能。尽管如此,GPT3SELF-INST(即,用SELF-Instruction微调的GPT3模型)在很大程度上将优于在T0或SUPERNI上训练的对应模型,证明了生成的数据的价值,尽管存在噪声。与InstructGPT001(见脚注1)相比,如果将具有轻微缺陷的可接受响应(评级-3)视为有效,则GPT3SELF-INST的性能相当接近,GPT3SELF-INST仅落后于InstructGPT001 5%。最后,评估证实了InstructionGPT002和InstructionGPT1003模型令人印象深刻的指令跟随能力。尽管这一成功背后有许多因素,但论文推测,未来的工作可以在很大程度上受益于通过使用人类标注器或训练奖励模型来选择更好的生成来提高我们生成的数据的质量,类似于Ouyang等人使用的算法。(2022)。
5.5 GPT3SELF-INST的预测示例
在表4中展示了一系列面向用户的任务、相应的GPT3SELF-INST生成的响应和标注器评级。可以看到,即使对于评级为2级的响应,该模型也展示了解决任务的大量步骤,即使其最终输出是不正确的。
6 讨论和局限
6.1 为什么自指导有效?
值得反思的是,高质量的人类反馈在实现最近在指令调整LMs方面的成功方面所起的作用(Mishra等人,2022;Wang等人,2022年;Wei et al.,2022;Sanh等人,2022)。以下是两个极端的假设:
- 人的反馈是指令调整的一个必要和不可或缺的方面,因为LMs需要了解在预训练期间没有学到的问题。
- 人的反馈是指令调整的一个可选方面,因为LMs已经非常熟悉预训练中的指令。观察人的反馈只是一个轻量级的过程,用于调整他们的预训练分布/目标,这可能可以用不同的过程来替代。
虽然现实可能介于这两个极端之间,但论文推测它更接近后一种,特别是对于较大的模型。LMs已经对语言指令有了很多了解,这种直觉是SELF-INSTRUCT的关键动机,也得到了其经验成功的支持。
6.2 更广泛的影响
除了本文的直接重点之外,相信,自指导可能有助于为广泛使用的指令调优模型(如InstructionGPT)的“幕后”发生的事情带来更多的透明度。不幸的是,由于这些工业模型的数据集尚未发布,因此它们仍处于API墙后,因此人们对它们的结构以及为什么它们表现出令人印象深刻的功能知之甚少。现在,学术界肩负着更好地理解这些模型的成功来源,并努力建立更好但开放的模型的责任。论文相信,在本文中的发现证明了多样化教学数据的重要性,我们的大型合成数据集可以成为迈向更高质量数据的第一步,以建立更好的指令跟踪模型。
6.3 自指导的局限性
在这里,讨论了这项工作的一些局限性,以启发未来在这个方向上的研究。
尾部现象。自我指导依赖于LMs,它将继承LMs的所有限制。正如最近的研究所表明的那样(Razeghi等人,2022;Kandpal等人,2022),尾部现象对LMs的成功构成了严重挑战。换句话说,LMs的最大增益对应于语言的频繁使用(语言使用分布的头部),而在低频上下文中的增益最小。同样,在这项工作的背景下,如果自指导的大部分收益都偏向于在预训练语料库中更频繁出现的任务或指令,也就不足为奇了。因此,对于不常见的和创造性的指令,该方法可能会显示出脆弱性。
对大型模型的依赖。由于SELF-INSTRUCT依赖于从LMs中提取的归纳偏差,它可能最适用于更大的模型。如果这是真的,那么对于那些可能没有大量计算资源的人来说,这可能会造成访问障碍。希望未来的研究将仔细研究作为模型大小或各种其他参数的函数的增益。值得注意的是,带有人工标注的指令调优也受到类似的限制:对于较大的模型,指令调优的增益更高(Wei et al.,2022)。
强化LM偏差。作者关注的一点是这种重复算法的意外后果,例如放大有问题的社会偏见(对性别、种族等的刻板印象或诽谤)。与此相关,在这个过程中观察到的一个挑战是算法难以产生平衡的标签,这反映了模型之前的偏见。希望未来的工作能够解决这些细节,以更好地了解这种方法的利弊。
表11:GPT3生成的代表性无效任务。有问题的字段显示在有效性列中。如§4.3所述,尽管这些任务包含错误,但它们仍然为监督模型遵循指令提供了许多有用的信号。