《The Prompt Report: A Systematic Survey of Prompting Techniques》这篇论文通过系统性的元分析,建立了一个包含33个专业术语和58种文本提示技术的分类法,探讨了多语言和多模态提示的应用,扩展了提示技术到代理的使用,并讨论了提示工程中的安全和对齐问题。
此外,通过基准测试和案例研究,展示了提示技术在实际问题中的应用效果,为理解和改进与生成式人工智能系统交互的方式提供了宝贵的资源和见解。
研究背景:基于 Transformer 的 LLMs模型依赖于用户提供输入“提示”,模型会根据该提示生成输出作为响应。
论文探讨的几方面
研究范围:提示技术目录、离散前缀提示、硬(离散)提示。
提示词是生成式 AI 模型的输入,用于指导内容输出,可以由文本、图像、声音、视频或其他媒体组成。
提示词通常通过提示词模板构建,它是一种包含一个或多个变量的函数,变量将被某些媒体(通常是文本)替代以创建提示词,将该提示词视为模板的实例。
将文章分类为积极的或消极的:
{文章内容}
接下来介绍提示词包含的一些术语,讨论它们如何适应提示,如下图:
图:提示词术语词汇表
指令,许多提示通过指令或问题的形式明确其核心目的,这通常被称为“意图”。
示例,亦称为样本,用以引导其完成特定的任务。
为了满足特定的信息需求,设计以多种格式输出数据,包括但不限于 CSV 或 Markdown 格式。
样式指令是一种输出格式,从风格上修改输出。
角色定义了具有什么样的技能和属性,可以改进写作和文本风格。
通常需要在提示词中包含附加信息,有时被称为“上下文”。
基于文本提示词
SUMMER
提出了 58 种基于文本的提示技术的综合分类本体,分为 6 个主要类别。
夏天
多语言提示词
SUMMER
多语言提示词是在处理多语言任务时使用的一系列技术,旨在提高语言模型在非英语语言环境下的性能。
夏天
论文中提到的7种多语言提示词技术如下:
Translate First Prompting(翻译先行提示):将非英语输入示例先翻译成英语,使模型利用英语优势理解内容。翻译工具包括使用外部机器翻译系统、提示多语言语言模型或提示语言模型进行翻译。
Chain - of - Thought (CoT)扩展到多语言设置:
ICL扩展到多语言设置:
Prompt Template Language Selection(提示模板语言选择):在多语言提示中,用英语构建提示模板通常比使用任务语言更有效,因为英语数据在语言模型预训练中占主导地位,导致翻译错误在任务语言模板中可能会传播不正确的语法和语义,从而影响任务性能。然而,一些多语言提示基准如BUFFET或LongBench使用任务语言提示来满足特定语言使用场景的需求,并且不同的翻译方法和模板在不同任务和模型中的效果可能不同。
Prompting for Machine Translation(用于机器翻译的提示):包括Multi - Aspect Prompting and Selection (MAPS)、Chain - of - Dictionary (CoD)、Dictionary - based Prompting for Machine Translation (DiPMT)、Decomposed Prompting for MT (DecoMT)等技术,用于辅助准确和细致的翻译。
Human - in - the - Loop(人机交互):
多模态提示词
SUMMER
多模态提示词是一种用于扩展语言模型应用范围的技术,它涵盖了图像、音频、视频等多种模态。
多模态提示词使语言模型能够处理和融合多种模态的信息,从而提升其在各种复杂任务中的表现和应用能力。
夏天
论文中提到的4种多模态提示词技术如下:
Image Prompting(图像提示):涵盖了与图像相关的多种任务,如图像生成、字幕生成、图像分类、图像编辑等。
常见的图像提示技术包括使用Prompt Modifiers(提示修饰符)来改变生成图像的效果,
以及Negative Prompting(负向提示)来数值化地调整模型对某些术语的重视程度,以避免生成不期望的内容。
Multimodal In - Context Learning(多模态上下文学习):例如
Multimodal Chain - of - Thought(多模态思维链):
Segmentation Prompting(分割提示):可用于语义分割等任务,提示模型对图像或其他数据进行分割。
这些多模态提示词技术丰富了提示的形式和应用场景,使模型能够处理和结合多种模态的数据,从而拓展了其能力和应用范围。
提示词扩展-agent
SUMMER
提示词扩展(代理)是指在自然语言处理中,为了增强语言模型(LLM)的能力和功能,使其能够与外部系统进行交互并解决更复杂的任务,而采用的一系列技术。
夏天
论文中提到的4种提示词扩展(代理)技术如下:
Tool Use Agents(工具使用代理):这类代理是GenAI系统,能通过提示链与外部系统交互,以实现用户目标。
例如,MRKL System包含一个提供对多个工具访问的LLM路由器,可进行多次调用以获取信息并生成最终响应;Self - Correcting with Tool - Interactive Critiquing (CRITIC)先生成响应,然后使用工具进行验证或修正;Toolformer和Gorilla等也提出了类似的技术,涉及一些微调。
Code - Generation Agents(代码生成代理):如Program - aided Language Model (PAL)将问题直接转化为代码,发送到Python解释器生成答案;Tool - Integrated Reasoning Agent (ToRA)则交错进行代码和推理步骤以解决问题;TaskWeaver能将用户请求转化为代码,并可利用用户定义的插件。
Observation - Based Agents(基于观察的代理):一些代理通过接收观察信息插入提示来解决问题,如Reasoning and Acting (ReAct)生成思想、采取行动、接收观察并重复该过程,所有信息都插入提示中以形成记忆;Reflexion在ReAct基础上增加了自省层,通过评估成功或失败来生成反思,并将其添加到提示中作为工作记忆。
Retrieval Augmented Generation (RAG)(检索增强生成):在GenAI代理中,RAG是一种范式,通过从外部源检索信息并将其插入提示来增强知识密集型任务的性能。
例如,Verify - and - Edit通过生成多个思维链并选择一些进行编辑,同时检索相关外部信息让LLM进行扩充;Demonstrate - Search - Predict先分解问题为子问题,然后使用查询解决并组合响应;Interleaved Retrieval guided by Chain - of - Thought (IRCoT)则交错使用CoT和检索来回答多跳问题;Iterative Retrieval Augmentation技术如Forward - Looking Active REtrieval augmented generation (FLARE)和Imitate, Retrieve, Paraphrase (IRP)通过多次检索和注入知识来改进长文本生成。
今天的内容就到这里,感谢您的阅读,如果喜欢点个赞再走吧,不胜感激~