今日arXiv最热NLP大模型论文:一文读懂大模型的prompt技术

引言:探索高效提示方法的重要性

在人工智能领域,大语言模型(LLMs)已经成为了自然语言处理(NLP)任务的重要工具。随着模型规模的不断扩大,如何高效地利用这些模型,尤其是在资源有限的情况下,成为了一个迫切需要解决的问题。提示方法(Prompting)作为一种新兴的范式,能够通过简洁的指令引导模型完成特定任务,但长而复杂的提示往往会带来额外的计算负担和设计挑战。因此,研究和发展高效的提示方法,不仅能够减轻计算资源的压力,还能够提升模型的适应性和灵活性。本文将探讨当前高效提示方法的研究进展,并展望未来的发展方向。

论文标题:
Efficient Prompting Methods for Large Language Models: A Survey

论文链接:
https://arxiv.org/pdf/2404.01077.pdf

GPT-3.5研究测试: https://hujiaoai.cn

GPT-4研究测试: https://higpt4.cn

Claude-3研究测试(全面吊打GPT-4): https://hiclaude3.com

提示方法的产生、演变与挑战

1. 提示的产生与演变:从手动设计到自动优化

提示(Prompting)技术与预训练语言模型(PLMs)的发展和大语言模型(LLMs)的进步紧密相关。PLMs从Transformer架构开始,逐步演变为BERT和GPT系列模型,通过多种优化策略提高解决特定任务的效率。由此,NLP训练范式经历了从完全监督学习到预训练和微调,再到预训练、提示和预测的转变(下图)。

GPT-3在引入硬提示方面具有里程碑意义,使得人们可以用自然语言与模型交互,无需微调即可进行少量样本学习。ChatGPT进一步巩固了LLM与提示结合的范式,其整合了自然语言理解(NLU)和自然语言生成(NLG)的能力,展现了LLMs的显著能力。

提示方法作为适配特定自然语言处理任务的主流范式,为LLMs的上下文学习打开了大门,但同时也带来了模型推理所需的额外计算资源和手动设计提示所需的人力投入,尤其是在使用冗长和复杂提示来指导和控制LLMs行为的情况下。因此,如何实现高效的提示方法成为了研究领域的焦点。从依赖手工设计的提示向自动化优化的转变,不仅降低了对人力资源的需求,还提升了任务执行的准确性和计算效率。

2. 硬提示与软提示

提示的核心目的就是在不进行繁琐的全面参数调整,避免资源浪费的同时,实现高效的少数样本学习。而提示的表达方式主要有两大类,如下图所示,一种是离散的、直接用自然语言表达的提示,我们称它为“硬提示”;另一种则是连续的、可以学习的向量,我们称之为“软提示”。

有必要强调硬提示之间的多样化变体。最初,硬提示包括类似于为完形填空任务设计的简洁任务指令。然而,随着LLMs理解能力的不断进步,硬提示已经发展到包含更广泛的元素,最常见的包括示例和思维链。下图是一个硬提示的详细示例,高亮部分表示额外的推理过程。当前NLP社区对硬提示日益增长的兴趣表明了对人模对齐以实现人工通用智能(AGI)的渴望。

3. 硬提示面临的挑战

硬提示在各类下游任务中得到了广泛应用,但为提升任务精度而设计的更细致提示,往往冗长且复杂。本次调查从效率角度出发,揭示了硬提示面临的两大核心挑战:冗长的提示内容和困难的提示设计,从而导致内存需求增大、推理速度下降等情况发生。因此,本调查深入探讨了LLM中的高效提示方法。

高效计算提示的策略

1. 知识蒸馏:压缩提示内容

知识蒸馏(KD)是一种经典的压缩方法,其核心思想是指导一个轻量级的学生模型去“模仿”一个表现更好、更复杂的教师模型。在提示压缩的场景中,KD的目的是通过软提示调整,将硬提示中的自然语言信息压缩进LLMs。例如,Askel等人[1](下图)通过上下文蒸馏技术成功地将一个包含4600个单词的HHH(helpful, honest, and harmless)提示压缩进LLMs,实现了与ICL相比更有益的人类一致性效果。

2. 编码:将文本转换为向量

编码是将输入文本转换为向量的过程,这种文本到向量级别的压缩被称为编码。当前的编码方法通过交叉熵目标进行微调,有效地将硬提示的大量信息压缩成一组简洁且模型可访问的向量,从而缓解了冗长文本带来的效率问题。例如,Ge等人[2]提出的可扩展提示(X-Prompt)可以将自然语言中无法描述的风格编码进可扩展词汇表中的虚构词中。下图中,假想词w̃u与X-Prompt中的NL标记混合,以指导其学习。除了w̃u允许更新外,其他权重都被冻结。

