大语言模型系列-提示工程

03-12 1583阅读

文章目录

  • 前言
  • 一、Prompt Learning
  • 二、上下文学习(In-Context Learning)
  • 三、指示学习(Instruction Learning)
  • 四、思维链(Chain-of-Thought)
  • 总结

    前言

    前文提到自BERT以来,LLM的训练范式变为预训练-微调,然而由于下游任务的微调仍需要大量数据集,并且并不一定能得到很好的效果,因此自GPT-3以来,学者们开始广泛研究预训练-提示工程范式。

    ps:这里的提示工程指的是广泛意义上不需要重新训练模型(改变模型梯度)的情况下,通过对输入进行改变从而提升预测精度的方法,包含提示学习(Prompt Learning)、上下文学习(In-Context Learning)、指示学习(Instruction Learning)、思维链(Chain-of-Thought)等。


    一、Prompt Learning

    最初的Prompt Learning就是类似完形填空类的输入,如:

    情感分析:给女朋友买了这个项链,她很喜欢。这句话的情感是____。

    这样以来,通过选取合适的prompt,我们可以控制模型预测输出,从而一个完全无监督训练的PLM可以被用来解决各种各样的下游任务。

    Prompt Learning 的本质:将所有下游任务统一成预训练任务;以特定的模板,将下游任务的数据转成自然语言形式,充分挖掘预训练模型本身的能力。本质上就是设计一个比较契合上游预训练任务的模板,通过模板的设计就是挖掘出上游预训练模型的潜力,让上游的预训练模型在尽量不需要标注数据的情况下比较好的完成下游的任务,关键包括3个步骤:

    1. 设计预训练语言模型的任务
    2. 设计输入模板样式(Prompt Engineering)
    3. 设计label 样式及模型的输出映射到label 的方式(Answer Engineering)

    缺点:Prompt Learning都是针对单个任务的,泛化能力弱,比如做个情感分析任务的 prompt tuning,精调完的模型只能用于情感分析任务。

    二、上下文学习(In-Context Learning)

    简单的Prompt Learning可以认为是先前的zero-shot。这种不加限制或者提醒的方式可能使得模型的回答文不对题。

    因此延伸出给予上下文提示的方法,few-shot和one-shot,前面已经提过不再赘述,举例如下:

    zero-shot:“销售->”

    one-shot:“你好->hello,销售->”

    few-shot:“你好->hello,再见->goodbye,购买->purchase,销售->”

    缺点:仍针对单个任务的,泛化能力弱。

    三、指示学习(Instruction Learning)

    相比于提示学习更加明确,会给出明确的指令说明,或者直接给出任务描述:

    例1:

    判断这句话的情感:给女朋友买了这个项链,她很喜欢。选项:A=好;B=一般;C=差。

    例2:

    您是一名旅行规划师,通过提供有关目的地、住宿、景点和交通选项的信息来帮助用户制定旅行计划。根据用户的喜好、预算和旅行目标提供量身定制的建议,并分享实用技巧,帮助他们度过一次难忘而愉快的旅行。

    优点:与Prompt Tuning相比,Instruct-Tuning更加通用,因为它不仅仅限于某个任务的特定模板,而是可以在任何需要理解指令的任务中使用。

    缺点:但是Instruct-tuning对模型的容量有要求,在大模型上表现出色,而在小模型上表现不佳。

    四、思维链(Chain-of-Thought)

    In-Context Learning的提出改善了模型的输出,但是对于一些复杂的逻辑推理或者言语理解的场景,仍然不能很好的得出结论,这也说明了LLM智能上的局限性。

    为了解决上述问题,2022年初,谷歌团队提出了思维链(Chain-of-Thought),旨在进一步提高超大规模模型在一些复杂任务上的推理能力。

    思维链是一种特殊的In-Context Learning,对于每个挑选的In-Context Example,除了给出Input-Output Mapping外,还需要给出一个推理过程,称为Relationale或Reasoning Path,其是一个具有逻辑推理过程的短文本。

    思维链实质上是问题分解,举例如下:

    大语言模型系列-提示工程


    总结

    合适的提示工程非常重要,prompt的微小差别,都可能会造成效果的巨大差异。一般需要包含明确的角色、任务、上下文、要求(对任务的补充)等。

    例如:

    任务:为电影[消失的她]写一则无剧透的影视评论任何➕要求:为杭州亚运会赋诗一首,要求表达出对杭州亚运会的美好期待和祝福。
    角色+任务+要求:请作为一名媒体编辑,写一个[九九重阳节全民开启登山活动]的新闻报道的标题,要求主题明确、结构合理、节奏鲜明、风格独特。
    上下文+任务:想象一下你置身于一个魔法世界,你的魔法能力是可以随心所欲地创造出任何东西。现在,请写一篇关于你如何使用这个魔法能力的故事。
    
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]