首页 > 其他分享 >大语言模型的高效提示方法:综述

大语言模型的高效提示方法:综述

时间:2024-05-27 20:34:05浏览次数:23  
标签:高效 综述 提示 模型 LLM 自然语言 优化

24年4月东北大学的论文“Efficient Prompting Methods for Large Language Models: A Survey”。

提示已成为将大语言模型 (LLM) 应用于特定自然语言处理任务的主流范例。虽然这种方法为 LLM 的上下文学习ICL打开了大门,但它带来了模型推理的额外计算负担和手工设计提示的人力,特别是使用冗长而复杂的提示来指导和控制 LLM 的行为。本文对这些方法进行全面的概述。从高层次上讲,高效提示方法大致可分为两种方法:高效计算的提示和高效设计的提示。前者涉及各种压缩提示的方式,而后者采用自动化的提示优化技术。

大语言模型 (LLM) 在各种自然语言处理 (NLP) 任务上取得了显著的进步,例如聊天、机器翻译和摘要。提示是人机交互的重要媒介,可以明确地向 LLM 传递清晰的任务描述,然后 LLM 通过类比学习(analogical learning)生成用户想要的响应。提示的内容可以在不同的上下文中有所不同,具体包含指令、问题、具有特定输出格式的多个演示,以及复杂推理过程和角色扮演命令等其他要求。一般提示是指用户对 LLM 的输入。

然而,随着 LLM 的上下文学习 (ICL) (Dong,2022) 能力变得越来越强大,针对不同特定任务设计的提示趋于多样化和细节化。超长的自然语言提示逐渐引发了两个问题:1)对于 LLM 本身而言,上下文窗口有限,影响了其处理过长上下文的潜力;2)对于 LLM 用户而言,要么需要大量计算资源来训练开源模型,要么需要高昂的成本来调用闭源模型接口。从这个角度来看,无论在学术研究还是商业部署场景中,使用 LLM 的成本都相当巨大。性能优异的 LLM 不能得到广泛应用显然是一个遗憾。虽然有许多相关的模型结构改进,例如高效的注意机制可以有效地降低推理成本,但是需要更多地关注高效的提示方法,以节省不必要的资本开销。

从财力和人力的角度考虑,可以从三个方面提高效率:1)加速推理;2)降低内存开销;3)自动化的提示优化。前两个目标可以通过提示压缩实现,第三个目标可以通过基于提示工程而非人工设计的自动化提示优化实现。

NLP 的训练范式经历了两次关键转变(Liu et al., 2023b),从“全监督学习”发展到“预训练和微调”,最终发展到“预训练、提示和预测”(如图所示)。值得注意的是,GPT-3(Brown et al., 2020)在引入硬提示方面发挥了开创性作用,使人类能够使用自然语言与语言模型交互。这一突破得益于大规模参数,这些参数使 GPT-3 能够深入理解自然语言,从而使其能够利用复杂的硬提示进行少样本学习,而无需进行微调。

添加图片注释,不超过 140 字(可选)

本质上,提示的主要目标是实现有效的少样本学习,取代全参数微调的不必要资源消耗。提示表达可以分为两大类,如图所示:离散的自然语言提示(称为硬提示)和连续可学习的向量(称为软提示)。

添加图片注释,不超过 140 字(可选)

鉴于可学习向量可以与神经网络参数一起更新,软提示显然更有利于 LLM 有效理解提示。必须注意的是,这里软提示只是 LLM 硬提示的向量表示,而不是从头开发的抽象向量。一些努力涉及将较长的硬提示压缩为明显较短的软提示。

最初,硬提示包括简洁的任务说明,类似于为 Cloze 任务设计的模板。然而,随着 LLM 的理解能力不断提高,硬提示已经发展到包含更广泛的元素,最常见的包括演示和思维链,如图所示。当前 NLP 社区对硬提示的兴趣日益浓厚,甚至还有释放 LLM 全部潜力的教程,这表明人们渴望实现人机模型对齐,从而实现通用人工智能 (AGI)。

添加图片注释,不超过 140 字(可选)

