我正在参加「启航计划」

文章部分内容和概念引用自:www.promptingguide.ai/zh,为了了解方便,对其间对一些概念做了补充或是精简

背景

提示词开发和优化,协助用户将大言语模型(Large Language Model, LLM)用于各场景和研究领域。 掌握了提示工程相关技能将有助于用户更好地了解大型言语模型的才干和局限性。处理杂乱使命场景的才干,如问答和算术推理才干。

开发人员可经过提示工程规划、研制强壮的工程技能,实现和大言语模型或其他生态东西的高效接轨。与大言语模型交互和研制的各种技能和技能。提示工程在实现和大言语模型交互、对接,以及了解大言语模型才干方面都起着重要作用。

提示工程(Prompt Engineering)是一门较新的学科,用户可以经过提示工程来进步大言语模型的安全性,也可以赋能大言语模型,比方凭借专业领域常识和外部东西来增强壮言语模型才干。

ChatGPT相信咱们都有了解,在这种大言语模型(LLM)中,咱们需求向模型供给一段文本作为指令,然后模型会输出一段内容作为呼应。为了让模型呼应的更为精准,更能了解咱们的意图,咱们就需求运用更为优异精确的提示词(Prompts),也便是提示工程这门学科的内容

根底概念

模型设置

经过控制Temperature(输出概率分布)和Top_p(示例采样概率)两个维度的特点可以得到不同的成果,

向GPT提问也是一门学问——大语言模型提示工程入门

低Temperature + 低Top_p

在这种设置下,大言语模型会倾向于挑选概率最高的单词,生成的文本更契合言语规律和逻辑,生成的文本往往较为简练,不容易呈现冗长或含糊的答复。

这种形式适用于需求保证精确性的场景,或是要求逻辑性较强,不需求太多细节的答复中:

  • 确认性输出、实在质量保证:常识问答、产品技能支持
  • 短小精悍:标题生成、文章摘要生成
  • 强逻辑性:议论文生成、对话生成

低Temperature + 高Top_p

由于高Top_p的设置,模型不会挑选概率最高的单词,而是从概率较高的多个选项中进行挑选,然后增加了生成内容的多样性,生成的文本也会包含更多的信息和细节。一起低Temperature的设置也保证了生成内容的逻辑性。

这种形式适用于需求一定构思性,且信息相对具体的场景:

  • 构思性:故事生成、广告文案
  • 信息具体:新闻报道、产品描绘
  • 逻辑与构思兼具:产品谈论生成、构思型对话生成

高Temperature + 低Top_p

高Temperature会导致模型考虑更多概率较低的选项,内容丰富度也会更进一步进步,生成的成果相对而言会具有较高的构思性。

这种形式适用于需求高度构思性内容的场景,一起逻辑性较弱,不过这种表述在需求构思的场景中反而会是亮点:

  • 构思性:构思写作、艺术作品描绘
  • 内容丰富:文艺谈论生成
  • 弱逻辑性:笼统艺术描绘、构思性问题答复

高Temperature + 高Top_p

这种形式下模型会在极大范围内的选项中进行挑选,生成的文本也会具有极高构思型,但是生成的文本或许会存在难以了解的表述。

这种形式适用于需求极高构思性的场景,一起需求供给很多的细节信息:

  • 极高构思性:实验性写作
  • 很多细节:实验性对话生成
  • 逻辑性较差:笼统艺术创作、极限构思问题答复

Prompts

大言语模型输出的成果质量除了与模型设置有关,还与用户传达的指令内容有关。Prompts指提示词,即用户向模型传达的内容,包含以下任意内容:

  • 指令:需求模型履行的特定使命
  • 上下文:外部信息,供给使命背景
  • 输入数据:输入的内容或问题,用于使命履行需求
  • 输出指示:输出的类型或格局

比方:请告诉我这道题的答案,1+1等于几

经过运用愈加精确的提示词,可以引导模型给出更契合需求的呼应。经过运用不同的提示词,可以让模型履行不同的功用,比方以下内容:

  • 文章摘要:生成以下这段文本的摘要:xxx
  • 代码生成:用Java实现以下功用:xxx
  • 常识库问答:依据以下文本内容答复问题,假如无法从中找到答案请说“不知道”,文本内容如下:xxx

提示办法

以下的一切发问示例均来自GPT4、ChatGPT3.5、ChatGLM以及LLaMA,发问示例仅用作协助了解发问办法,并非比照模型

有限样本提示

这种提示技能需求供给给模型一定示例,约束可用样本数以进步生成质量

少样本提示

和考试标题类似,对于一个问题,需求给出一个样例,让答复者依照这个样例来答复问题。

