PRewrite: Prompt Rewriting with Reinforcement Learning

PRewrite: Prompt Rewriting with Reinforcement Learning

基本信息

2024-01谷歌团队提交到arXiv

博客贡献人

徐宁

作者

Weize Kong,Spurthi Amba Hombaiah,Mingyang Zhang

摘要

  工程化的启发式编写对于LLM(大型语言模型)应用的发展至关重要。然而,通常这种编写是以“试错”的方式手动进行的,这可能耗时、低效且不够优化。即使对于表现良好的提示,也总会有一个悬而未决的问题:是否可以通过进一步修改使提示更好?
为了解决这些问题,我们在本文中研究了自动化的启发式编写。具体而言,我们提出了PRewrite,一种自动化方法,用于将未优化的提示重写为更有效的提示。我们使用LLM实例化提示重写器。重写器LLM经过强化学习训练,以优化给定下游任务的性能。我们在多样化的基准数据集上进行实验,证明了PRewrite的有效性

目前研究存在问题:
  • 手工编辑prompt
    • 该方法是基于试错的,且要编写较好的prompt还受限于对应的指导原则。
  • 自动化设置prompt
    • 有基于梯度的搜索方法来迭代编辑prompt,但对语言模型进行梯度访问代价过大。
    • 使用强化学习的方法来优化prompt,该方法可能会产生难以解释的胡言乱语的解释;同时这种方法虽然可以允许根据任务输入编辑prompt,但导致其较小的行动空间也会阻碍探索最优prompt的产生。
    • 之前的方法采用的语言模型都较小,例如BERT,并不清楚在只通过API访问模型的情况下,上述方法能否有效推广到更大规模的模型上。
本文研究思路:
  • 将prompt的自动化生成视作一个优化问题,通过强化学习的方式训练一个prompt重写器来寻找更有效的提示。
    • 人工给定初始的instruction生成prompt
    • 通过prompt重写器LLM来重写生成一个prompt
    • 重写的prompt通过另一个任务LLM生成最终的输出
    • 通过最终输出和真实输出进行比较计算奖励,以此对重写器LLM进行强化学习微调
    • 值得注意的是,重写的提示是与特定输入(input)无关的(agnostic)。即所重写的提示是通用的,不是为了响应或适应特定的输入而定制的(泛化性)。
      在这里插入图片描述
研究方法:
prompts:

在这里插入图片描述
在这里插入图片描述

  • Meta Prompt

    • 元提示是用于指导重写器LLM重写初始prompt的重写指令
    • 整个训练过程中,元提示不会改变
    • 但在训练模型时以及针对不同的数据集会尝试不同的元提示
  • Instruction

    • 上图中的Prompt即由Instruction和Input构成,其中Instruction是由重写器LLM从初始提示生成的最终重写提示。
强化学习
  • 强化学习算法:近端策略优化算法(PPO)
    在这里插入图片描述
    使用不同的奖励函数在数据集上的效果

  • 奖励函数

    • EM(精确匹配)
    • F1:实际输出与预测输出之间的令牌 F1 分数
    • 困惑度(Perplexity)
    • 困惑度 + F1:困惑度和 F1 分数的线性组合
重写策略
  • 在重写器LLM训练好之后,对instruction重新进行优化组合时,可采取两种策略
    • 设置了一个行动空间,作为提示重写模型词汇表中所有token的集合,这些token可以用来通过添加、删除或修改来编辑/重写提示。
    • 推断策略:在生成重写提示时,贪婪的选择每一个最高概率的标记,最终生成一个单一的重写提示,存在局部最优的问题。
    • 搜索策略:在生成重写提示时会考虑多种可能性,生成多个重写提示,最终根据重写提示在测试数据集上的表现来选定最终的重写提示。
实验结果:
数据集

在这里插入图片描述

  • 本文一共使用了4个数据集涵盖了分类,问答,算术推理任务。
    • 分类:AG News、SST-2
    • 问答:NQ(自然问题数据集)
    • 算数推理:GSM8K
实验结果
表1.与基线对照图

在这里插入图片描述

  • 本文方法所使用的模型为:PaLM 2-S。
  • 由上表可看出,但强化学习有更大的行动空间之后,强化学习方法的改进效果更加显著。
  • 本文提出的方法在三个任务四个数据集上的效果普遍优于基线模型,但基线模型效果不佳也存在是使用了较小的任务模型RoBERTa-Large导致的。
  • PRewrite-S持续显示出优于PRewrite-I的改进,表明搜索策略可能更有帮助。
