展开菜单
首页 精品内容 本月促销 装机必备 Windows macOS软件 IOS软件 Android AI PDF教程 专题
全部分类

当前位置:

首页 > 业界资讯 > 思考改进中的咒语胜过「让我们一步一步思考」

思考改进中的咒语胜过「让我们一步一步思考」

大语言模型可以通过元提示执行自动提示工程,但由于缺乏足够的指导以引导大语言模型中的复杂推理能力,它们的潜力可能没有完全发挥。那么该如何指导大语言模型进行自动提示工程?大型语言模型(LLM)是自然语言处理任务中强大的工具,但要找到最优提示往往需要大量的手动尝试和试错。由于模型的敏感性,即使在部署到生产环境后,仍可能遇到意想不到的边缘情况,需要进一步的手动调整来改善提示。因此,尽管LLM具有巨大的潜力,但在实际应用中仍需要人工干预以优化其性能。这些挑战催生了自动提示工程的新兴研究领域。在这一领域内,一种显著的

大语言模型可以通过元提示执行自动提示工程,但由于缺乏足够的指导以引导大语言模型中的复杂推理能力,它们的潜力可能没有完全发挥。那么该如何指导大语言模型进行自动提示工程?

大型语言模型(LLM)是自然语言处理任务中强大的工具,但要找到最优提示往往需要大量的手动尝试和试错。由于模型的敏感性,即使在部署到生产环境后,仍可能遇到意想不到的边缘情况,需要进一步的手动调整来改善提示。因此,尽管LLM具有巨大的潜力,但在实际应用中仍需要人工干预以优化其性能。

这些挑战催生了自动提示工程的新兴研究领域。在这一领域内,一种显著的方法是通过利用LLM的自身能力来实现。具体而言,这涉及使用指令来对LLM进行元提示,比如"检查当前提示和示例批次,然后生成一个新的提示"。

虽然这些方法取得了令人印象深刻的性能,但随之而来的问题是:什么样的元提示适用于自动提示工程?

为了回答这个问题,南加州大学和微软的研究者发现了两个关键观察。首先,提示工程本身就是一个复杂的语言任务,需要进行深层的推理。这意味着需要仔细检查模型的错误,判断当前提示中是否缺少或误导了某些信息,并找到更清晰地传达任务的方法。其次,在LLM中,通过引导模型逐步思考,可以激发出复杂的推理能力。通过指导模型反思其输出,我们还能进一步提高这种能力。这些观察结果为解决这个问题提供了有价值的线索。

比「让我们一步一步思考」这句咒语还管用,提示工程正在被改进

论文地址:https://arxiv.org/pdf/2311.05661.pdf

通过前面的观察,研究者进行了微调工程,旨在建立一个元提示,为LLM更有效地执行提示工程提供指导(见下图2)。通过反思现有方法的限制,并结合复杂推理提示的最新进展,他们引入了元提示组件,如逐步推理模板和上下文规范,明确指导LLM在提示工程中的推理过程。

此外,由于提示工程与优化问题密切相关,我们可以从常见的优化概念中借鉴一些灵感,例如批处理大小、步长和动量,并将它们引入到元提示中以进行改进。我们在MultiArith和GSM8K这两个数学推理数据集上对这些组件和变体进行了实验,并确定了一个表现最佳的组合,我们将其命名为PE2。

PE2在实证性能方面取得了显著的进展。当使用TEXT-DAVINCI-003作为任务模型时,PE2生成的提示在MultiArith上比零-shot思维链的一步一步思考提示提高了6.3%,在GSM8K上提高了3.1%。此外,PE2在性能上胜过了两个自动提示工程的基线,即迭代APE和APO(见图1)。

值得注意的是,PE2 在反事实任务上的表现最为有效。此外,该研究还证明了 PE2 在优化冗长、现实世界提示上具有广泛的适用性。

比「让我们一步一步思考」这句咒语还管用,提示工程正在被改进

在审查 PE2 的提示编辑历史时,研究者发现 PE2 始终提供有意义的提示编辑。它能够修正错误或不完整的提示,并通过添加额外的细节使提示更加丰富,从而促成最终性能的提升 (表 4 所示)。

有趣的是,当 PE2 不知道在八进制中进行加法运算时,它会从示例中制定自己的算术规则:「如果两个数字都小于 50,则将 2 添加到总和中。如果其中一个数字是 50 或更大,则将 22 添加到总和中。」尽管这是一个不完美的简便解决方案,但它展示了 PE2 在反事实情境中进行推理的非凡能力。