提示方法存在的两个挑战是:

  • 提示内容过长。提示的长度一般根据具体任务而定,演示越多,表现越好。例如,思维链(CoT)提示大大增强了LLM的逻辑推理能力,导致各种基于CoT的方法出现。像Self-Ask(Press,2022)和Least-to-Most(Zhou,2022a)帮助LLM将复杂问题分解为更简单的子问题,以便逐步回答。Wang(2022)抽样了一组多样化的推理路径,Wang(2023b)指导LLM生成正确的PS(规划和解决方案),然后选择最终答案。然而,这种复杂提示的优势,伴随着更高的经济负担以及降低的LLM信息感知能力。
  • 艰难的提示设计。由于自然语言的离散性,早期可用的硬提示通常都是手工设计并经过反复试错得到的。手工制作的提示模板严重依赖于经验知识,带有明显的人为主观性。但人类解决问题的手段与神经网络的手段存在差异,即LLM的可解释性还是一个不断探索的课题,目前尚无公认的理论指导。因此LLM的提示设计面临诸多挑战,包括LLM对自然语言提示格式的高敏感性、语义相似提示的性能差距较大、提示复杂度与任务难度的相关性、提示的模型和任务属性等。面对不同的模型、不同的任务,手工设计高质量的提示,比较费时费力。

关于高效提升方法的组织如下图所示:

添加图片注释,不超过 140 字(可选)

高效计算的提示

  • 知识蒸馏:知识蒸馏(KD)(Hinton et al.,2015)是一种经典的压缩方法,其核心思想是指导轻量级的学生模型“模仿”性能更好、更复杂的老师模型。
  • 编码:当前的编码方法使用交叉熵目标对 LM 进行微调,有效地将硬提示的大量信息压缩为一组简洁且模型可访问的向量,从而缓解了与长文本相关的效率问题。
  • 滤波:采用文本-到-文本级的压缩,即通过轻量级的语言模型评估提示中不同词汇结构的信息熵,然后最大程度地过滤掉冗余信息,最终简化用户提示。

为了实现提示的高效计算,主要研究提示压缩。它从文本-到-向量级的参数优化演变为文本-到-文本级的无参数优化。根据自然语言信息量,尽可能缩短LLM输入,从而实现以下三个方面的高效:1)将信息表示为向量以降低困惑度并提高任务准确性;2)大大减少内存使用,非常适合涉及预计算、缓存和重用的情形;3)扩大上下文窗口容量并加速长提示的推理,尤其有利于具有广泛上下文的场景。简而言之,提示压缩是未来高效提示LLM的有前途的研究途径。

高效设计的提示

“高效设计的提示”是为了应对提示内容的日益复杂。随着费时费力的手工设计提示方法逐渐淡出历史舞台,基于梯度的提示调优方法不再适用于闭源的LLM,基于提示工程(PE)的自动优化逐渐受到人们的关注。具体来说,“离散”提示优化涉及在给定的搜索空间内寻找最佳的“自然语言”提示,以最大化任务准确率。基于LLM强大的通才能力,自动提示优化取得了令人欣喜的进展,其工作流程大致如图所示。从传统的数学优化和智能的算法优化角度看,其研究分为基于梯度和基于进化的方法。

添加图片注释,不超过 140 字(可选)

  • 梯度下降是传统优化的核心算法,在神经网络的参数更新过程中,很多目标函数都是从梯度下降算法演化而来的。众所周知,在连续优化空间(即语言模型)中使用梯度下降算法的前提是目标函数可微。然而硬性提示是离散的,这导致优化目标与优化空间存在矛盾。因此,研究人员分别针对开源模型和闭源模型探索了合适的基于梯度优化框架。对于开源模型,可以根据真实的梯度进行微调;而对于闭源模型,只能模仿梯度进行提示。
  • 因为黑箱子模型没有明确的优化方向,传统的数学优化算法很难解决这类NP-hard问题。进化算法模拟了自然界中“优胜劣汰”的生物进化过程,是一种通过采样目标函数进行的随机搜索。其实很多研究都是基于进化的思想,本质上就是挖掘搜索空间中样本的多样性,然后通过迭代探索优化方向。

为了避免人工设计提示语耗费大量人力资源,采用了自动化的提示优化方法框架。当前的研究借鉴了传统机器学习中优化算法的思想。主要目标是在自然语言空间中快速搜索最佳提示,从而促进最先进的 LLM。对基于梯度的优化的初步探索已经将轻量级神经网络作为补充优化工具纳入其中。后续方法已经发展到将离散提示语空间转换为连续提示语空间以进行优化,或者扩大离散搜索范围以实现直接优化。

开源的一些提示项目如下表所示:

添加图片注释,不超过 140 字(可选)

未来方向

在更高的层次上,希望将高效的提示范式抽象为一个多目标优化问题,总体目标是压缩提示以降低计算复杂度(目标 1)同时优化 LLM 任务准确性(目标 2)。

LLM巨大的潜力还有待挖掘,而高效的提示方式作为人机交互的重要媒介,是实现对齐的关键手段。展望未来,LLM的不可及性已成为不可逆转的局面。因此,可以预见,未来提示的趋势也将围绕硬提示展开。