表2.在GSM8K数据集上与强基线任务的对比

在这里插入图片描述

  • 此次实验基于模型PaLM 2-L。
  • PRewrite-S不仅显著改进了初始提示,而且超过了诸如APE和OPRO之类的强基线,并且与Promptbreeder不相上下。
  • 这几个强基线任务对GSM8K数据有特殊处理,但本文方法只是用了一个通用的元提示用于GSM8K。也可以体现出本方法有效性。

相关知识链接

下载

论文下载

总结

局限

  • 大模型使用的局限性: 本文只是用了PaLM系列的大模型,并未在其他大模型上验证其效果。
  • 元提示: 还可以探究不同的元提示和初始提示的组合对整体任务性能的影响。
  • **数据集:**目前测试使用的数据集较少,需要在更多不同种类和数量的数据集上持续验证其性能。

优点

  • 本文所使用的方法不再需要开源大模型,仅通过大模型API的方式进行使用,降低了对资源的要求
  • 利用大模型和传统机器学习结合的方式优化prompt是可以尝试的方向。

BibTex

@article{kong2024prewrite,title={PRewrite: Prompt Rewriting with Reinforcement Learning},author={Kong, Weize and Hombaiah, Spurthi Amba and Zhang, Mingyang and Mei, Qiaozhu and Bendersky, Michael},journal={arXiv preprint arXiv:2401.08189},year={2024}
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM的学科竞赛管理系统。Javaee项目。ssm项目。

演示视频: 基于SSM的学科竞赛管理系统。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringMvcMybatisVueLayuiElemen…

持续更新 | 与您分享 Flutter 2024 年路线图

作者 / Michael Thomsen Flutter 是一个拥有繁荣社区的开源项目,我们致力于确保我们的计划公开透明,并将毫无隐瞒地分享从问题到设计规范的所有内容。我们了解到许多开发者对 Flutter 的功能路线图很感兴趣。我们往往会在一年中不断更改并调整这些计划&a…

蓝桥杯练习系统(算法训练)ALGO-986 藏匿的刺客

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 强大的kAc建立了强大的帝国,但人民深受其学霸及23文化的压迫,于是勇敢的鹏决心反抗。   kAc帝国防…

alpine创建lnmp环境alpine安装nginx+php5.6+mysql

前言 制作lnmp环境,你可以在alpine基础镜像中安装相关的服务,也可以直接使用Dockerfile创建自己需要的环境镜像。 注意:提前确认自己的alpine版本,本次创建基于alpine3.6进行创建,官方在一些版本中删除了php5 1、拉取…

HTML实体字符列表,知识点详解

css盒模型 1,css盒模型基本概念? 2,标准模型和IE模型的区别:计算高度和宽度的不同,怎么不同,高度宽度是怎么计算的? 3,css如何设置这两种模型? 4,js如何设置…

EPSON RA8000CE (RTC模块)压电侠

RA8000CE是一个集成了32.768 kHz数字温度补偿晶体振荡器(DTCXO)的RTC模块。它包括各种功能,如具有闰年校正的秒到年时钟/日历,时间警报,唤醒计时器,时间更新中断,时钟输出和时间戳功能,可以在外部或内部事件…

selenium爬取房价收入比可视化

数据来源:聚合数据 from selenium import webdriver from bs4 import BeautifulSoup import csv from selenium import webdriver from fake_useragent import UserAgent import random import subprocess from selenium import webdriver from selenium.webdrive…

动态规划(算法竞赛、蓝桥杯)--状态压缩DP蒙德里安的梦想

1、B站视频链接&#xff1a;E31 状态压缩DP 蒙德里安的梦想_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; const int N12,M1<<N; bool st[N];//st[i]存储合并列的状态i是否合法 long long f[N][M];//f[i][j]表示摆放第i列&#xff0c;状态为…

蓝桥杯前端Web赛道-新鲜的蔬菜

蓝桥杯前端Web赛道-新鲜的蔬菜 题目链接&#xff1a;1.新鲜的蔬菜 - 蓝桥云课 (lanqiao.cn) 题目要求如下&#xff1a; 其实很容易联想到使用flex布局&#xff0c;这是flex布局一种非常经典的骰子布局&#xff0c;推荐Flex 布局教程&#xff1a;实例篇 - 阮一峰的网络日志 (r…

毫秒生成的时间戳如何转化成东八区具体时间

假设现在有一个时间是1709101071419L 后端代码实现 Java代码&#xff08;东八区时间&#xff09; 在Java代码中&#xff0c;我们将时区从UTC调整为东八区&#xff08;UTC8&#xff09;&#xff1a; import java.time.Instant; import java.time.ZoneId; import java.time.Z…

最简单 导航栏 html css

dhl.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title>导航栏</title><link type"text/css" rel"stylesheet" href"css/dhl.css"></head><div class"dhl&quo…

学习c语言:动态内存管理

一、为什么要有动态内存分配 我们已经掌握的内存开辟⽅式有&#xff1a; int val 20; //在栈空间上开辟四个字节 char arr[10] {0}; //在栈空间上开辟10个字节的连续空间 但是上述的开辟空间的⽅式有两个特点&#xff1a; • 空间开辟⼤⼩是固定的。 • 数组在申明的时候&…

CSS的行内样式与内联样式,面试必备

正文 1,原链接 1)创建对象有几种方法&#xff1f; 2)instanceof的原理&#xff1f; 2,类 1)类的声明&#xff1f; 2)生成实例&#xff1f;/ 声明一个类&#xff0c;怎么生成类的实例&#xff1f; 3&#xff0c;继承 1)call、apply的共同点与区别? 2)用javascript实现对象…

