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

一种全新且灵活的 Prompt 对齐优化技术

并非所有人都熟知如何与 LLM 进行高效交流。

一种方案是,人向模型对齐。 于是有了 「Prompt工程师」这一岗位,专门撰写适配 LLM 的 Prompt,从而让模型能够更好地生成内容。

而另一种更为有效的方案则是,让模型向人对齐。 这也是大模型研究中非常重要的问题,无论是 GPT 还是 Claude,在对齐技术上花费大量的时间与精力。但,随着模型规模变大,基于训练的对齐技术也需要耗费更大量的资源。

因此,我们提出另外的一种方案,即黑盒提示对齐优化技术(Black-box Prompt Optimization),通过优化用户指令,从输入角度对模型进行对齐。

图片

这种方法可以在不对 LLM 进行训练的情况下,大幅提升与人类偏好的对齐程度。

而且 BPO 可以被替换到各种模型上,包括开源模型和基于API的模型。

下面是我们做的一个简单评估:

图片

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

_论文:https://arxiv.org/abs/2311.04155
_

代码:https://github.com/thu-coai/BPO

技术交流群

建了技术答疑、交流群!想要进交流群、资料的同学,可以直接加微信号:mlc2060。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~

方式①、添加微信号:mlc2060,备注:技术交流
方式②、微信搜索公众号:机器学习社区,后台回复:技术交流

在这里插入图片描述

一、方 法

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

图片

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

**2、构造提示优化对:**我们使用这些反馈数据来引导大型模型识别出用户偏好的特征。我们首先让模型分析用户喜欢的回复和不喜欢的回复,找出其中蕴含的人类偏好特征。接着,基于这些特征,我们再利用模型优化原始的用户输入,以期得到更符合用户喜好的模型输出。

**3、训练提示优化器:**经过步骤一和步骤二,我们得到了大量隐含人类偏好的提示对。利用这些提示对,我们训练一个相对较小的模型,从而构建提示偏好优化器。

最终,我们可以利用该提示优化器对用户指令进行优化,并应用在广泛的LLM上。

二、效 果

我们基于英文部分开源反馈数据集和 llama2-chat-7b 构建了 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 和反馈学习方法(PPO、DPO)以及 Prompt Engineering方法(如OPRO)的区别是什么?

答:与PPO和DPO相比,BPO最大的优势在于不需要训练原本的LLM,只需要额外训练一个较小的模型即可,并且我们的实验证明这两种技术是可以相结合的。

图片

与 OPRO 对比,BPO 最大的特点在于更加通用,OPRO 等现有的 Prompt Engineering 技术大多需要针对特定的数据进行搜索,并且会搜索得到一个针对特定任务的提示。因此,如果用户希望使用此类方法,需要针对每种任务准备相应的数据集。而 BPO 在训练得到提示优化器后,可以优化各种用户指令。

问:BPO能否针对一条指令进行迭代优化?

答:我们在 VicunaEval 数据上验证了迭代优化指令的效果,大约在第四轮时,优化后的指令对 ChatGPT 效果最好。

图片

问:BPO 究竟对用户指令做了怎样的优化?

答:我们在论文的第五小节总结了BPO的一些常见优化策略,包括:推理解释、完善用户问题、要点提示以及安全增强。

图片

图片

图片

图片


相关文章:

  • Mysql面经
  • 量化交易:筹码理论的探索-筹码分布计算的实现
  • 2022年12月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • Calling PeopleTools APIs 调用PeopleTools API
  • GPU和CPU的联系和区别是什么,各自有什么特点,
  • Java基准测试工具JMH的简介与使用
  • Day45:300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
  • Node.js下载安装及配置镜像源
  • vivo开发者链接
  • 机器学习/sklearn 笔记:K-means,kmeans++,MiniBatchKMeans,二分Kmeans
  • python .pyc文件(字节码文件)(字节码与机器码区别)
  • C++知识点总结(7):玩转高精度除法
  • JAVA后端开发技术报告
  • 【Pytorch】Visualization of Fature Maps(2)
  • electron 问题记录
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【Amaple教程】5. 插件
  • Akka系列(七):Actor持久化之Akka persistence
  • angular2开源库收集
  • Laravel5.4 Queues队列学习
  • PHP 7 修改了什么呢 -- 2
  • Service Worker
  • springboot_database项目介绍
  • 阿里云前端周刊 - 第 26 期
  • 安卓应用性能调试和优化经验分享
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 前端面试题总结
  • 前言-如何学习区块链
  • 设计模式 开闭原则
  • 树莓派 - 使用须知
  • 异常机制详解
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​secrets --- 生成管理密码的安全随机数​
  • #ifdef 的技巧用法
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1)SpringCloud 整合Python
  • (2.2w字)前端单元测试之Jest详解篇
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (分布式缓存)Redis持久化
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (南京观海微电子)——I3C协议介绍
  • (一)为什么要选择C++
  • (转载)Linux 多线程条件变量同步
  • ***原理与防范
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .apk文件,IIS不支持下载解决
  • .htaccess 强制https 单独排除某个目录
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .Net中的集合
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国