当前位置: 首页 > news >正文

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

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

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


本期内容速览

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 的控制策略相比基线算法有更强的泛化性,在一个全新的场景下也能够取得较好的效果。

相关文章:

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

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

测开面经(pytest测试案例,接口断言,多并发断言)

pytest对用户登录接口进行自动化脚本设计 a. 创建一个名为"test_login.py"的测试文件,编写以下测试脚本 import pytest import requests# 测试用例1:验证登录成功的情况 # 第一个测试用例验证登录成功的情况,发送有效的用户名和密…...

Golang 开发实战day09 - package Scope

🏆个人专栏 🤺 leetcode 🧗 Leetcode Prime 🏇 Golang20天教程 🚴‍♂️ Java问题收集园地 🌴 成长感悟 欢迎大家观看,不执着于追求顶峰,只享受探索过程 Golang 教程09 - package Sc…...

24考研-东南大学916经验贴

文章目录 一、个人情况二、初试备考经验1.政治 67,客观382.英语 60,客观大概40左右3.数学 136,客观应该满分4.专业课 数据结构计网 114小分不清楚 三、复试备考经验笔试:C面试复试流程 附一下成绩单: 一、个人情况 本…...

【AI面试】YOLO 如何通过 k-means 得到 anchor boxes的?Yolo、SSD 和 faster rcnn 的正负样本定义

如果你的项目中有目标检测相关的内容,那么本篇内容就一定要好好看看。不会的看到了理解下,会的看看是不是和自己理解的一样。 一、YOLO 如何通过 k-means 得到 anchor boxes的? YOLOv2 和 YOLOv3是目标检测领域中非常流行的算法,它们都使用了anchor boxes来提高检测的准确…...

MySQL高级篇(B-Tree、Btree)

目录 1、Btree(B-Tree) 1.1、B-Trees的特点 二叉树缺点:顺序插入时,会形成一个链表,查询性能大大降低。大数据量情况下,层级较深,检索速度慢。红黑树:大数据量情况下,层…...

Zookeeper脑裂解决方案

Zookeeper脑裂原因: 主要原因是Zookeeper集群和Zookeeper client判断超时并不能做到完全同步,也就是说可能一前一后,如果是集群先于client发现,那就会出现上面的情况。同时,在发现并切换后通知各个客户端也有先后快慢…...

常用日常脚本

日常脚本 1:主机初始化脚本 通用脚本: curl -s http://内网ip:3333/soft/shell/init/init_vm.sh |sh 以下是单一功能脚本 2:定时检测dns,并修改为固定dns curl -s http://内网ip:3333/soft/shell/init/deploy_dns_product.sh | s…...

Longan Pi 3H 开发板体验

Longan Pi 3H 开发板体验 开箱内容 打开包装,你可以看到以下物品 一个Longan Pi 3H盒子Longan Pi 3H开发板 产品基本介绍 Longan Pi 3H 是基于 Longan Module 3H 核心板的 ARM Linux 开发板,以 H618 (Quad core ARM Cortex-A531.5Ghz , 64-bit) 为主控…...

SpringCloud Alibaba Sentinel 创建流控规则

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅,从传统的模块之间调用,一步步的升级为 SpringCloud 模块之间的调用,此篇文章为第十四篇,即介绍 SpringCloud Alibaba Sentinel 创建流控规则。 二、基本介绍 我们在 senti…...

Mysql底层原理五:如何设计、用好索引

1.索引的代价 空间上的代价 时间上的代价 每次对表中的数据进⾏增、删、改操作时,都需要去修改各个B树索引。⽽且我们讲过,B树每层节点都是按照索引列的值从⼩到⼤的顺序排序⽽组成了双 向链表。不论是叶⼦节点中的记录,还是内节点中的记录&a…...

python学习杂记

做为一个接近40岁的人,开始学习python会有什么结果?反正很迷茫,思维方式也开始下降了,希望可以学得好吧 早期做的是前端开发,java也有所接触,但是都学得不精,后来转做项目管理,把技…...

C# Socket发送、接收结构体