1.2_1 分层结构、协议、接口和服务

1.2_1 分层结构、协议、接口和服务 &#xff08;一&#xff09;为什么要分层&#xff1f; 主机A如果想要向主机B发送文件&#xff0c;则一定要经过中间的一些介质、链路。 发送文件前要完成的工作&#xff1a; 1.发起通信的计算机必须将数据通信的通路进行激活。 所谓的激活&a…

uniapp iOS 真机调试

一、下载爱思助手 二、打开爱思助手&#xff0c;把你的 苹果手机 用原装数据线连接至电脑&#xff1a; 找到 工具箱 > 搜索IPA > 打开IAP签名 三、添加 IPA 文件 mac&#xff1a;finder 》应用程序 》右键 HbuilderX 》显示包内容 》HbuilderX / plugins/ lau…

【Redis】Redis持久化模式AOF

目录 引言 AOF持久化模式​编辑​编辑 AOF与RDB的混合持久化(4.x后的新特性) AOF的优缺点 修复破损aof文件 到底用RDB还是AOF 引言 AOF就相当于上面的日志形式。是追加式备份。所有发生的写操作&#xff0c;新增啊&#xff0c;修改啊&#xff0c;删除啊&#xff0c;这些命…

我们距离AGI还有多远?

关于HBM那份纪要的其他反馈 上篇文章发了一篇HBM纪要小部分内容&#xff08;星球更新了另一部分&#xff09;&#xff0c;收到很多业内大佬们的反馈&#xff0c;包括颗粒计算、封装订单划分等等&#xff0c;以及是不是某通某电的一个专家。其中倒是出现一个非共识的说法&#…

植树节活动如何联系媒体投稿宣传?

植树节活动联系媒体投稿宣传的步骤如下: 明确宣传目标与内容: 确定植树节活动的核心宣传信息,如活动目的、意义、时间、地点、参与方式等。 准备相关的图片、视频或宣传册等素材,以便媒体能够更好地理解和传播活动信息。 选择适合的媒体渠道: 根据目标受众和宣传目的,选择适…

什么是jwt

jwt是JSON Web Token&#xff0c;由3部分构成&#xff1a; 头部Header&#xff1a;头部包含了两部分&#xff0c;token 类型和采用的加密算法&#xff08;可为none&#xff0c;后端应限制加密算法&#xff0c;不以这里为准&#xff09;。 载荷Payload&#xff1a;这部分才是重要…

UD效果广告

1.定义 全称Unidesk&#xff0c;是由阿里旗下大数据运营平台“阿里妈妈”推出的数字营销引流平台。UD投放将其他媒体的流量通过相关的广告创意导入到天猫店铺。 2.UD投放优化技巧 &#xff08;1&#xff09;不起量排查&#xff1a; 可以从账户问题、计划数量不足、计划设置…