尽管取得了这些成就,研究者也认识到了 PE2 的局限性和失败案例。PE2 也会受到 LLM 固有限制的影响和限制,比如忽视给定的指令和产生错误的合理性 (下表 5 所示)。

比「让我们一步一步思考」这句咒语还管用,提示工程正在被改进

背景知识

提示工程

提示工程的目标是在使用给定的 LLM M_task 作为任务模型时(如下公式所示),在给定数据集 D 上找到达到最佳性能的文本提示 p∗。更具体地说,假设所有数据集都可以格式化为文本输入 - 输出对,即 D = {(x, y)}。一个用于优化提示的训练集 D_train,一个用于验证的 D_dev,以及一个用于最终评估的 D_test。按照研究者提出的符号表示,提示工程问题可以描述为:

比「让我们一步一步思考」这句咒语还管用,提示工程正在被改进

其中,M_task (x; p) 是在给定提示 p 的条件下模型生成的输出,而 f 是对每个示例的评估函数。例如,如果评估指标是完全匹配,那么比「让我们一步一步思考」这句咒语还管用,提示工程正在被改进

使用 LLM 进行自动提示工程

在给定一组初始提示的情况下,自动提示工程师将不断提出新的、可能更好的提示。在时间戳 t,提示工程师获得一个提示 p^(t),并期望写一个新提示 p^(t+1)。在新的提示生成过程中,可以选择检查一批示例 B = {(x, y, y′ )}。这里 y ′ = M_task (x; p) 表示模型生成的输出,y 表示真实标签。使用 p^meta 表示一个元提示,用于指导 LLM 的 M_proposal 提出新的提示。因此,

比「让我们一步一步思考」这句咒语还管用,提示工程正在被改进

构建一个更好的元提示 p^meta 以提高所提出的提示 p^(t+1) 的质量是本研究的主要关注点。

构建更好的元提示

就像提示在最终任务性能中发挥重要作用一样,引入到公式 2 中的元提示 p^meta 在新提出的提示质量以及自动提示工程的整体质量中起着重要作用。

研究者主要专注于对元提示 p^meta 进行提示工程,开发了可能有助于提高 LLM 提示工程质量的元提示组件,并对这些组件进行系统的消融研究。

研究者基于以下两个动机来设计这些组件的基础:(1)提供详细的指导和背景信息:(2)融入常见的优化器概念。接下来,研究者将更详细地描述这些元素并解释相关原理。下图 2 为可视化展示。

比「让我们一步一步思考」这句咒语还管用,提示工程正在被改进

提供详细的指令和上下文。在先前的研究中,元提示要么指示提议模型生成提示的释义,要么包含有关检查一批示例的最小指令。因此通过为元提示添加额外的指令和上下文可能是有益的。

(a) 提示工程教程。为了帮助 LLM 更好地理解提示工程的任务,研究者在元提示中提供一个提示工程的在线教程。

(b) 两步任务描述。提示工程任务可以分解为两个步骤,像 Pryzant et al. 所做的那样:在第一步,模型应该检查当前的提示和一批示例。在第二步,模型应该构建一个改进的提示。然而,在 Pryzant et al. 的方法中,每一步都是即时解释的。与之相反的是,研究者考虑的是在元提示中澄清这两个步骤,并提前传递期望。

(c) 逐步推理模板。为了鼓励模型仔细检查批次 B 中的每个示例并反思当前提示的局限性,研究者引导提示提议模型 M_proposal 回答一系列问题。例如:输出是否正确?提示是否正确描述了任务?是否有必要编辑提示? 

(d) 上下文规范。在实践中,提示插入整个输入序列的位置是灵活的。它可以在输入文本之前描述任务,例如「将英语翻译成法语」。它也可以出现在输入文本之后,例如「一步一步地思考」,以引发推理能力。为了认识到这些不同的上下文,研究者明确指定了提示与输入之间的相互作用。例如:「Q: A :一步一步地思考。」

融入常见的优化器概念。在前面方程 1 中描述的提示工程问题本质上是一个优化问题,而方程 2 中的提示提议可以被视为进行一次优化步骤。因此,研究者考虑以下在基于梯度的优化中常用的概念,并开发他们元提示中使用的对应词。

(e) 批处理大小。批处理大小是在每个提示提议步骤 (方程 2) 中使用的 (失败) 示例数量。作者在分析中尝试了批处理大小为 {1, 2, 4, 8}。

(f) 步长。在基于梯度的优化中,步长确定模型权重更新的幅度。在提示工程中,其对应物可能是可以修改的单词(token)数量。作者直接指定「你可以更改原始提示中的最多 s 个单词」,其中 s ∈ {5, 10, 15, None}。