3. 过滤:简化用户提示

过滤是文本到文本级别的压缩,涉及到评估提示中不同词汇结构的信息熵,然后尽可能过滤掉冗余信息,最终简化用户提示。例如,Li等人[3]利用“自信息”概念量化提示内的信息量,并通过基于百分位数的过滤方法,定义了三种不同的语义单元(词、短语和句子)作为过滤信息单元,其中短语级别的过滤被验证为最有效的信息保留方法。下图所示基于https://arxiv.org/abs/2303.07352论文引言部分的过滤结果。

通过这些策略,从手动设计到自动优化的转变不仅提高了任务的准确性和计算效率,还为未来的研究方向提供了理论基础和实践指导。

高效设计提示的方法

在设计高效提示方法时,我们可以采用基于梯度的优化方法和基于进化的优化方法。这些方法旨在自动化提示优化过程,以减少人力资源的消耗,并提高LLMs的任务准确性。其工作流程大致如下图所示。

1. 基于梯度的优化方法:实梯度调整与模拟梯度提示

基于梯度的优化方法主要包括实梯度调整和模拟梯度提示。实梯度调整适用于开源模型,可以直接对模型参数进行微调。如下图所示,AutoPrompt[4]框架通过构建包含触发词和掩码词的提示模板,利用梯度搜索自动选择触发词,从而优化硬提示。

而对于闭源模型,由于无法直接访问模型参数,研究者们采用模拟梯度提示的方法。例如,GrIPS[5]方法通过编辑操作(删除、交换、改写、添加)扩展提示优化空间,并利用迭代搜索找到最有效的提示。

2. 基于进化的优化方法:利用自然选择原理

进化算法模拟自然界中“适者生存”的生物进化过程,通过样本多样性的利用和迭代探索来寻找优化方向。例如,OPRO[6]方法将优化轨迹集成到元提示中,使得LLM能够理解高分解决方案的共性,并独立确定优化的最佳方向(下图)。

此外,Hsieh等人[7]的研究关注长提示的离散优化,通过将长提示分解为多个单独的句子,并使用“beam search”算法生成语义相似的提示,从而提高任务性能(如下表所示)

 

理论视角下的未来提示方法:多目标优化问题

从理论角度来看,我们可以将高效提示方法抽象为一个多目标优化问题,旨在同时压缩提示以减少计算复杂性(目标1)和优化LLM任务准确性(目标2)。我们定义输入为X,输出为Y,可访问参数为Θ。其中X是离散的,包括指令、示例等硬提示组件,而Θ是连续的,包括模型自身的可访问参数以及硬提示的向量表示。

未来的研究方向可能包括:

  • 过滤X:测量对LLMs有益的自然语言信息量,并尽可能过滤掉冗余信息。

  • 微调Θ:在构建压缩器时,LLMs应关注不同语义空间的合理转换,而较小的LMs应关注压缩训练数据的构建。

  • 协同优化:硬提示和软提示的同时优化尚未出现,两种不同语义空间的结合值得进一步探索,这在一定程度上是人机对齐的重要发展方向。

结论:总结高效提示方法的发展和未来方向

在本文中,我们回顾了针对LLMs的高效提示方法,旨在提升LLMs的效率和性能。我们概述了当前领域内的相关工作,并深入探讨了这些方法的内在联系。从理论角度出发,我们对这些方法进行了深层次的抽象,并为LLMs的实践者们提供了一份开源项目清单,以便于在科研和商业部署中快速参考。

高效提示方法的发展经历了从手动设计提示到自动优化提示的转变。在早期,研究者们通过手动设计提示来适应不同的任务,这一过程耗时且费力。随着时间的推移,人们开始探索基于梯度下降的提示调整方法,但这些方法并不适用于闭源的LLMs。因此,基于提示工程(PE)的自动优化方法逐渐受到关注。这些方法通常涉及到在给定搜索空间内寻找最佳的“自然语言”提示,以最大化任务准确性。

未来的提示方法可能会将高效提示范式抽象为一个多目标优化问题,旨在压缩提示以降低计算复杂性,同时优化LLM任务的准确性。我们可以预见,未来的提示研究将围绕硬提示展开,因为LLM的不可访问性已成为不可逆转的趋势。未来的研究方向可能包括:过滤掉冗余信息、微调LLM的可访问参数、以及硬提示和软提示的协同优化。

