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

LLM之Prompt(二):清华提出Prompt 对齐优化技术BPO

图片

论文题目:《Black-Box Prompt Optimization: Aligning Large Language Models without Model Training》

论文链接:https://arxiv.org/abs/2311.04155

github地址:https://github.com/thu-coai/BPO

BPO背景介绍

       最近,大型语言模型(LLM)在各种应用中都取得了显著的成功,比如文本生成,文生图大模型等。然而,这些模型往往与人类意图不太一致,这就需要对其进行额外的处理,即对齐问题。为了使LLM更好地遵循用户指令,现有的对齐方法(比如RLHF、RLAIF和DPO)主要侧重于对LLM进行进一步的训练,然而这些对齐方法有如下缺点:

  • 效率:随着LLM越来越大,训练LLM变得更加昂贵和困难,尤其是当使用臭名昭著的不稳定RL算法时;
  • 可访问性:由于大多数性能最好的LLM,如GPT-4和Claude-2,都是封闭源的,只能通过API访问,因此外部团队想继续训练几乎不可能;
  • 可解释性:使用现有方法时,人类偏好的建模和精确提升是无法解释的;

       清华大学提出了一种黑盒提示优化(BPO)来执行对齐,其思想是优化用户Prompt以适应LLM对输入的理解,从而在不更新LLM参数的情况下更好地实现用户的意图理解。

      BPO可以应用在任何LLM模型上,经验结果表明,使用BPO对齐的ChatGPT的胜率比原始版本提高了22%,GPT-4的胜率提高了10%。对于相同的LLM,BPO对齐的LLM性能优于PPO和DPO对齐,而且BPO技术可以与PPO或DPO进行组合使用,可能带来额外的性能增益。

      在 VicunaEval 上使用 GPT-4 进行自动评估,BPO 能够大幅提升 ChatGPT、Claude 等模型的人类偏好,并助力 llama2-13b 模型大幅超过 llama2-70b 的版本,如下图所示:

图片

BPO方法原理

       BPO黑盒优化的目标是让模型更好地理解和满足人类的喜好,通过调整输入内容,使模型生成的输出更符合用户的期望。这个过程可以分为三个主要步骤:

图片

1、反馈数据收集:为了建模人类偏好,首先搜集了一系列带有反馈信号的开源指令微调数据集,并对这些数据经过精心筛选和过滤;

2、构造提示优化对:使用这些反馈数据来引导大型模型识别用户喜欢的回复和不喜欢的回复,基于这些特征,再利用模型优化原始的用户输入,以期得到更符合用户喜好的模型输出;

3、训练提示优化器:经过上述两个步骤,得到了大量优化前后的Prompt pair,利用这些Prompt pair训练一个seq2seq模型(作者使用llama2-7b-chat作为bachbone模型),这样后期就可以使用该seq2seq模型进行自动化优化用户的Prompt了

BPO与其他对齐方法的对比

图片

BPO实验效果

图片

      BPO对齐技术对 GPT-3.5-turbo 有22%的提升,对 GPT-4 有 10% 的提升。

图片

       BPO 能够助力 llama2-13b 大幅超过 llama2-70b 版本的模型效果,并让 llama2-7b 版本的模型逼近比它大 10 倍的模型。

图片

       在 vicuna-7b 和 vicuna-13b 上,使用 BPO 对齐的模型超过了常用的反馈学习方法—— PPO(Proximal Policy Optimization) 和 DPO(Direct Preference Optimization)的效果,并且能够和这些方法相结合进一步提升模型效果。

图片

       此外,BPO还可以用于提升SFT数据的质量,帮助构建更高质量的SFT模型。

BPO优化前后Prompt的对比

图片

参考文献:

[1] https://arxiv.org/abs/2311.04155

相关文章:

LLM之Prompt(二):清华提出Prompt 对齐优化技术BPO

