前言
如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。
在大型语言模型的研究中,研究者对其有两种不同的期待,也可以理解为是两种不同的路线,具体来说:
- 期待一:成为专才,解决某类特定任务(翻译、获取摘要)
- 期待二:成为通才,给定指令(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 界的巨人之力与迁移学习