(g) 优化历史和动量。动量 (Qian, 1999) 是一种通过保持过去梯度的移动平均来加速优化并避免振荡的技术。为了开发动量的语言对应部分,本文包含了所有过去的提示(时间戳为 0, 1, ..., t − 1)、它们在 dev 集上的表现以及提示编辑的摘要。

实验

作者使用以下四组任务来评估 PE2 的有效性和局限性:

1. 数学推理;2. 指令归纳;3. 反事实评估;4. 生产提示。

改进的基准与更新的 LLMs。在表 2 的前两部分中,作者观察到使用 TEXT-DAVINCI-003 可以显著提高性能,表明它更能够在 Zero-shot CoT 中解决数学推理问题。此外,两个提示之间的差距缩小了(MultiArith:3.3% → 1.0%,GSM8K:2.3% → 0.6%),表明 TEXT-DAVINCI-003 对提示释义的敏感性减小。鉴于此,依赖简单释义的方法如 Iterative APE,可能无法有效地提升最终结果。更精确和有针对性的提示编辑是提高性能的必要条件。

比「让我们一步一步思考」这句咒语还管用,提示工程正在被改进

PE2 在各种任务上优于 Iterative APE 和 APO。PE2 能够找到一个在 MultiArith 上达到 92.3% 准确率(比 Zero-shot CoT 高 6.3%)和在 GSM8K 上达到 64.0% 的提示 (+3.1%)。此外,PE2 找到的提示在指令归纳基准、反事实评估和生产提示上优于 Iterative APE 和 APO。

在前面图 1 中,作者总结了 PE2 在指令归纳基准、反事实评估和生产提示上获得的性能提升,展示了 PE2 在各种语言任务上取得了强大的性能。值得注意的是,当使用归纳初始化时,PE2 在 12 个反事实任务中的 11 个上优于 APO (图 6 所示),证明了 PE2 能够推理矛盾和反事实情境。

比「让我们一步一步思考」这句咒语还管用,提示工程正在被改进

PE2 生成有针对性的提示编辑和高质量提示。在图 4 (a) 中,作者绘制了提示优化过程中提示提议的质量。实验中观察到三种提示优化方法有非常明显的模式:Iterative APE 基于释义,因此新生成的提示具有较小的方差。APO 进行了大幅度的提示编辑,因此性能在第一步下降。PE2 在这三种方法中是最稳定的。在表 3 中,作者列出了这些方法找到的最佳提示。APO 和 PE2 都能够提供「考虑所有部分 / 细节」的指令。此外,PE2 被设计为仔细检查批次,使其能够超越简单的释义编辑,进行非常具体的提示编辑,例如「记得根据需要添加或减去」。

比「让我们一步一步思考」这句咒语还管用,提示工程正在被改进

了解更多内容,请参考原论文。

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
业界资讯
相关文章 更多
精品专题 更多
本月促销

正软商城本月促销专区,汇集办公、设计、安全、影音、系统工具及AI软件等正版软件优惠活动,提供限时折扣、特价授权和优惠购买信息,活动库存及价格以页面实时展示为准。

装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

IOS软件

正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

AI

正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
灵活计算器
灵活计算器

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

图几
图几

图几是一款适用于 macOS 的截图、标注与美化工具,支持离线操作保障隐私。界面整理和高频系统操作被放到一起考虑,桌面或窗口内容一多时,管理起来会更省心。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Menuist
Menuist

Menuist 是一款面向 macOS 的 Finder 右键菜单增强工具,主要用来补充新建文件、快捷导航等常用操作,让日常文件管理和访问路径时更高效、更顺手。

Mole
Mole

Mole 是一款专为 Mac 设计的深度清理优化工具,涵盖缓存清理、应用管理及实时状态监控等功能。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

WINDOWS 更多
Windows 10
Windows 10

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

傲梅轻松备份
傲梅轻松备份

傲梅轻松备份是一款专业易用的数据备份软件,为重要数据提供安全保障。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

Wise Folder Hider Pro
Wise Folder Hider Pro

Wise Folder Hider Pro 是一款专业级文件和文件夹隐藏加密软件,为私密数据添加多重保护。高频操作更强调就近处理,浏览、整理和跨目录移动文件时,来回切换和重复点击都会少很多。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

PinStack
PinStack

PinStack是一款轻量级的Windows平台剪贴板管理工具,优化您的剪贴板使用体验。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Seer
Seer

Seer是一款在Win平台下的空格键功能增强效率工具,只需轻敲空格键,就能预览几乎任何格式的文件。它更适合把零散的小功能集中起来使用,处理高频琐碎任务时会更省事。