论文题目:《Black-Box Prompt Optimization: Aligning Large Language Models without Model Training》 论文链接:https://arxiv.org/abs/2311.04155 github地址:https://github.com/thu-coai/BPO BPO背景介绍 最近,大型语言模…...

chatglm3部署使用

chatglm3部署使用 1.部署2.使用3.接入微信4.vue前端 1.部署 1.首先去github下载chatglm3代码。Huggingface下载模型一直失败,所以用阿里的魔塔社区下载。 git clone https://github.com/THUDM/ChatGLM3.git git clone https://www.modelscope.cn/ZhipuAI/chatglm3…...

Android扫码ZXing

1. 获取权限 请注意动态申请及重写申请结果返回方法。 <uses-permission android:name"android.permission.CAMERA"/> 2. 添加依赖 //Gradle Scripts -> build.gradle(Module:app) implementation com.google.zxing:core:3.4.1 implementation com.jour…...

求解Beamforming-SOCP(CVX求解)

时间&#xff1a;2023年11月23日14:00:16&#xff1a; 直接上代码&#xff08;辛苦两天才改出来的&#xff09; clear all; K 4; %user number N4; %base station number var1e-9; H []; %initialize H matrix for i1:Kh 1/sqrt(2*K)*mvnrnd(zeros(N,1),eye(N),1)1i/sqrt(2*…...

解决Vue项目的runtime-only转为runtime-compiler

我们在vue.config.js中添加上 runtimeCompiler: true,然后再将main.js入口文件中的Vue实例改为以下即可 //修改前 new Vue({router,store,render: (h) > h(App) }).$mount(#app) //修改后 new Vue({el:#app,router,store, components:{App}, template:<App/>})...

hash模式和history模式

在Vue Router中&#xff0c;有两种路由模式可供选择&#xff1a;hash模式和history模式。它们各自有一些优点和缺点&#xff0c;下面是它们的简要介绍&#xff1a; hash模式的原理是通过hashchange事件&#xff0c;通过监听hash变化来驱动界面变化。它的url中有 # 号 1、监听…...

聊聊logback的LevelFilter

