本次Prompt技术全景综述共收录了1,565篇论文,由来自马里兰大学研究团队、OpenAI、斯坦福、微团等知名机构的研究人员撰写。既有学术界重量级团队,也有工业界的巨头。
prompt本质定义:
Prompt是一段输入给生成式AI模型的文本,用于引导模型产生期望的输出。这个定义点明了Prompt的本质属性和功能定位。
prompt的六大构成要素
1.指令(directive)
这是Prompt的灵魂所在。通过精心设计的指令,我们可以向模型传达任务的核心诉求。举个例子,如果我们想要生成一篇关于春天的诗歌,可以使用"请写一首歌颂春天美好的诗"这样的指令。指令的表述要明确、具体,避免歧义
2.示例(Example、few-shot)
这是In-Context Learning的关键。通过在Prompt中提供几个精选的示例,我们可以让模型快速理解任务的输入输出格式和要求。比如,在情感分类任务中,我们可以提供几个样本文本及其情感标签(正面/负面),让模型学会判断情感倾向。示例要典型、多样,覆盖任务的主要场景。
3.格式控制(Output Formatting):这是规范模型输出的利器。通过格式控制标记,我们可以让模型以特定的格式组织输出内容,如生成CSV格式的表格、Markdown格式的文档等。例如,在数据分析任务中,我们可以要求模型以表格形式输出统计结果,每一行对应一个指标,用逗号分隔。
4. 角色指定(Role):这是激发模型创造力的神奇钥匙。通过为模型赋予一个虚拟的身份,我们可以让它以特定的视角、风格生成内容。比如,我们可以让模型扮演一位历史学家,以严谨的笔调评述一段历史事件;也可以让它化身为一名诗人,用优美的语言描绘大自然的风光。
5. 风格指令(Style Instruction):这是调控模型语言风格的调色板。通过风格指令,我们可以要求模型以特定的语气、情感倾向、字数限制等生成内容。例如,我们可以指示模型用严肃的口吻撰写一份商业报告,或是用幽默风趣的笔调创作一个段子。
6. 补充信息(Additional Information):这是为模型提供背景知识的补给站。很多任务需要一定的领域知识作为辅助信息。比如,在撰写一篇医学论文时,我们可以为模型提供一些疾病的定义、治疗方案等背景资料,帮助模型更好地理解和表述主题。
提示技术的六个类别
下图是论文中展示的6大类58种提示技巧
1. Zero-Shot(零样本学习):无需示例即可完成任务的prompting技术。
2. Few-Shot(小样本学习):这是报告中的In-Context Learning (ICL)部分,通过少量示例来引导模型完成任务的prompting技术。这又可分为:
- Example Generation(示例生成):自动生成示例的技术,如SG-ICL。
- Example Ordering(示例排序):研究示例顺序对模型性能影响的技术。
- Exemplar Selection(示例选择):从数据集中选择最佳示例子集的技术,如KNN、Vote-K等。
3. Thought Generation(思维链生成):引导模型生成推理过程的prompting技术。其中最著名的是CoT(Chain-of-Thought),它又有零样本和小样本两种变体。此外还包括一些CoT的扩展方法,如AutoCoT、Faithful CoT等。
4. Ensembling(集成学习):生成并组合多个prompts及其输出的技术,如Self-Consistency、DiVeRSe等。
5. Self-Criticism(自我批评):生成对模型自身输出的评价和反馈的prompting技术,如Self-Refine、Self-Verification等。
6. Decomposition(问题分解):将复杂问题分解为子问题求解的prompting技术,如Least-to-Most、DECOMP等。
prompt的敏感性分析
一些研究表名,LLM对于输入的prompt具有相当的敏感性;输入prompt的微小变化也可能导致LLM输出的较大变化,这些变化包括:prompt组装顺序,指令的句式问法等。
用词:额外的空格,大小写变化,修改分隔符等
改变问法,一个例子如下:
组装顺序,例如fewshot example的前后顺序,或在多选题中改变候选答案的前后顺序等。
fewshot技术分析
影响fewshot的几大要素:
示例质量、示例数量、示例顺序、示例分布、示例格式、示例与问题的相似度
示例数量:越多越好,尤其在模型较大的情况下,某些情况下数量达到20达到边际效应。
示例顺序:视具体场景而定
示例分布:各类标签分布均衡的示例效果更好
示例质量:质量越高越好,示例标注错误少,标注质量高
示例格式:最常用的格式“Q: {input}, A: {label}”, 可以在实际应用时尝试多张格式,推荐使用更常在训练集中出现的格式
示例相似度:通常情况下,选择与测试样本接近的示例更好,然而在少数情况下,选择更多样性的示例或许更好。
以上六个方面,并不一定适应所有场景,在某些情况下,推荐的任一个方面可能也存在负面作用。