向LLaMA-1/2和GPT-3.5/4提问原则性指令
编辑Bsharat, Sondos Mahmoud, Aidar Myrzakhan, and Zhiqiang Shen. "Principled instructions are all you need for questioning llama-1/2, gpt-3.5/4." arXiv preprint arXiv:2312.16171 (2023).
翻译论文的前三章节。
1 介绍
“提示工程是与生成式大型语言模型沟通的艺术。” ——ChatGPT, 2023
大型语言模型(LLMs),如ChatGPT,已在多个领域和任务中展现出令人瞩目的能力,包括回答问题、数学推理、代码生成等。然而,对于普通用户而言,这些模型的应用和使用方法,尤其是在设计最佳指令或提示方面,有时并不清晰。在本研究中,我们的目标是向开发者或普通用户揭示与LLMs交互和查询时的这些谜团,并通过精心策划更好的提示,进一步提升预训练LLMs响应的质量。
图1:应用原则前后的提示及相应回复的示例说明。左侧为原始提示及GPT-4的回复,右侧为遵循原则的提示及相应的回复。此处应用了原则5和原则6。
鉴于直接对大型语言模型(LLMs)进行特定任务的微调对于大多数用户和开发者而言往往因效率低下而不切实际或难以实现,研究界已将注意力转向优化提示。提示工程技术,即手动或通过自动化手段精心构建精确的任务特定自然语言指令,并仔细选择具有代表性的示例包含在提示中,已成为大型语言模型研究的核心领域。尽管付出了这些专注的努力,但可靠地引导大型语言模型产生特定响应并充分利用预训练大型语言模型的能力仍然是一个巨大的挑战。
在本研究中,我们提出了全面的原则性指令,以提高大型语言模型提示的质量。具体而言,我们研究了向不同类型和表述方式的提示输入时出现的广泛行为,如将目标受众纳入提示中,例如添加“受众是该领域的专家”或“受众是5岁的儿童”,以及其他多个方面的大型语言模型特征。我们的研究结果表明,更大的模型具有相当大的模拟能力。提供的任务或指令越精确,模型的性能就越有效,其响应与我们的期望就越一致。这表明大型语言模型不仅仅是记忆训练数据,而是能够将这些信息适应不同的提示,即使核心询问保持不变。因此,为大型语言模型分配特定角色以产生更符合我们预期结果的输出证明是有益的。
我们在第3节中详细阐述了大型语言模型提示的原则性指令,提供了进一步的动机,并详细说明了几个具体的设计原则。我们通过实验证明,与标准的大型语言模型提示相比,所提出的原则能够产生质量更高、更简洁、更事实准确且不太复杂或繁琐的响应。具体而言,在使用包含每个原则多个问题的手动设计的ATLAS基准测试时,我们引入的专门提示在应用于GPT-4时,分别将大型语言模型响应的质量和准确性平均提高了57.7%和36.4%。此外,随着模型规模的增加,改进更为显著,例如,从LLaMA-2-7B到GPT-4的性能提升超过了20%。
2 相关工作
大型语言模型。大型语言模型(LLMs)的演进在自然语言处理(NLP)领域的发展中起到了关键作用。本节回顾了LLMs的关键发展,为当前研究提供了基础。从Google的BERT开始,其通过双向训练方法革新了上下文理解,而T5则通过将各种NLP任务整合到一个框架中进一步推动了该领域的发展。同时,GPT-1引入了一种开创性的模型,利用Transformer架构进行无监督学习。随后,其继任者GPT-2将参数数量显著扩展到15亿,在文本生成方面展现出了卓越的能力。然后,GPT-3在规模和能力上实现了巨大飞跃,拥有1750亿参数,并在广泛的语言任务中展现出了熟练度。
关于其他最近提出的大型语言模型,Gopher不仅通过其280亿参数的模型提升了语言处理能力,还将伦理考量置于首位。Meta的LLaMA系列强调了效率的重要性,表明在资源较少的情况下也能实现强大的性能,这一概念也得到了Chinchilla的倡导,其提出更小、经过最优训练的模型也能取得卓越成果。这一系列创新中的最新成果是Mistral,它在效率和性能方面表现出色,甚至超过了更大的模型。这一轨迹上的最新里程碑是OpenAI的GPT-4和Google的Gemini系列。它们以增强的理解和生成能力代表了该领域的又一重大进步,为LLMs在各个领域的应用设立了新的基准。
提示词。提示词作为与大型语言模型交互的一个独特方面,因其无需对模型进行微调而具有简洁性,已发展成为一个细致入微的研究领域,突出了用户输入与大型语言模型响应之间的复杂关系。早期的探索,深入探讨了不同提示设计如何显著影响语言模型的性能和输出,这标志着提示工程的诞生。这一领域迅速扩展,揭示了提示在少样本学习和零样本学习场景中的关键作用,以GPT-3的工作为例,其中精心设计的提示使模型能够仅通过最少的先前示例执行任务。除了任务指令之外,最近的研究已转向理解提示中的语义和上下文细微差别,研究细微变化如何导致大型语言模型产生截然不同的响应。
“Ask-Me-Anything ”提示方法引入了使用多个不完美提示并将它们聚合起来以改善模型性能,特别是在问答格式中。另一种方法是“思维链”(Chain-of-Thought)方法,其中模型生成一系列中间推理步骤以提高在复杂任务上的性能。此外,“从最少到最多”(least-to-most)提示是一种将复杂问题分解为更简单子问题的新策略,显著增强了模型处理比提示中呈现的问题更具挑战性问题的能力。探索了解释的有效性,发现解释可以增强大型语言模型在复杂任务上的学习能力。此外,还使用ChatGPT检查了提示工程技术目录,强调了提示工程在增强大型语言模型在软件开发和教育领域应用中的重要性。它还指出,有效的提示设计对于提高大型语言模型的性能至关重要,特别是在编程实践和学习体验方面。最后,“定向刺激提示”(Directional Stimulus Prompting)提出了一种新颖框架,该框架使用可调策略模型生成辅助提示,引导大型语言模型实现特定的期望结果。这种提示策略的多样性凸显了大型语言模型领域的快速发展,提供了多种有效利用其能力的方向。
3 原则
3.1 动机
由于预训练且与指令对齐的大型语言模型(LLM)生成的响应质量直接与用户提供的提示或指令的质量相关,因此,制作LLM能够理解并有效回应的提示至关重要。向LLM提供的提示是用户与LLM之间交互编程的一种方式,能够增强LLM处理各种任务的能力。这项工作的主要重点是制定和优化提示的方法,以提高输出质量。这需要对LLM的功能和行为、其潜在机制以及支配其响应的原则有全面的了解。在这项工作中,我们通过详细阐述26条适用于不同场景和情况下的全面提示原则来实现这一目标,如图1所示为一些示例。
3.2 概述
原则概述如表1所示。根据其独特性质,我们将其分为如表2所示的五个类别:(1)提示结构和清晰度,例如,在提示中融入目标受众,如受众是该领域的专家;(2)具体性和信息性,例如,在提示中添加以下短语“确保你的回答是无偏见的,并且不依赖于刻板印象。”;(3)用户交互和参与,例如,允许模型通过向你提问来引出精确的细节和要求,直到它拥有足够的信息来提供所需的输出“从现在开始,我希望你通过向我提问来……”。(4)内容和语言风格,例如,与LLM交流时无需礼貌,因此无需添加诸如“请”、“如果你不介意的话”、“谢谢”、“我想”等短语,直接切入要点;(5)复杂任务和编码提示,例如,在交互式对话中将复杂任务分解为一系列更简单的提示。
表1:26条随机排列的提示原则概览
表2:提示原则分类
3.3 设计原则
在本研究中,为制定能够激发预训练大型语言模型产生高质量回复的提示和指令,建立了一系列指导原则:
简洁明了:通常,过于冗长或模糊的提示可能会使模型感到困惑,或导致产生不相关的回复。因此,提示应简洁明了,避免添加对任务无贡献的不必要信息,同时又要足够具体,以便为模型提供指导。这是提示工程的基本指导原则。
上下文相关性:提示必须提供有助于模型理解任务背景和领域的相关上下文。通过包含关键词、领域特定术语或情境描述,可以使模型的回复与正确的上下文相关联。我们在所提出的原则中强调了这一设计理念。
任务一致性:提示应与当前任务紧密相关,使用语言和结构清晰地向模型指示任务的性质。这可能涉及将提示表述为问题、命令或填空语句,以符合任务预期的输入和输出格式。
示例演示:对于更复杂的任务,在提示中包含示例可以展示所需的回复格式或类型。这通常涉及展示输入-输出对,尤其是在“少样本”或“零样本”学习场景中。
避免偏见:设计提示时应尽量减少因模型训练数据而固有的偏见激活。使用中性语言,并注意潜在的伦理影响,尤其是对于敏感话题。
逐步提示:对于需要一系列步骤的任务,可以设计提示来逐步引导模型完成整个过程。将任务分解为一系列相互构建的提示,逐步指导模型。此外,提示应根据模型的性能和迭代反馈进行调整,即需要根据初始输出和模型行为准备好完善提示。而且,提示还应根据模型的性能和回复、以及迭代的人类反馈和偏好进行调整。
最后,更高级的提示可能会融入类似编程的逻辑来完成复杂任务。例如,在提示中使用条件语句、逻辑运算符,甚至伪代码来指导模型的推理过程。提示的设计是一个不断发展的领域,尤其是随着大型语言模型变得越来越复杂。随着研究人员继续探索通过提示工程可以实现哪些极限,这些原则可能会得到改进和扩展。
- 0
- 0
-
分享