Prompting出现的三个主要范式分别为上下文学习ICL,指令精调Instruction-tuning和思维链CoT
1. 上下文学习(In-Context Learning, ICL)
上下文学习是指模型通过观察给定的上下文示例来学习如何执行特定任务,而不是通过传统的微调方式。这种方式通常用于大规模语言模型,如GPT-3。
举例:
假设你有一个任务,需要模型对电影评论进行情感分类。在ICL中,你会这样操作:
- 输入:
任务:判断以下评论的情感是正面还是负面。 示例1:这部电影太棒了,我非常喜欢。→ 正面 示例2:剧情无聊,我不推荐。→ 负面 示例3:视觉效果惊人,但故事一般。→ 正面 评论:我觉得这部电影很一般,没有预期的好。
- 输出:模型通过观察示例,可能会输出“负面”。
2. 指令精调(Instruction Tuning)
指令精调是指通过特定的指令来指导模型执行任务,这种方法通常需要对模型进行一定程度的训练,使其能够更好地理解和遵循人类的指令。
举例:
在指令精调中,你可能会训练模型以下列方式响应:
- 输入:
指令:请根据以下描述,编写一个简短的故事。 描述:一个小女孩在森林里迷路了,她遇到了一只会说话的狐狸。
- 输出:模型会根据指令生成一个故事,如“在一个阳光明媚的下午,小女孩爱丽丝在森林里玩耍时迷路了……”。
3. 思维链(Chain of Thought, CoT)
思维链是一种Prompting范式,它鼓励模型展示其解决问题的思考过程,而不仅仅是给出最终答案。这种方法有助于提高模型的可解释性和透明度。
举例:
对于数学问题,CoT可以是这样:
- 输入:
问题:一个农场有15只鸡和8只鹅。鸡和鹅一共有多少只脚? 思考过程:首先,我们知道每只鸡有2只脚,所以15只鸡共有15 × 2 = 30只脚。然后,我们知道每只鹅有2只脚,所以8只鹅共有8 × 2 = 16只脚。最后,我们将鸡的脚数和鹅的脚数相加。
- 输出:模型会按照这个思考过程给出答案,即“30 + 16 = 46只脚”。
这三种Prompting范式各有特点,它们可以单独使用,也可以结合使用,以提升模型在特定任务上的性能。