提示词专场:从调整提示改善与LLMs的沟通,到利用LLMs优化提示效果

news2024/11/26 18:29:28

编者按:欢迎阅读“科研上新”栏目!“科研上新”汇聚了微软亚洲研究院最新的创新成果与科研动态。在这里,你可以快速浏览研究院的亮点资讯,保持对前沿领域的敏锐嗅觉,同时也能找到先进实用的开源工具。

提示词的好坏决定了大语言模型产出内容质量的高低,而针对提示词设计和优化的研究能够提高人类与大语言模型之间的沟通体验。让我们通过今天“提示词专场”介绍的这些最新科研成果,与你一同探索更加智能化的人机交互的未来。


本期内容速览

01. 连接大语言模型与进化算法,打造高效的提示词优化器

02. 具有结构化语言知识的分层视觉语言模型提示学习

03. LLMLingua系列研究:通过提示压缩重排优化人与大语言模型的沟通

04. 基于大语言模型的工业控制优化

连接大语言模型与进化算法,打造高效的提示词优化器

new-arrival-in-research-7-1

论文链接:https://www.microsoft.com/en-us/research/publication/connecting-large-language-models-with-evolutionary-algorithms-yields-powerful-prompt-optimizers/

一个出色的提示词(prompt)能够有效地引导模型更准确地理解输入内容,进而生成更相关、更具价值的输出结果。然而,设计恰当的提示词往往需要耗费大量人力资源。因此,微软亚洲研究院的研究员们将大型语言模型卓越的语言处理能力与进化算法卓越的优化能力相结合,提出了一种自动化的提示词优化框架——EvoPrompt。

传统的进化算法是将解空间映射为基因序列集合,并通过对基因序列进行交叉和变异操作生成新的可行解,进而筛选出最优解。然而,传统的交叉变异操作常常忽略了基因片段之间的关联性。在自然语言处理中,提示词需要具备连贯性和可读性。所以研究员们采用了大语言模型来执行交叉和变异操作,以考虑序列中的上下文关系,从而生成可读性高的提示词。

EvoPrompt 是一种通用框架,可以通过设计不同的交叉变异策略与多种进化算法相结合。图1展示了将 EvoPrompt 应用于遗传算法的实例化过程中,大语言模型是如何执行交叉变异操作以生成新的提示词的示例。

图1:大语言模型执行遗传算法中的交叉变异操作

图1:大语言模型执行遗传算法中的交叉变异操作

Evoprompt 在多个自然语言理解和生成任务中获得了出色的提示词。表1展示了 EvoPrompt 在主题分类任务中获得的最佳提示词,其提示大模型决策前“仔细审查”待分类的文章,提高了准确率。表2展示了 EvoPrompt 在文本简化任务中所获得的最佳提示词,其在提示词中加入了对任务目的的描述,进一步提升了任务效果。

表1:Alpaca-7b 模型在主题分类任务上的提示词优化

表1:Alpaca-7b 模型在主题分类任务上的提示词优化

表2:Alpaca-7b 及 GPT-3.5 在文本简化任务上的提示词优化

表2:Alpaca-7b 及 GPT-3.5 在文本简化任务上的提示词优化

除了进化算法之外,许多传统优化算法在优化过程中也需要生成可行解。如模拟退火算法和粒子群优化算法,它们根据特定规则生成多个可行解并进行筛选。同时,还有一些算法(如回溯算法和动态规划算法)采用逐步生成最优解的策略。然而,在生成解的过程中,这些传统优化算法往往难以充分考虑序列中的上下文关系。但实际上,许多解空间确实需要考虑前后文关系,例如自然语言处理、基因序列分析和时间序列预测等领域。因此,在大模型与传统优化算法的融合中,仍存在许多有待挖掘的潜在结合点。

具有结构化语言知识的分层视觉语言模型提示学习

new-arrival-in-research-7-5

论文链接:https://www.microsoft.com/en-us/research/publication/learning-hierarchical-prompt-with-structured-linguistic-knowledge-for-vision-language-models/