标签:高效,综述,提示,模型,LLM,自然语言,优化
From: https://blog.csdn.net/yorkhunter/article/details/139226291

相关文章

  • AI智能体研发之路-模型篇(四):一文入门pytorch开发
    博客导读:《AI—工程篇》AI智能体研发之路-工程篇(一):Docker助力AI智能体开发提效AI智能体研发之路-工程篇(二):Dify智能体开发平台一键部署AI智能体研发之路-工程篇(三):大模型推理服务框架Ollama一键部署​​​​​​​AI智能体研发之路-工程篇(四):大模型推理服务框架Xinference一......
  • 深度强化学习在芯片设计和大语言模型中的应用
    这个研究课题来自ANNAGOLDIE,我进行了总结,目前最前沿的深度深度强化学习在芯片设计和大语言模型中的应用技术。(2024年)ANNAGOLDIE,aSeniorStaffResearchScientistatGoogleDeepMind,wheresheworksonGeminiandBard.我将这部分内容整理成书籍,目前先放出核心的......
  • 开源大模型和闭源大模型的对比
    在当今人工智能领域,深度学习模型的开源与闭源之争日益激烈。开源大模型如GPT-3、BERT、T5等,因其开放性和社区驱动的发展模式,赢得了广泛的关注与应用。而闭源大模型则往往由大公司开发并严格控制访问权限,例如OpenAI的最新模型GPT-4、Google的LaMDA等。这两种模式各有千秋,那么我......
  • 阿里云大模型Qwen系列输入参数说明
    参数数据类型默认值说明model(必选)string无指定用于对话的通义千问模型名,目前可选择qwen-turbo、qwen-plus、qwen-max、qwen-max-0403、qwen-max-0107、qwen-max-1201和qwen-max-longcontext。说明messagesarray无messages:用户与模型的对话历史。array......
  • NLP预训练模型-GPT-3
    NLP预训练模型-GPT-3NLP预训练模型-GPT-3GPT-3的技术特点1.庞大的模型规模2.强大的无监督预训练3.优秀的文本生成能力4.广泛的应用场景GPT-3的应用场景GPT-3的挑战与未来总结NLP预训练模型-GPT-3GPT-3,全称GenerativePre-trainedTransformer......
  • 互斥锁、进程间通信(IPC)、队列(queue)模块、队列实现进程间通信、生产者和消费者模型
    【一】互斥锁【1】什么是进程同步(互斥锁)互斥锁(Mutex)是一种用于多线程编程中控制对共享资源访问的机制。其作用是保证在同一时刻只有一个线程在访问共享资源,从而避免多个线程同时读写数据造成的问题。互斥锁的基本原理是在对共享资源进行访问前加锁,使得其他线程无法访问该......
  • 亚马逊API实时数据接口,亚马逊商品详情数据接口采集助力高效查找采购低价货源
    亚马逊通过其API接口,为开发者提供了实时获取商品详情数据的能力,从而助力高效地查找和采购低价货源。在当今的电子商务领域,能够快速准确地获取产品信息是至关重要的。亚马逊API不仅使得这一过程自动化,还提高了操作的效率和准确性。下面将详细探究这些API如何工作以及它们如何帮......
  • 【OpenVINO™】在C#中使用 OpenVINO™ 部署 YOLOv10 模型实现目标
     最近YOLO家族又添新成员:YOLOv10,YOLOv10提出了一种一致的双任务方法,用于无nms训练的YOLOs,它同时带来了具有竞争力的性能和较低的推理延迟。此外,还介绍了整体效率-精度驱动的模型设计策略,从效率和精度两个角度对YOLOs的各个组成部分进行了全面优化,大大降低了计算开销,增强了......
  • 电动车摩托车灯DC-DC降压恒流芯片AP5170支持线性调光95%高效率IC
    产品描述AP5170是一款效率高,稳定可靠的LED灯恒流驱动控制芯片,内置高精度比较器,固定关断时间控制电路,恒流驱动电路等,特别适合大功率LED恒流驱动。AP5170采用ESOP8封装,散热片内置接SW脚,通过调节外置电流检测的电阻值来设置流过LED灯的电流,支持外加电压线性调光,最大电......
  • LED车灯驱动DC-DC降压恒流芯片AP5174高效率线性调光IC摩托车电动车手电筒
    5174产品描述AP5174是一款效率高,稳定可靠的LED灯恒流驱动控制芯片,内置高精度比较器,固定关断时间控制电路,恒流驱动电路等,特别适合大功率LED恒流驱动。AP5174采用ESOP8封装,散热片内置接SW脚,通过调节外置电流检测的电阻值来设置流过LED灯的电流,支持外加电压线性调光,最......