1 两种大语言模型:GPT VS BERT
2 对于大语言模型的两种不同期待
2.1 “专才”
2.1.1 成为专才的好处
2.1.2 使用方式
对于训练模型进行改造
bert的先天劣势就是,他是句子填空,而不是句子接龙,所以希望他进行某一项任务,需要对他进行额外的处理,以及额外的参数微调(finetune)
2.1.2.1 加head
额外地对BERT进行一定的添加,使其能够输出希望的结果
2.1.2.2 微调 Finetune
2.1.2.3 对训练模型做改造——加入Adapter
在语言模型里插入额外的模组,语言模型的参数不动,只更新adapter的参数
2.1.2.3.1 为什么需要Adapter?
2.2 “通才”
2.2.1 成为通才的好处
2.2.2 In-context Learning
2.2.2.1 大模型真的能从这些例子中学到信息?
2.2.2.1.1 Rethinking the Role of Demonstrations: What Makes In-Context Learning Work? 2022 ARXIV
2.2.2.1.2 Larger language models do in-context learning differently 2023 arxiv
2.2.2.2 让模型学习 in-context learning
[2110.15943] MetaICL: Learning to Learn In Context (arxiv.org)
前面的in-context learning都是没有finetune过程了,这里相当于finetune了一下
用别的任务的in-context learning的范例、输入、输出进行微调
2.2.3 instruction tuninging
大语言模型还是需要进行一定的微调,才能效果比较好,这个微调的过程就是instruction-tuning
训练(finetune)的时候, 给模型一些指令和对应的答案。测试的时候,给finetune指令之外的其他指令。让模型自己给出合理的回应。
2.2.4 Chain of Thought
[2201.11903] Chain-of-Thought Prompting Elicits Reasoning in Large Language Models (arxiv.org)
另一种更详细地给机器prompting的方法
- 如果是数学这种需要推理的问题,直接给 in-context learning 往往效果若不好
- 而如果我们给范例的时候,同时给推导过程+答案。期望模型输出答案的时候,也先输出推导,再输出答案
- 这就叫Chain of Thought Prompting
- 从效果上来看,加了CoT之后的效果更好
2.2.5 加一些prompting,让CoT效果更好
[2205.11916] Large Language Models are Zero-Shot Reasoners (arxiv.org)
在进行CoT的时候,范例输完了,需要模型回答的问题说完了,加一行’Let's think step by step',可以获得更好的效果
Large Language Models Are Human-Level Prompt Engineers ICLR 2023
加的那一行文字不一样,效果也不一样
2.2.6 CoT+Self=consistency
[2203.11171] Self-Consistency Improves Chain of Thought Reasoning in Language Models (arxiv.org)
- 使用CoT让模型先输出推导过程,再输出推导结果,可能每次推导过程不一样 答案也不一样
- 这里让语言模型产生好几次推导和对应的结果,出现最多次的答案就是正确答案
- 当然也可以每个答案 用语言模型算一个几率(信心分数)权重
- 但这个权重论文中说没有什么帮助,所以直接根据数量投票就好
2.2.7 强化学习找Prompt
[2206.03931] Learning to Generate Prompts for Dialogue Generation through Reinforcement Learning (arxiv.org)
2.2.8 直接用LLM来找Prompt
[2211.01910] Large Language Models Are Human-Level Prompt Engineers (arxiv.org)