项目链接:https://github.com/Vill-Lab/2024-AAAI-HPT

大语言模型(LLMs)的出现,使得利用视觉-语言模型(VLMs)进行少样本图像分类的方法探索了使用与类别相关的描述作为输入以增强提示效果的可能性。然而,传统的描述在有效表达与特定类别相关的实体或属性之间的相互关系方面存在不足。

研究员们观察发现,结构化的语言知识对于提示微调至关重要。具体而言,非结构化的类别描述包括定义该类别的关键实体和属性,而这些实体、属性以及它们之间的关联可以表示为一个图以实现语义理解。这种基于结构图的表示方式提供了一种更具组织性的信息表达方式,从而增强了模型对于类别语义知识的理解能力,有助于发现在原始描述中不易抽取的隐含关联。

具体来说,研究员们提出了分层提示微调(HPT)方法,将 LLMs 中的结构化语言知识和传统语言知识结合在一起,以分层学习提示的方式提高提示效果。为了模拟复杂的结构化信息,模型会学习具有不同语义层次的分层提示,具体包含了代表实体和属性的低层次提示、代表描述中类别相关信息的高层次提示以及代表跨类别共享的类别无关知识的全局提示。

图2:(左)整体框架(右)基于分层提示调整的文本编码器结构

图2:(左)整体框架(右)基于分层提示调整的文本编码器结构

为了捕捉由 LLMs 生成的实体和属性之间的对应关系,模型引入了关系引导注意模块,将可学习的基于注意的矩阵集成到文本编码器中。此外,为了处理语言中更复杂、更长期的关系,研究员们采用了跨层级自注意力来模拟不同提示之间的关系,有效克服了仅依赖低层次信息建模所带来的局限性,并能更全面地理解类别相关的语义。

实验结果表明,HPT 在不同的泛化任务中(基类到新类泛化、域泛化、跨数据集泛化)均显示了优于目前最先进方法的性能,而且与结构化相关的低层次提示对性能提升也起到了显著影响。这表明在描述中明确建模结构关系有利于提供与未见类别或未见域相关联的额外信息,从而辅助其他层次的提示整合整体语义以处理更复杂的关系并提升识别效果。

未来,研究员们将持续对相关问题进行更加深入的探索,并希望这项工作能让更多人关注自然语言中的结构化知识对提示微调的作用,从而将其应用到分类以外的各种任务中。

LLMLingua系列研究:通过提示压缩重排优化人与大语言模型的沟通

new-arrival-in-research-7-7

LLMLingua 论文链接:https://www.microsoft.com/en-us/research/publication/llmlingua-compressing-prompts-for-accelerated-inference-of-large-language-models/

LongLLMLingua 论文链接:https://www.microsoft.com/en-us/research/publication/longllmlingua-accelerating-and-enhancing-llms-in-long-context-scenarios-via-prompt-compression/

项目链接:https://llmlingua.com/

代码链接:https://github.com/microsoft/LLMLingua

Demo链接:https://huggingface.co/spaces/microsoft/LLMLingua

提示(Prompt)是人类与大语言模型(LLMs)之间沟通的桥梁,用户通过自然语言提示来向大语言模型表达需求,引导模型产生定制化的回答。然而,随着提示技巧的极大丰富,提示逐渐变得越发详尽和复杂,人与大模型之间的沟通也变得不再顺畅。为了解决这一问题,微软亚洲研究院的研究员们提出了名为 LLMLingua 与 LongLLMLingua 的系统,旨在通过调整提示来改善人类与 LLMs 之间的交流。

处理长而复杂的提示面临多重挑战。首先是高昂的成本:随着提示长度的增加,输入处理的计算复杂性成二次方增长,这使得长提示更加消耗资源。其次,提示中的冗余信息会降低 LLMs 的性能。用户在表达自己的需求时,往往会包含不必要的内容,如多余的例子和细节,这些内容容易分散 LLMs 的注意力,导致输出质量下降。最后,LLMs 还显示出位置偏差,更容易忽略放置在提示某些部分的信息。