序 本文主要研究一下logback的LevelFilter AbstractMatcherFilter ch/qos/logback/core/filter/AbstractMatcherFilter.java public abstract class AbstractMatcherFilter<E> extends Filter<E> {protected FilterReply onMatch FilterReply.NEUTRAL;protect…...

mysql 行转列 GROUP_CONCAT 试验

1.概要 很多时候需要用到行专列的方式做数据分析。比如对通讯数据的采集 数据采集结果如下&#xff1a; 变量值采集周期131251132272 我想要看的结果 变量1变量2采集周期351372 就是我想看到相关数据的周期变化情况。 2.试验 2.1创建数据如下&#xff08;表名 tb5&…...

HarmonyOS元服务开发实战—端云一体化开发

还记得我第一次接触arkui还是在22年的9月份&#xff0c;当时arkui还在一个比较初试的阶段。时隔一年再见方舟框架&#xff0c;它已经发生了令人瞩目的变化&#xff0c;不得不说华为方舟框架在更新迭代的速度已经遥遥领先。新的功能和性能优化让这个框架更加强大和灵活&#xff…...

【搭环境】装Python3.8 open3d

先装Python3.8 方法一试了找不到Python3.8的库&#xff0c;所以用方法二装上了。 Python3加入环境变量 更改Python默认指向 open3d需要Python3.6以上&#xff0c;最好用Ubuntu18版本&#xff0c;我用的16版本。。...

【C语言】深入解开指针(四)

&#x1f308;write in front :&#x1f50d;个人主页 &#xff1a; 啊森要自信的主页 ✏️真正相信奇迹的家伙&#xff0c;本身和奇迹一样了不起啊&#xff01; 欢迎大家关注&#x1f50d;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;>希望看完我的文章对你有小小的帮助&am…...

AMEYA360:瑞萨面向高端工业传感器系统推出高精度模拟前端的32位RX MCU

全球半导体解决方案供应商瑞萨电子&#xff08;TSE&#xff1a;6723&#xff09;宣布面向高端工业传感器系统推出一款全新RX产品——RX23E-B&#xff0c;扩展32位微控制器&#xff08;MCU&#xff09;产品线。新产品作为广受欢迎的RX产品家族的一员&#xff0c;具有高精度模拟前…...

切面Aspect + 策略模式实现待办提醒功能

1.背景 产品需要实现一个待办提醒功能&#xff0c;就是核心业务发生变更即提醒业务员去处理相关业务。譬如&#xff1a;订单上传了支付凭证&#xff0c;那么就会提醒相关业务员去待办列表操办。 2.表设计 其实表设计主要是两张表sys_todo、sys_todo_detail 一张是待办核心表…...

SAP 调取http的x-www-form-urlencoded形式的接口

一、了解下x-www-form-urlencoded形式对于SAP来说有啥区别 简单来说&#xff0c; 1.raw格式就是标准的json格式&#xff1a;{“Name”:“John Smith”&#xff0c;“Age”: 23} 2.x-www格式是要转化一下的&#xff1a;NameJohnSmith&Age23 字段与字段相互连接要用 & 符…...

thingsboard3.6的mailConfigTemplateController错误

1、bug内容 使用3.6版本的tb代码进行打包生成boot的jar包,在启动的时候会报错mailConfigTemplateController bean初始化找不到文件路径。 Error creating bean with name mailConfigTemplateController defined in URL [jar:file:/D:/yuxinwei/AE/thingsboard/thingsboard-3…...

Go语言中获取IP

简介 在net包中提供了获取所有网卡的ip&#xff0c;一般不会用127.0.0.1,::1这样的本地回环地址&#xff0c;可以过滤掉&#xff0c;如果想要获取当前真正在使用的地址&#xff0c;得通过net.Dail去连一下才知道 获取ip地址 func main() {fmt.Println(getIpv4())fmt.Println…...

【Computer Vision Foundation】全球计算机视觉基金会论文网

计算机视觉基金会&#xff08;Computer Vision Foundation&#xff0c;简称CVF&#xff09;是一个致力于推动计算机视觉领域研究和发展的组织。以下是关于计算机视觉基金会的一些基本信息&#xff1a; 成立目的&#xff1a; CVF成立的目的是促进计算机视觉领域的学术研究、技术…...

计网(复习自用)

计算机网络 1.概述 1.1概念 含义 计算机网络&#xff1a;是一个将分散的。具有独立功能的计算机系统&#xff0c;通过通信设备和线路连接起来&#xff0c;由功能完善的软件实现资源共享和信息传递的系统。 简单点说&#xff0c;计算机网络是互联的&#xff0c;自治的计算机集…...

安徽省广德市选择云轴科技ZStack Cloud云平台建设县级智慧城市

信创是数字中国建设的重要组成部分&#xff0c;也是数字经济发展的关键推动力量。作为云基础软件企业&#xff0c;云轴科技ZStack产品矩阵全面覆盖数据中心云基础设施&#xff0c;ZStack信创云首批通过可信云《一云多芯IaaS平台能力要求》先进级&#xff0c;是其中唯一兼容四种…...

【计算思维】蓝桥杯STEMA 科技素养考试真题及解析 6

1、明明买了一个扫地机器人&#xff0c;可以通过以下指令控制机器人运动: F:向前走 10 个单位长度 L:原地左转 90 度 R:原地右转 90 度 机器人初始方向向右&#xff0c;需要按顺序执行以下那条指令&#xff0c;才能打扫完下图中的道路 A、F-L-F-R-F-F-R-F-L-F B、F-R-F-L-F-F…...

算法训练营第十七天|151.翻转字符串里的单词

题目链接&#xff1a;https://leetcode.cn/problems/reverse-words-in-a-string/ 视频讲解&#xff1a;https://www.bilibili.com/video/BV1uT41177fX 代码实现&#xff1a; 1、看到题目的第一想法&#xff1a; 看到题目&#xff0c;我首先想到&#xff1a;先去除多余空格&am…...

强化学习感知的知识蒸馏框架RLAD解析

1. 强化学习感知的知识蒸馏框架解析在大型语言模型(LLM)的推理能力优化领域&#xff0c;知识蒸馏(Knowledge Distillation)与强化学习(Reinforcement Learning)的结合正成为突破模型性能瓶颈的关键路径。传统蒸馏方法在静态监督微调(SFT)场景表现良好&#xff0c;但当遇到强化学…...

告别线束混乱:如何用一块TC1016接口卡搭建精简的ECU产线测试工装(含UDS诊断与Bootloader实例)

告别线束混乱&#xff1a;如何用一块TC1016接口卡搭建精简的ECU产线测试工装&#xff08;含UDS诊断与Bootloader实例&#xff09; 在汽车电子产线测试和售后诊断领域&#xff0c;工程师们常常面临设备繁多、线束杂乱、测试效率低下的痛点。传统测试台架往往需要多台单功能设备堆…...

国产替代之2SK3704与VBMB1615参数对比报告

N沟道功率MOSFET参数对比分析报告一、产品概述2SK3704&#xff1a;三洋&#xff08;SANYO&#xff09;N沟道硅MOSFET&#xff0c;耐压60V&#xff0c;导通电阻低&#xff0c;开关速度快&#xff08;超高速开关&#xff09;&#xff0c;采用4V驱动设计。封装&#xff1a;TO-220M…...

为什么你的`report.Rmd`编译要83秒?——Tidyverse 2.0惰性求值+缓存策略深度拆解

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;为什么你的report.Rmd编译要83秒&#xff1f;——性能瓶颈的直觉与真相 R Markdown 报告编译耗时陡增&#xff0c;常被归因于 “数据量变大” 或 “电脑变慢”&#xff0c;但真实瓶颈往往藏在可量化的执…...

代码能力就是天然优势 程序员做智能体降维打击

文章目录前言2026年&#xff0c;智能体不是风口炒作&#xff0c;是程序员的时代级机会1.1 别再被焦虑裹挟&#xff0c;先搞懂智能体到底是什么1.2 数据不会骗人&#xff1a;智能体赛道的爆发&#xff0c;已经超出所有人想象1.3 为什么满大街都在聊智能体&#xff0c;真正能落地…...

期权定价模型:Black-Scholes方程的数值解法

**Black-Scholes方程的数值解法探析** 期权定价是金融工程的核心问题之一&#xff0c;而Black-Scholes模型因其简洁性和实用性成为经典工具。解析解仅适用于简单期权&#xff0c;复杂场景需依赖数值方法。本文将介绍Black-Scholes方程的数值解法&#xff0c;帮助读者理解其实现…...

微信H5导航踩坑实录:绕过限制调用高德/百度地图,我用这招解决了(附完整代码)

微信H5导航功能深度优化&#xff1a;跨平台地图调用的实战解决方案 在移动互联网时代&#xff0c;H5页面作为轻量级应用载体&#xff0c;经常需要集成地图导航功能。然而&#xff0c;微信浏览器环境下的特殊限制让这一看似简单的需求变得异常复杂。本文将分享一套经过实战检验的…...

英雄联盟助手ChampR:3分钟学会职业选手的出装符文配置

英雄联盟助手ChampR&#xff1a;3分钟学会职业选手的出装符文配置 【免费下载链接】champr &#x1f436; Yet another League of Legends helper 项目地址: https://gitcode.com/gh_mirrors/ch/champr 还在为英雄联盟出装符文头疼吗&#xff1f;ChampR这款智能助手让你…...

XUnity.AutoTranslator:为Unity游戏打破语言障碍的智能翻译解决方案

XUnity.AutoTranslator&#xff1a;为Unity游戏打破语言障碍的智能翻译解决方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 在全球化游戏体验日益重要的今天&#xff0c;语言差异往往成为玩家享受优秀…...