提示:

xxx是一种高兴的心境,一个用xxx造句的样例是:“我今天看了电影,我很xxx”。yyy是一种伤心的心境,请你模仿这样的格局进行造句

输出:

“我听到了一个坏消息,我感到很yyy。”

咱们可以看到,模型可以完美地依照咱们给出的样例进行输出,假定咱们不给出样例,那么模型一定会天马行空地发挥

零样本发问

大言语模型经过了很多数据练习和优化,对于部分问题可以不需求咱们给定样例就可以给出合理的呼应,如:

提示:

下面这句话是消沉的仍是活跃的:“今天的午餐很甘旨”

输出:

这句话是活跃的。

在模型的不断调整中(来自人类反馈的强化学习),零样本发问的精确性会不断适应人类偏好(比方文本情感倾向),精确性也会越来越高

方向性刺激提示

经过为模型供给一些明确的指示或许引导性的信息,来协助模型更有用地生成用户等待的答案。在处理含糊或许杂乱问题时会更为有用。

假如咱们想了解一些光合作用的内容,假如直接发问或许得出的成果不尽善尽美,比方下面这样:

提示:

光合作用是什么

输出:

光合作用是一种生物化学反响,是绿色植物和某些细菌运用叶绿素,在光的催化作用下,将二氧化碳和水转化为葡萄糖一起放出氧气的生化进程。这个进程是地球上一切生命能量来源之一,也让地球成为了一个适宜生命生计的行星。

但是假如咱们采用方向性刺激起问,比方下面这样,咱们就可以得到更丰富,更契合咱们等待的答复:

提示:

请具体解说光合作用的进程,包含其发生的地址、参加的首要反响和产品。

输出:

光合作用的进程如下:
参加的首要反响:
在光合作用中,光敏剂吸收光子后,电子被传递到叶绿素分子上。叶绿素分子中的镁离子被激起成为镁离子共振态,进而将电子传递到葡萄糖分子中,生成葡萄糖。一起,水分子也被分解成氧气和二氧化碳。
光合作用的地址:
光合作用的地址包含植物、藻类和一些细菌,它们都可以运用叶绿素进行光合作用。
产品:
光合作用的首要产品是葡萄糖和氧气。葡萄糖是光合作用产生的最终产品,它是生物体内的重要营养物质。氧气则是光合作用的副产品,它被释放到大气中,供呼吸作用运用。
总之,光合作用是绿色植物和某些细菌运用叶绿素,在光的催化作用下,将二氧化碳和水转化为葡萄糖一起放出氧气的生化进程。这个进程是地球上一切生命能量来源之一,也让地球成为了一个适宜生命生计的行星。

多过程生成提示

当模型足够大时,会涌现推理才干

多过程生成提示的技能,通常会引导模型沿着一系列逻辑过程进行推理,其间或许涉及多种提示办法,比方文本、图画、声响等。

链式考虑(CoT)提示

先来看这个示例

提示:

发问:这组数中的奇数加起来是偶数:15、32、5、13、82、7、1。请答复对仍是错

输出:

答复:这组数中的奇数加起来是偶数,答案为对。

假如咱们增加一些发问与答复的样例,如下:

提示:

发问:这组数中的奇数加起来是偶数:4、8、9、15、12、2、1。
答复:将一切奇数相加(9、15、1)得到25。答案为错。
发问:这组数中的奇数加起来是偶数:17、10、19、4、8、12、24。
答复:将一切奇数相加(17、19)得到36。答案为对。
发问:这组数中的奇数加起来是偶数:16、11、14、4、8、13、24。
答复:将一切奇数相加(11、13)得到24。答案为对。
发问:这组数中的奇数加起来是偶数:17、9、10、12、13、4、2。
答复:将一切奇数相加(17、9、13)得到39。答案为错。
发问:这组数中的奇数加起来是偶数:15、32、5、13、82、7、1。
答复:

输出:

答复:这组数中的奇数加起来不是偶数,答案为错。奇数的和为 (15 + 5 + 13 + 7 + 1) = 41,而41是一个奇数,不是偶数。

少样本提示不同的是,咱们给出的并不仅仅是一个输出模板,而是一系列供参阅和推理的模板,让模型依据这些模板自行推理,然后给出咱们想要的答复

多模态思想链提示办法(多模态CoT提示)

模态咱们可以了解为一种输入维度,传统模态的思想链通常侧重于言语模型,而多模态思想链融合了文本和视觉,运用多模态的思想链进行推理,然后生成更契合人类预期的信息。