受信息论和通信系统的启发,LLMLingua 采用了两个组件来克服这些挑战:压缩(compression)与重排(reorganization)。压缩是指从提示中去除多余和不相关的信息,使内容浓缩至其精髓。重排则是将提示内容根据相关性重新排列,以抵消 LLMs 的位置偏差,确保关键信息得到更多的关注。

在 LLMLingua 的架构中,研究员们先根据段落与问题或任务的相关性对提示中的段落进行粗粒度的重排和压缩比分配。随后再根据由相关性分配的压缩比,对每个段落进行迭代式的基于细粒度相关性的字符级压缩。

图3:LLMLingua 系列的架构与流程示意图

图3:LLMLingua 系列的架构与流程示意图

粗粒度和细粒度的相关性都是基于字符与给定上下文的困惑度(perplexity)来进行计算的。越低的困惑度在自然语言处理中预示着越好的预测效果。在 LLMLingua 中,通过计算提示中每个标记的困惑度,可以识别出与问题或任务最相关的那部分信息。

LLMLingua 系列研究能够显著提高“多文档问答”等任务的效果。例如 LongLLMLingua 可以有效缓解“中间丢失”(lost in the middle)问题,使用四分之一的提示字符,反而能获得高达21.4%的性能提升。

图4:LLMLingua 系列在多文档问答(RAG)场景中的性能测试结果

图4:LLMLingua 系列在多文档问答(RAG)场景中的性能测试结果

研究员们还进行了案例研究,发现使用 GPT-4 模型可以几乎完美地将压缩版本的提示恢复成原始提示。

在数学和推理任务中,LLMLingua/LongLLMLingua 也有亮眼的表现,更多细节请参考论文与项目主页。LLMLingua 的代码现已开源,未来研究员们也计划持续迭代,例如增加更灵活的接口,以支持用户轻松调用更多的模型进行压缩,从而适应更多样化的场景,欢迎关注!

基于大语言模型的工业控制优化

new-arrival-in-research-7-10

论文链接:https://www.microsoft.com/en-us/research/publication/pre-trained-large-language-models-for-industrial-control/

强化学习(RL)作为最受欢迎的决策方法之一,在实际应用中往往面临着样本效率低下和训练成本高昂等问题。对于工业场景中的控制任务,如库存管理、量化交易和 HVAC 控制等,开发低成本且具备更高泛化性和鲁棒性的控制器尤为重要。

鉴于大语言模型(LLMs)在各个领域取得的成果,微软亚洲研究院的研究员们尝试通过利用 LLMs 来解决这些挑战。如 GPT-4 和 Bard 等大语言模型经过大规模和多样化数据集的预训练,可以为各种工业控制任务提供丰富的先验知识。而且 LLMs 在不同应用中也展示出了一定的逻辑推理能力。这些能力在工业控制中不可或缺,但传统的控制方法却往往难以达成。

目前存在三类利用 LLMs 进行的决策方法:(1)针对特定下游任务对 LLMs 进行微调;(2)与可训练组件相结合;(3)直接使用预训练的 LLMs,通过提示词引导 LLMs 进行决策。然而,这些方法都存在某些方面的缺点,如微调过程成本高、设计复杂、数据需求大或无法持续改进等。

与以往在机器人操控、家庭助手或游戏环境等领域的研究不同,本研究专注于工业控制任务,具体流程如图所示。值得一提的是,微软亚洲研究院的研究员们提出的方法无需微调 LLMs,而是更针对性地优化提示词中的示例部分,通过使用少量示例(demonstrations)作为示范引导上下文学习(in-context learning),就能够充分发挥 LLMs 自身的能力。同时,研究员们还设计了一个独特的机制来动态选择专家示范和历史交互中的示例,并动态生成提示词以更好地适配当前的控制场景,最后由 LLMs 给出控制指令并通过环境来执行以完成一个完整的控制流程。通过示例的选择和相应的提示词优化来引导 LLMs 了解所控制的系统,并给出更符合当时情景的控制。

图5:基于 LLMs 的工业控制优化方法的流程图

