夕小瑶科技说 原创

作者 | Tscom

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

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

Efficient Prompting Methods for Large Language Models: A Survey

论文链接
:

https://arxiv.org/pdf/2404.01077.pdf

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

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.
继续阅读
阅读原文