> 文章列表 > 大型语言模型 (LLM) 的两条发展路线:Finetune v.s. Prompt

大型语言模型 (LLM) 的两条发展路线:Finetune v.s. Prompt

大型语言模型 (LLM) 的两条发展路线:Finetune v.s. Prompt

前言

如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。

在大型语言模型的研究中,研究者对其有两种不同的期待,也可以理解为是两种不同的路线,具体来说:

  • 期待一:成为专才,解决某类特定任务(翻译、获取摘要)
  • 期待二:成为通才,给定指令(Prompt),即可完成对应任务
    • 最早的该方向研究,认为所有 NLP 任务都可以变成问答任务,由此统一所有任务

在下文中,我们将对这两种不同的期待进行介绍。


专才的期待

专才在单一任务上有机会赢过通才。例如在下述论文中,在各类任务上(数值越大越好),ChatGPT 表现都不错,但依然没办法赢过专才。

在这里插入图片描述
由此对应了「专才」的使用方式,即对最初的领域大模型进行微调,对结构进行一些修改,或微调一些参数:

  • 与 BERT 的训练过程也比较符合,其训练过程为句子填空,因此训出的模型无法生成完整的句子,还需针对具体场景进行微调

在这里插入图片描述
如下所示,四种 BERT 增加 Head 的结构修改方式,使其可以做特定的任务:

在这里插入图片描述
以及对模型的参数做微调(Finetune),即用少量数据对模型参数进行调整,可以调整 LLM 的参数,也可以仅调整新增加结构的参数。

Adapter (Efficient Finetuning) 即对大模型增加一些插件,针对下游任务进行微调时,只需调整 Adapter 上的参数即可。
在这里插入图片描述


通才的期待

符合人类对「人工智能」的想象,且开发新任务非常方便,只要重新设计 Prompt 就可以快速开发新功能,大大提升效率。

对于通才来说,也包含两类任务:

  • 【Instruction Learning】给出题目的叙述,让机器进行回答;
  • 【In-context Learning】给出范例,让机器回答其它问题。

In-context Learning

【核心任务】给一些例子,然后再让机器回答相似问题:

在这里插入图片描述

机器似乎没有对例子进行学习,如下述实验结果所示:

  • 蓝色:没有例子(很差)
  • 黄色:有例子,且例子标记正确(最好)
  • 红色:有例子,且例子标记随机(对比最好,微微下降)

在这里插入图片描述

但这些例子的领域似乎很重要,如下述所示:

  • 多个一个紫色的柱子,其用的例子为与后续问题无关的内容,且标记随机(性能继续下降)

在这里插入图片描述

因此一种猜测是:在 In-context Learning 中,模型并没有在范例中学习,范例的作用是激活模型,告诉它现在的任务是关于什么领域的,因此范例的数量也并没有很重要。

不过后续又出现了新的工作,他们认为对于很大的模型来说,模型可以从上下文的例子中进行学习,如下述实验结果所示:

  • 颜色越深,模型越大
  • 横轴为错误的标签比例,纵轴为指标
  • 可以看到错误的数据越多,对模型的性能影响越大

在这里插入图片描述

Instruction Learning

文字接龙训练得到的模型,还需要做一下 Instruction-tuning,才能根据问题的叙述,切换到相应的任务上。

Instruction-tuning 期望做的事,如下所示:

在这里插入图片描述
做 Instruction-tuning,需要收集各式各样的任务(包含标注),再将这些任务改写为指令,如下所示:

在这里插入图片描述

Chain of Thought (CoT)

之后又有人发现,在 In-context learning 时,给出推导过程,大模型上下文学习的能力会得到加强,进一步地,后来就有人直接在 prompt 里加入「Let’s think step by step」,而这简单一句话,也使模型性能得到了提升。

在这里插入图片描述

如果做 chain of thought,模型生成的答案就会比较 diverse,因此一种 self consistency 的方法也相应提出,即运行多次,对所有出现的答案做一个投票,输出最常出现的答案。

Prompt Engineering

还有让模型自己找 Prompt 的方法:

  • 给出例子,让机器自己来找 Prompt

在这里插入图片描述
完整的方法是,给出上述例子,让机器找,多找几次,对每一个 prompt 打分,然后把分数高的留下来,继续输入给 LLM,让它找相似的,如下所示:

在这里插入图片描述


参考资料

  • Hung-yi Lee:大型语言模型的两类使用方式(一)
  • Hung-yi Lee:大型语言模型的两类使用方式(二)
  • Hung-yi Lee:大型语言模型的两类使用方式(三)
  • Is ChatGPT A Good Translator? Yes With GPT-4 As The Engine
  • How Good Are GPT Models at Machine Translation? A Comprehensive Evaluation
  • Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?
  • Why Can GPT Learn In-Context? Language Models Secretly Perform Gradient Descent as Meta-Optimizers
  • Larger Language Models Do In-context Learning Differently
  • Multitask Prompted Training Enables Zero-shot Task Generalization
  • Self-consistency Improves Chain of Thought Reasoning in Language Models
  • Large Language Models Are Human-level Prompt Engineers
  • 进击的 BERT:NLP 界的巨人之力与迁移学习