论文读后感 : Prompt Programming for Large Language Models: Beyond the Few-Shot Paradigm。
谈起提示学习,我们通常认为它是小样本或零样本学习者,在Brown的《Language models are few-shot learners》 中,我们听到GPT3是小样本学习者这样的提法,事实上它真的是从大规模预训练模型中学到了什么吗?
答案是否定的。
我们都知道,语言模型只在训练阶段学习到知识,在测试阶段是无法学习新知识的。那问题来了:我们在推理阶段用的提示示范(demonstration)或者提示模板(prompt template) 能让模型学习到知识吗?答案是否定的,这些并不能改变模型的能力。那我们一直在研究的提示模板或示范是在作什么? 作者认为,其实我们只是在引导模型回忆它学到的知识,从而为我们提供答案。我们编写提示的意义在于形成一种格式或format, 让模型按这种格式从模型本身的知识中回答我们的内容。这说明预训练大型语言模型如 bert/bart/gpt 等并不能在推理阶段学习到新的知识,而只是利用我们提供的demonstration(示范)或prompt template(模板)来激发或引导 模型回忆起学习到的知识。我们的任务并没有让模型学习到新知识或新技能。
作个比方:比如一个成年人学习了很多社会知识,但是可惜它是哑巴,不会说。某一天它突然会说话了, 但是无法正确表达我们要的答案,我们就要引导 它说,prompt learning做的就是这个工作,引导 模型回忆与表达我们期望的知识。 这其实是让模型学习到了任务描述,而不是从提示中学到回答问题的知识。
在论文:Rethinking the Role of Demonstrations: What Makes In-Context Learning Work? 中,作者指出,提示中的格式比逻辑更重要。我们只需要将提示的格式写得与要完成的任务类似(同分布),就可以引导 预训练模型完成我们期盼 的任务,而与提示或示范本身所包含的逻辑无关。这是很反直觉的。