参考资料

[1]Amanda Askell, Yuntao Bai, Anna Chen, et al. A general language assistant as a laboratory for alignment. ArXiv preprint, abs/2112.00861, 2021.
[2]hTao Ge, Jing Hu, Li Dong, et al. Extensible prompts for language models on zero-shot language style customization.2022.
[3] Yucheng Li, Bo Dong, Chenghua Lin, and Frank Guerin. Compressing context to enhance inference efficiency of large language models. In Conference on Empirical Methods in Natural Language Processing, 2023.
[4]Taylor Shin, Yasaman Razeghi, Robert L Logan IV, Eric Wallace, and Sameer Singh. Eliciting knowledge from language models using automatically generated prompts. ArXiv preprint, abs/2010.15980, 2020.
[5]Archiki Prasad, Peter Hase, Xiang Zhou, and Mohit Bansal. GrIPS: Gradient-free, edit-based instruction search for prompting large language models. In Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics, pp. 3845–3864, Dubrovnik, Croatia, 2023.
[6]Chengrun Yang, Xuezhi Wang, Yifeng Lu, et al. Large language models as optimizers. ArXiv preprint, abs/2309.03409, 2023.
[7]Cho-Jui Hsieh, Si Si, Felix X. Yu, and Inderjit S. Dhillon. Automatic engineering of long prompts. ArXiv preprint, abs/2311.10117, 2023.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/549393.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis中的订阅发布和事务(一)