多模态思想链提示办法通常遵从以下过程:

  1. 确认问题或使命的中心概念,并将其拆分成若干子概念
  2. 为每个子概念挑选适宜的模态,如文字描绘、示意图画、音频片段等。
  3. 将这些多模态信息依照逻辑顺序安排起来,构成一个“思想链”,以引导大型言语模型生成所需的答案或处理方案。

假定咱们要向一个大型言语模型讨教怎么制造一个简略的太阳能发电体系。运用多模态思想链提示办法,咱们可以这样安排输入:

文本:太阳能发电体系的根本组成部分包含:

图画1:展示太阳能电池

文本:太阳能电池板用于收集太阳能并将其转化为电能;

图画2:展示电池

文本:电池用于贮存从太阳能电池板收集到的电能;

图画3:展示逆变器

文本:逆变器用于将直流电转换为交流电,以便在家庭电器中运用。

问题:怎么将这些部件衔接起来以建立一个简略的太阳能发电体系?

经过这样的多模态输入,咱们可以激活模型中与太阳能发电体系相关的常识和技能,然后获得具体且相关的输出,如体系装置和组件衔接的具体过程。

现在GPT4.0便是一种支持多模态的大言语模型,不过图画输入暂时并没有向外界铺开

动态提示

这些技能依据生成进程中的可以动态自我调整,要求模型在多个层面坚持一起或许经过模型自身来生成新的提示。

自我一起性

其想法是经过少样本CoT(链式推理)采样多个不同的推理路径,并运用生成成果挑选最一起的答案。这有助于进步CoT提示在涉及算术和常识推理的使命中的性能。

自我一起性是一种进步大言语模型输出质量的办法,它要求模型在答复问题或生成输出时坚持一起性,避免呈现逻辑矛盾或许信息不一起。中心是经过在输入中明确要求模型坚持一起性,可以进步输出的精确性和可靠性。

假定咱们向一个大型言语模型讨教关于地球大气层的问题。为了坚持自我一起性,咱们可以将问题分为几个子问题,并要求模型在答复这些子问题时坚持一起性。例如:

**提示:
**请简要介绍地球大气层的结构。在答复上述问题时,请保证以下信息一起:哪些层位于其他层之上?哪些层与地球表面相邻?每个层的首要特点和功用是什么?

主动提示工程师(APE)

主动提示工程师是一种运用算法或程序,主动生成针对大言语模型的有用提示的办法。经过运用主动提示工程师,可以削减人工规划和优化提示的时刻和成本,一起依据特定使命和需求生成更高质量的输出。

一个比较容易了解的办法是这样的,假如咱们想针对一篇论文进行剖析,但是不知道该怎么发问才干得到最为精确的答案,于是咱们直接问模型,

我该问你什么问题才干得到最精确具体地答复?

。然后咱们再拿着模型告诉咱们的答复去问模型,这样就完美处理了提示词不精确的问题

假定咱们要创立一个主动提示工程师来答复关于动物的问题。咱们可以经过以下办法生成主动生成的提示:

提示:

收集一组关于动物的问题-答案对(例如,从问答网站、教科书等);

运用自然言语处理技能(如分词、词性标示等)对收集的问题-答案对进行预处理;

经过剖析预处理后的数据,为不同类型的问题生成通用问题模板,如“哺乳动物有哪些一起特征?”、“{动物名称}的生命周期是多长?”等;

依据需求,主动填充模板中的空白部分,生成具体的提示

交互式发问(Active-Prompt)

Active-Prompt这种提示技能经过规划一组代表性的提示,使模型可以依据这些提示处理特定使命。在这种办法中,咱们不仅供给问题,还预先规划与使命相关的提示模板。

中心思想是经过练习一个简略的模型,这个模型学会依据言语模型的输出和预先规划的提示来作出猜测。在练习进程中,Active-Prompt会主动优化这些提示,以使猜测愈加精确。

以情感剖析使命为例。假定咱们需求判别一段文本是正面情感仍是负面情感。咱们可以规划一个Active-Prompt 模板,如:

“这段文本中的情感是 {sentiment},由于 {reason}。”咱们会用不同的情感(如“正面”和“负面”)填充 {sentiment},并让模型生成 {reason} 部分。然后,咱们运用一个简略的模型来判别哪个提示产生的原因最有说服力,然后推断出文本的情感。

这种办法的优点是,它可以在不对巨大的言语模型进行微调的情况下,实现对特定使命的适应性。这使其成为一种高效、节约核算资源的处理方案。

总之,Active-Prompt是一种经过规划提示模板和练习一个简略模型来引导大型言语模型处理特定使命的办法。这种办法在不需求修正巨大的言语模型的情况下,进步了使命的处理作用。