分享

介绍 FLAN:具有指令微调功能的更通用的语言模型

 雨夜的博客 2022-02-18

视频介绍:介绍 FLAN:具有指令微调功能的更通用的语言模型

对于生成有意义的文本的机器学习模型,它必须具有大量关于世界的知识以及抽象的能力。虽然经过训练的语言模型在扩展时越来越能够自动获取这些知识,但如何最好地解锁这些知识并将其应用于特定的现实世界任务尚不清楚。

一种行之有效的技术称为微调,即在标记的数据集上训练预训练模型(如BERT和T5),以使其适应下游任务。但是,微调需要大量的训练示例,以及为每个下游任务存储的模型权重,这并不总是可行的,特别是对于大型模型。

在”微调语言模型是零镜头学习者”中,我们探索了一种称为指令微调的简单技术,或简称指令调优。这涉及微调模型,不是为了解决特定的任务,而是为了使其更适合解决一般的NLP任务。我们使用指令调优来训练一个模型,我们称之为微调LAnguage Net(FLAN)。由于与预训练模型所涉及的大量计算相比,FLAN的指令调优阶段只需要少量的更新,因此它是预训练主课程的隐喻甜点。这使FLAN能够执行各种看不见的任务。

file

背景

最近使用语言模型解决任务的一种流行技术称为零触发或少触发提示。此技术基于语言模型在训练期间可能看到的文本制定任务,然后语言模型通过完成文本来生成答案。例如,为了对电影评论的情绪进行分类,可以给语言模型一个句子,”电影评论’自漂亮女人以来最好的RomCom’是_“,并要求用”积极”或”消极”一词完成句子。

尽管此技术在某些任务中表现出良好的性能,但它需要仔细的及时工程设计,以将任务设计成模型在训练期间看到的数据 - 这种方法在某些但不是所有任务上表现良好,并且对于从业者来说也可能是一种不直观的方式与模型进行交互。例如,GPT-3(当今使用的最大语言模型之一)的创建者发现,这种提示技术并不能在自然语言推理(NLI)任务上产生良好的性能。

指令调优

FLAN 反而根据大量不同的指令对模型进行微调,这些指令使用简单直观的任务描述,例如”将此电影评论分类为正面或负面”或”将此句子翻译成丹麦语”。

从头开始创建指令数据集以微调模型将花费大量资源。因此,我们改用模板将现有数据集转换为教学格式。

file

我们表明,通过根据这些指令训练模型,它不仅擅长解决在训练过程中看到的各种指令,而且总体上善于遵循指令。

评估模型

为了以有意义的方式将FLAN与其他技术进行比较,我们使用已建立的基准数据集将模型的性能与现有模型进行比较。此外,我们评估了FLAN的性能,但在训练期间没有看到该数据集中的任何示例。

但是,如果我们在与评估数据集过于相似的数据集上进行训练,则仍可能影响性能结果。例如,在一个问答数据集上进行训练可能有助于模型在另一个问答数据集上做得更好。因此,我们按任务类型将所有数据集分组到集群中,不仅保留数据集的训练数据,还保留数据集所属的整个任务集群。

我们将数据集分组到下面的集群中。

file

结果

我们对FLAN进行了25项任务的评估,发现除了4项任务外,FLAN在所有任务上都比零射击提示有所改善。我们发现,在 25 个任务中的 20 个任务中,我们的结果比零次 GPT-3 更好,在某些任务中甚至比少量 GPT-3 更好。

file

我们还发现,模型规模对于模型从指令调优中受益的能力非常重要。在较小的尺度上,FLAN技术实际上会降低性能,只有在较大的尺度上,模型才能够从训练数据中的指令推广到看不见的任务。这可能是因为太小的模型没有足够的参数来执行大量任务。

file

结论

FLAN模型不是第一个在一组指令上进行训练的模型,但据我们所知,我们是第一个大规模应用该技术并表明它可以提高模型的泛化能力的模型。我们希望我们提出的方法将有助于激发对模型的更多研究,这些模型可以执行看不见的任务,并从很少的数据中学习。

我们还发布了执行转换的代码,以便其他研究人员可以重现我们的结果并在此基础上进行构建。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多