图5:基于 LLMs 的工业控制优化方法的流程图

研究员们在公开的测试环境中测试了该方法的效果,对比了包括 PPO 在内的多种基线算法。大量的实验结果表明,在不需要训练和少量专家样本的情况下,相较于基线方法,该方法能够取得更好的性能。同时,在数据中存在噪声的情况下,基于 LLMs 的方法能够获取更好的鲁棒性。更重要的是,研究员们发现基于 LLMs 的控制策略相比基线算法有更强的泛化性,在一个全新的场景下也能够取得较好的效果。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多个代理proxy配置——日志查看代理后的地址

一个项目接口有两个域名,需要配置两个代理复制一个axios封装文件,修改baseUrl为新的标识 ququ新接口文件引入新的request1即可 proxy: {// 新接口采用 /ququ前缀/ququ: {target: http://192.168.2.82:8888, //鑫哥 changeOrigin: true,logLevel: debug, …

SOLIDWORKS教育版使学生了解如何加快设计项目的速度

在当今信息爆炸的时代,设计项目的速度和效率对于工程专业的学生来说至关重要。SOLIDWORKS教育版作为一款专门为学生设计的3D CAD软件,不仅提供了强大的设计工具,更致力于帮助学生了解如何加快设计项目的速度,提升他们的设计能力和…

HarmonyOS 开发-应用新功能引导实现案例

介绍 本文介绍如何使用high_light_guide三方库完成应用新版本功能导航。通过高亮区域与蒙版背景的明暗度对比,让用户快速锁定重点功能,了解版本变更和业务入口。 效果图预览 使用说明 点击页面上对应按钮或空白区域进入下一个提示,直至提示…

CAXA电子图版2020版 下载地址及安装教程

CAXA电子图板是一款由国内软件公司CAXA开发的专业CAD(计算机辅助设计)软件。它主要用于绘制和编辑各种类型的二维图纸和工程图纸,广泛应用于建筑、机械、电气和电子等行业。 CAXA电子图板具有以下主要功能和特点: 二维绘图&…

大型语言模型(LLMs)面试常见问题解析

概述 这篇文章[1]是关于大型语言模型(LLMs)的面试问题和答案,旨在帮助读者准备相关职位的面试。 token? 在大型语言模型中,token 指的是什么? 分词(Tokenization):可以将…

正则问题【蓝桥杯】/dfs

正则问题 dfs 刚开始用的是栈&#xff0c;没有想到dfs… #include<iostream> #include<stack> using namespace std; string s; int pos; int dfs() {//ans表示到当前位置最多的x数目//num表示暂存的x数目int num0,ans0;while(pos<s.size()){if(s[pos](){pos;…

FireShellCTF 2020 - The Return of the Side Effect

前言 打算做几道 jsc 的 CTF 题目熟悉熟悉 jsc 的漏洞利用方式&#xff0c;但是发现很多题目都比较老了&#xff0c;commit 似乎已经没了。所以直接最新的 WebKit 上手动引入漏洞&#xff0c;然后尝试进行利用。 环境搭建 sudo apt install cmake sudo apt install ruby sud…

常用的启发式算法

1.蚁群算法&#xff08;Ant Colony Optimization, ACO&#xff09;&#xff1a;想象一下&#xff0c;蚂蚁们寻找食物的过程中留下的信息素轨迹&#xff0c;就是一种高效的搜索策略。这种算法模仿自然界中的这一现象&#xff0c;适用于解决复杂的路径规划问题。 2. A*算法&…

进制转换(0123456789ABCDEF)

题目 import java.util.Scanner;public class Main {public static void main(String[] args) {//将十进制数M转化为N进制数Scanner sc new Scanner(System.in);int m sc.nextInt();int n sc.nextInt();StringBuffer sb new StringBuffer();//1String s "0123456789…

stack: ‘FetchError: request to https://registry.npm.taobao.org/cssom failed,

npm install的时候报stack: FetchError: request to https://registry.npm.taobao.org/cssom failed, 查找了一下&#xff0c;原来是早在 2021 年&#xff0c;淘宝就发文称&#xff0c;npm 淘宝镜像已经从 registry.npm.taobao.org 切换到了 registry.npmmirror.com 解决方式&…

最长公共子序列、最长上升子序列(LCS与LIS)算法

最长公共子序列、最长上升子序列(LCS与LIS) 最长公共子序列(LCS) #include <bits/stdc.h> using namespace std; #define int long long const int N 1e39; int a[N],b[N],dp[N][N]; signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n,m;cin>>…

铁山靠之数学建模-基础篇

小黑子的数模基础篇 一、什么是数学建模1.1 数学模型分类1.2 备战准备什么1.3 组队学习路线1.4 赛前准备1.5 赛题选择1.5.1 赛题类型1.5.2 ABC赛题建议 1.6 学会查询1.6.1 百度搜索技巧1.6.2 查文献1.6.3 数据预处理 1.7 建模全过程 二、数模论文2.1 论文排版2.2 标题怎么写2.3…

【腾讯云 TDSQL-C Serverless 产品体验】饮水机式使用云数据库

云计算的发展从IaaS&#xff0c;PaaS&#xff0c;SaaS&#xff0c;到最新的BaaS&#xff0c;FasS&#xff0c;在这个趋势中serverless(去服务器化&#xff09; 计算资源发展Physical -> Virtualisation -> Cloud Compute -> Container -> Serverless。 一、背景介绍…

基于SSM+Vue电子竞技管理平台的设计与实现(源码+部署说明+演示视频+源码介绍+LW)

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。&#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精通…

关于GNSS硬件延迟初步学习,电离层提取

1、卫星端偏差分为频间和频内偏差&#xff08;inter or intra frequency&#xff09;&#xff0c;下面以GPS的C1C和C2W组合为例分析对PPP解算的影响&#xff1a; 如果不改正卫星端的inter-frequency&#xff08;即&#xff1a;C1C-C1W&#xff09;偏差&#xff08;因为每颗卫星…

火鹰论文工具推荐 #其他#职场发展#其他

火鹰论文工具是一款优秀的论文写作软件&#xff0c;以其强大的查重降重功能而闻名。无论是学生、教师、还是研究人员&#xff0c;都可以从火鹰论文工具中受益。 首先&#xff0c;火鹰论文工具非常好用。用户只需将自己的论文复制粘贴到软件中&#xff0c;点击“检测”按钮&…

nginx到底是怎么工作的

工作流程 用户通过域名发出访问Web服务器的请求&#xff0c;该域名被DNS服务器解析为反向代理服务器的IP地址反向代理服务器接受用户的请求反向代理服务器在本地缓存中查找请求的内容&#xff0c;找到后直接把内容发送给用户如果本地缓存里没有用户所请求的信息内容&#xff0…

MySQL中的SQL高级语句[一](下篇)

使用语言 MySQL 使用工具 Navicat Premium 16 代码能力快速提升小方法&#xff0c;看完代码自己敲一遍&#xff0c;十分有用 拖动表名到查询文件中就可以直接把名字拉进来以下是使用脚本方法&#xff0c;也可以直接进行修改中括号&#xff0c;就代表可写可不写 目录 1.数…

解密项目管理专业术语:十大名词背后的实战技巧

项目管理是一门综合学科&#xff0c;涵盖了一系列方法、技能和工具。今天为大家带来项目管理的十大专业术语&#xff0c;它们分别是项目范围、利益相关者管理、工作分解结构&#xff08;WBS&#xff09;、里程碑、风险管理、资源分配、关键路径法&#xff08;CPM&#xff09;、…

vscode连接远程服务器一直需要输密码,但是连不上

问题&#xff1a;vscode连接远程服务器一直需要输密码&#xff0c;但是连不上。 解决办法&#xff1a;kill 掉该远程服务器&#xff0c;然后再重新连接 操作&#xff1a; windows: ctrlshiftp mac:cmdshiftp 调出指令&#xff0c;然后选择“Remote SSH:Kill Vscode Serve…