订阅发布 PUBSUB NUMSUB PUBSUB NUMSUB [channel-1 channel-2… channel-n]子命令接受任意多个频道作为输入参数,并返回这些频道的订阅者数量。 这个子命令是通过pubsub_channels字典中找到频道对应的订阅者链表,然后返回订阅者链表的长度来实现的(订阅…

随机游走的艺术-图嵌入表示学习

图嵌入引入 机器学习算法: 厨师 样本集: 食材 只有好的食材才能做出好的饭菜 我们需要把数据变成计算机能够读懂的形式(将数据映射成为向量) 图嵌入概述 传统图机器学习 图表示学习 自动学习特征,将…

啤酒厂要开发一个SCADA系统,我是这样考虑的

需求分析 在啤酒生产过程中,技术与自动化的应用对确保产品质量的稳定、提高生产效率以及保障生产安全起着至关重要的作用。因此,构建一套全面、高效的SCADA(监督控制与数据采集)系统总体规划框架对于啤酒厂来说具有重大意义。 SCA…

spring高级篇(一)

1、ApplicationContext与BeanFactory BeanFactory是ApplicationContext的父级接口:(citlaltu查看类关系图) 在springboot的启动类中,我们通过SpringApplication.run方法拿到的是继承了ApplicationContext的ConfigurableApplicatio…

【C++】unordered_set和unordered_map

底层哈希结构 namespace hash_bucket {template<class T>struct HashData{T _data;struct HashData* next nullptr;HashData(const T& data):_data(data){}};//仿函数:这里直接用开散列仿函数template <class K>struct HashFunc{size_t operator()(const K&a…

13个Java基础面试题

Hi&#xff0c;大家好&#xff0c;我是王二蛋。 金三银四求职季&#xff0c;特地为大家整理出13个 Java 基础面试题&#xff0c;希望能为正在准备或即将参与面试的小伙伴们提供些许帮助。 后续还会整理关于线程、IO、JUC等Java相关面试题&#xff0c;敬请各位持续关注。 这1…

【Redis】主从复制

文章目录 一、主从复制之一主二仆二、主从复制之薪火相传三、主从复制之反客为主四、总结4.1、复制原理和工作流程4.2、复制的缺点 主从复制指的是当主机数据变化时&#xff0c;自动将新的数据异步同步到其他备用机。主从复制的功能主要有 读写分离容灾恢复数据备份水平扩容支…

YOLO算法改进Backbone系列之:HorNet

在基于点积自注意的新空间建模机制的推动下&#xff0c;视觉变形器的最新进展在各种任务中取得了巨大成功。在本文中&#xff0c;我们展示了视觉变形器背后的关键要素&#xff0c;即输入自适应、长距离和高阶空间交互&#xff0c;也可以通过基于卷积的框架有效实现。我们提出了…

2024Spring> HNU-计算机系统-实验3-Bomblab-导引/答疑

前言 BombLab一定要花时间完成哦&#xff0c;对于期末卷面的提升和计算机系统的理解都非常重要。 导引 ①文件目录概览 助教下发一个文件包&#xff0c;打开之后是这样的几个文件。 这几个文件解释如下 bomb&#xff1a;可执行文件&#xff0c;无法打开&#xff0c;我们主要…

MySQL中的存储过程详解(下篇)

使用语言 MySQL 使用工具 Navicat Premium 16 代码能力快速提升小方法&#xff0c;看完代码自己敲一遍&#xff0c;十分有用 拖动表名到查询文件中就可以直接把名字拉进来中括号&#xff0c;就代表可写可不写 目录 1. 查看存储过程 1.1 查看存储过程的状态 1.1.1 基础…

数据结构学习之路--深入探索栈的核心要点(附C源码)

哈喽~大家&#xff01;今天我们来学习栈的特别节目&#xff0c;精彩马上开始~ 目录 前言 一、栈 1 栈的概念 2 栈的结构 3 栈的实现 3.1 栈的定义 3.2 栈的初始化 3.3 入栈 3.4 出栈 3.5 取栈顶元素 3.6 判断栈是否为空 3.7 栈的大小 3.8 栈的销毁 二、源代…

InnoDB架构:磁盘篇

InnoDB架构&#xff1a;磁盘篇 InnoDB是MySQL数据库中默认的存储引擎&#xff0c;它为数据库提供了事务安全型&#xff08;ACID兼容&#xff09;、行级锁定和外键支持等功能。InnoDB的架构设计优化了对于读取密集和写入密集型应用的性能表现&#xff0c;是一个高度优化的存储系…

ctf.show_web13

上传一句话木马 1.php文件&#xff0c;显示 再改后缀为.jpg&#xff0c;显示错误文件大小 用dirsearch扫一下 备份文件.bak 下载文件源码 <?php header("content-type:text/html;charsetutf-8");$filename $_FILES[file][name];$temp_name $_FILES[file][tm…

C++项目 -- 负载均衡OJ(一)comm

C项目 – 负载均衡OJ&#xff08;一&#xff09;comm 文章目录 C项目 -- 负载均衡OJ&#xff08;一&#xff09;comm一、项目宏观结构1.项目功能2.项目结构 二、comm公共模块1.util.hpp2.log.hpp 一、项目宏观结构 1.项目功能 本项目的功能为一个在线的OJ&#xff0c;实现类似…

普通人做抖音小店真的能赚钱吗?可以,但更取决于个人

大家好&#xff0c;我是电商花花。 现在做抖音小店的基本上都是一些新商家&#xff0c;对于我们众多零基础的朋友来说&#xff0c;是期待也是一份挑战。 抖音小店作为一个充满机会的新兴平台&#xff0c;许多人都欣喜的投入其中&#xff0c;期望能够借此来改变自己的命运&…

【教程】ubuntu20.04 下配置 Charm-crypto 0.5 实验环境

目录 前言先决条件基本依赖安装准备好 gcc&#xff0c;make 和 perl准备好 m4&#xff0c;flex&#xff0c;bison 和 libssl-dev安装 Python3.x&#xff0c;pip3 和 pyparsing 安装 OpenSSL安装 GMP5.x安装 PBC安装 Charm-crypto5.0安装开发环境检验 Charm-crypto5.0 安装成功参…

跨国公司网络优化新选择:SD-WAN解决方案

随着全球化的加速推进&#xff0c;跨国企业纷纷实施跨国战略&#xff0c;然而&#xff0c;在各地建立分支机构、数据中心的过程中&#xff0c;往往面临网络性能差异大、数据传输效率低下等问题。在这样的背景下&#xff0c;SD-WAN成为跨国公司网络解决方案的优选。 跨国企业对于…

IO、存储、硬盘、文件系统相关常识

目录 IO 文件系统 文件在硬盘上的存储 IO IO&#xff0c;就是Input和Output&#xff0c;即输入和输出操作。我们的电脑可以通过网络下载文件&#xff0c;也可以通过网络上传文件。通过网络下载文件就是输入操作&#xff0c;上传文件就是输出。如何区分输入和输出呢&#xf…

imgcat 工具

如果经常在远程服务器或嵌入式设备中操作图片&#xff0c;要查看图片效果&#xff0c;就要先把图片dump到本地&#xff0c;比较麻烦。可以使用这个工具&#xff0c;直接在终端上显示。类似于这种效果。 imgcat 是一个终端工具&#xff0c;使用 iTerm2 内置的特性&#xff0c;允…