Socket发送:Socket的使用 一、Socket发送结构体 结构体如下: [StructLayout(LayoutKind.Sequential, Pack 1)] public struct OutPoint_ST {public int LeftheartX;public int LeftHeartY;public float WidthHeart;public int RightHeartX;public in…...

ics-05-攻防世界

题目 点了半天只有设备维护中心能进去 御剑扫一下 找到一个css 没什么用 再点击云平台设备维护中心url发生了变化 设备维护中心http://61.147.171.105:65103/index.php?pageindex试一下php伪协议 php://filter/readconvert.base64-encode/resourceindex.php base64解一下…...

Web API(三)之事件流事件委托其他事件

Web API(三)之事件流&事件委托&其他事件 事件流捕获和冒泡事件捕获事件冒泡阻止冒泡解绑事件两种注册事件的区别事件委托其他事件页面加载事件元素滚动事件页面滚动事件-获取位置页面滚动事件-滚动到指定的坐标页面尺寸事件元素尺寸与位置元素尺寸与位置-尺寸...

SSL证书的作用是什么?

SSL证书让网站和用户之间安全传输信息,就像给网络对话加了一把密码锁。它主要做四件事: 1. 证明身份: - 像警察局一样,有个叫“证书颁发机构”的家伙负责检查网站是不是真的。网站要向它证明自己是谁(比如,…...

皮具5G智能制造工厂数字孪生可视化平台,推进企业数字化转型

皮具5G智能制造工厂数字孪生可视化平台,推进企业数字化转型。随着信息技术的快速发展,数字化转型已成为企业提升竞争力、实现可持续发展的关键路径。皮具行业,作为一个传统的手工制造业,正面临着巨大的市场变革和技术挑战。如何在…...

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之Port模块配置详解(MCAL配置)

Port模块配置详解 前言一、如何添加Port模块?1.1 导入Port模块二、Port模块详细配置说明2.1 Port模块问题解决2.2 Port模块配置步骤2.2.1 数据手册查找Port对应的Group2.2.2 配置Port为CAN功能2.2.3 选择芯片型号总结前言 我们还差一个Port模块进行配置io的复用功能选择。就是…...

多叉树题目:子树中标签相同的结点数

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:子树中标签相同的结点数 出处:1519. 子树中标签相同的结点数 难度 5 级 题目描述 要求 给你一个树(即一个连通的无向无环图…...

帝国CMS模板源码整站安装说明(图文)

安装步骤 第一步:先把得到的文件解压缩,把文件通过FTP传到空间里。(请不要把类似www.lengleng.net这个文件夹传到FTP,请传这个大文件夹下面的所有文件夹和文件到空间根目录,请不要上传到2级目录,除非你自己…...

物联网系统未来的发展趋势

一、引言 物联网系统作为新一代的信息技术,正在逐渐改变我们的生活和工作方式。随着物联网技术的不断发展和应用场景的拓展,未来物联网系统的发展趋势将更加明显。本文将从技术、应用、安全等方面探讨物联网系统未来的发展趋势。 二、技术发展趋势 1.…...

基于支持 GPT 的服务的初创公司

Kafkai:多语言长篇内容生成,AI写作的新趋势 介绍 随着生成式预训练 Transformer (GPT) 的出现,技术世界正在见证范式转变。 这种人工智能驱动的创新不仅仅是一种转瞬即逝的趋势,而是一种趋势。 它已成为科技行业的基石&#xff0c…...

基于springboot实现教师人事档案管理系统项目【项目源码+论文说明】

基于springboot实现IT技术交流和分享平台系统演示 摘要 我国科学技术的不断发展,计算机的应用日渐成熟,其强大的功能给人们留下深刻的印象,它已经应用到了人类社会的各个层次的领域,发挥着重要的不可替换的作用。信息管理作为计算…...

上行上传rsync+inotify

引言 使用inotify通知接口,可以用来监控文件系统的各种变化情况,如文件存取、删除、移动、修改等。利用这一机制,可以非常方便地实现文件异动告警、增量备份,并针对目录或文件的变化及时作出响应。 将inotify机制与rsync工具相结合…...

借助ChatGPT写作:打造学术论文中的亮点与互动

ChatGPT无限次数:点击直达 打造学术论文中的亮点与互动 引言 学术论文是学术界交流思想、探讨问题和展示研究成果的重要形式。如何使学术论文在众多作品中脱颖而出,吸引读者的眼球并激发互动,是每位研究者都关注的问题。本文将介绍如何借助ChatGPT这一…...

逐步学习Go-sync.Mutex(详解与实战)

概述 Go中提供了互斥锁:sync.Mutex。sync.Mutex提供了以下方法: type Mutex // 加锁。如果已经有goroutine持有了锁,那么就阻塞等待直到持有锁 func (m *Mutex) Lock()// 尝试加锁。如果加锁成功就返回true,否则返回失败 func (m…...

每日三道面试题之 Java并发编程 (一)

1.为什么要使用并发编程 并发编程是一种允许多个操作同时进行的编程技术,这种技术在现代软件开发中非常重要,原因如下: 充分利用多核处理器:现代计算机通常都拥有多核处理器,通过并发编程,可以让每个核心独…...

车身稳定控制系统原理是什么?

车身稳定控制系统(Electronic Stability Control,ESC)是一种先进的车辆动态控制系统,其主要原理是通过传感器监测车辆的各项状态,包括车速、转向角度、侧倾角等,然后通过电子控制单元(ECU&#…...

vue3前端加载动画 lottie-web 的简单使用案例

什么是 Lottie Lottie 是 Airbnb 发布的一款开源动画库,它适用于 Android、iOS、Web 和 Windows 的库。 它提供了一套从设计师使用 AE(Adobe After Effects)到各端开发者实现动画的工具流。 UED 提供动画 json 文件即可, 开发者就…...

基于java+springboot+vue实现的健身房管理系统(文末源码+Lw)23-223

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装健身房管理系统软件来发挥其高效地信息处理的作用&#xf…...

wordpress会员管理/什么叫关键词举例

通俗的讲,一个项目需要三四个人完成,此时公司项目策划人的策划书,主程的大体框架,以及程序员所做好的程序,图片均可以上传至服务端,我们也可以从服务端下载你需要的版本,如果出错,可以返回到你需要的原版本,可以清楚的看到都谁上传了,再比如,张三需要完成一个游戏的商城界面,李…...

一流专业建设规划/白杨seo课程

以下是我在大三到大四学习过程中总结的思维导图,如有错误之处,烦请指出......linux系统编程(总结的不全)linux网络编程:linux shell编程:操作系统:(未总结完!&#xff09…...

申请阿里巴巴网站首页/免费获客软件

3209: 花神的数论题 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2498 Solved: 1129[Submit][Status][Discuss]Description 背景众所周知,花神多年来凭借无边的神力狂虐各大 OJ、OI、CF、TC …… 当然也包括 CH 啦。描述话说花神这天又来讲课了。课后照例有超…...

纪委网站建设方案/东莞网站推广营销网站设计

class CoroutineText03 {Testfun test not safe concurrent() runBlocking<Unit> {var count 0List(1000) {GlobalScope.launch { count }}.joinAll()println(count)}} 结果不是固定的。。 因为 他们不是原子性的操作。在a1b的时候 没有进行b1 而是又跑了一遍a1 就没…...

网站运营方案模板/51趣优化网络seo工程师教程

什么是swagger&#xff1f; Swagger 是最流行的 API 开发工具&#xff0c;它遵循 OpenAPI Specification&#xff08;OpenAPI 规范&#xff0c;也简称 OAS&#xff09;。 Swagger 可以贯穿于整个 API 生态&#xff0c;如 API 的设计、编写 API 文档、测试和部署。 Swagger 是…...

网站集约建设报告/百度极速版下载安装

一、什么是栈对齐&#xff1f; 栈的字节对齐&#xff0c;实际是指栈顶指针须是某字节的整数倍。因此下边对系统栈与MSP&#xff0c;任务栈与PSP&#xff0c;栈对齐与SP对齐 这三对概念不做区分。另外下文提到编译器的时候&#xff0c;实际上是对编译器汇编器连接器的统称。 之前…...