Meta:大语言模型可以通过自我批判取得大幅提升!

图片

 夕小瑶科技说 原创
 作者 | 谢年年

论文的审稿模式想必大家都不会陌生,一篇论文除了分配多个评审,最后还将由PC综合评估各位审稿人的reviews撰写meta-review。

最近,来自Meta的研究团队将这一模式引进到大模型的对齐训练中。模型同时扮演 执行者(actor)、评判者(judge)和元评判者(meta-judge) 三种角色。执行者生成回复,评判者评估生成回复的质量并打分,元评判者则检查评判者的质量,为评判者提供必要的训练反馈。

通过这种方式获得大量回复偏好对,无需人工标注数据,进一步训练对齐模型,显著提高了模型的判断和遵循指令的能力

论文标题:
META-REWARDING LANGUAGE MODELS: Self-Improving Alignment with LLM-as-a-Meta-Judge

论文链接
https://arxiv.org/pdf/2407.19594

图片

方法

本文假设没有任何额外的人工监督数据,仅有一个初始的种子LLM。通过迭代自我对弈,模型同时扮演执行者(actor)、评判者(judge)和元评判者(meta-judge)三种角色。执行者生成回复,评判者评估生成的质量并打分,元评判者则比较评判者的质量,为其提供必要的训练反馈。

虽然最终的目标是训练执行者生成更优质的回复,但评判者评判是否准确也很重要。随着评判者能力的提升,执行者也能获得更好的反馈,从而不断进步。本文提出的 “元奖励机制(Meta-Rewarding)”旨在同时增强执行者和评判者的能力。迭代过程下图所示:

图片

增强执行者和评判者的能力最重要的就是获取大量训练数据。因此每个迭代周期首先由执行者针对每个提示生成多个回复变体,评判者为每个回复打分,为训练执行者构建回复偏好对。

为了训练评判者构建评判偏好对,则选择一个回复,并让元评判者比较评判者针对该回复生成的两个评判变体,以确定哪个更好,这通过LLM作为元评判者的提示来实现,如下图所示:

图片

一旦为执行者和评判者都收集了偏好数据,就通过DPO在数据集上进行偏好优化训练。

接下来详述每个部分数据集构建。

执行者偏好数据集创建

数据集创建过程主要包括三个步骤:

  1. 从执行者获取样本回复假设有一组给定的提示,对于每个提示,在迭代时,从当前模型中抽样生成个不同的回复。

  2. 聚合多个评判对于每个回复,使用“LLM作为评判者”的提示从中生成个不同的评判。

    图片

    该提示指示模型根据固定评分标准对给定提示下的回复进行评价,并输出其推理过程和最终分数(满分5分)。丢弃无效的打分,计算所有有效评判分数的平均值,得到每个回复的最终奖励分数。

  3. 带长度控制的偏好数据选择

    之前的工作简单地选择每个提示下得分最高和最低的回复作为被选回复和被拒绝回复,形成偏好对。然而,这会导致长度爆炸问题,即随着迭代次数增加,回复变得越来越长。

    作者引入了一个简单的长度控制机制。通过定义了一个质量层级参数,以控制基于分数的选择和长度考虑之间的权衡。特别地,得分位于顶层范围内的回复被认为具有相似质量。在选择被选回复时,优先选择该顶层范围内最短的回复。这种方法有助于抵消评判者倾向于更长回复的倾向,从而避免训练数据出现偏差。相反,对于被拒绝回复,选择得分在范围内的最长回复。将设置为0将有效禁用长度控制,恢复为纯基于分数的选择。

评判者偏好数据集创建

作者设计了一个元评审,来对比评判者的好坏。整个过程分为三大步骤,旨在精准挑选出高质量的评审对,并有效减少位置偏差等影响因素。

  1. 响应选择

    为了训练出更加敏锐的评审系统,专注于那些评审意见分歧最大的响应。通过计算每个响应在不同评审间评分的方差,筛选出评分方差最大的响应作为训练材料。

  2. 成对的元评审评估

    对于每个选定的响应,有最多N个相应的评审,记作。然后利用LLM作为元评审,通过详细分析两个评审的判断,模型会生成思维链推理并给出胜负判断。

    为消除位置偏差,变换评审顺序并引入位置加权评分机制,确保评估的公正性。此外,还引入了针对第一和第二位置的获胜加权评分。定义和分别为在第一和第二位置的总获胜次数,并计算权重为:

    图片

    判断()之间单场战斗的结果定义为:

    图片

    最终,这些评估结果汇总成一个战斗矩阵,反映评审间的相对实力。

    图片

  3. Elo评分和成对选择

    借鉴Elo评分系统,作者将战斗矩阵转化为每个评审的元奖励。通过解决以下最大似然估计问题确定每个评审的Elo评分 :

    图片

    这种方法允许在元评判者评估中考虑位置偏差的分数,提供更准确的奖励信号,提高评审质量。在创建偏好对时,选择Elo评分最高和最低的评审输出作为通过和拒绝的评审输出。

    在实践中,元评审可能偏好冗长的评审输出。为纠正这一偏差,作者增设了长度阈值过滤步骤,有效限制了过长输出的影响,实现了评审质量与简洁性的良好平衡。

实验

实验设置

本文使用经过指令微调的 Llama-3-8B-Instruct 作为种子模型。再对种子模型利用[1]提供的评估微调数据集进行监督微调得到初始评判者。

在Meta-Rewarding迭代中,同样以[1]提供的20000个提示作为种子集,每次迭代抽取5000个提示,总共进行四次迭代:

  • Iter 1 通过使用 DPO在SFT模型生成的执行和评审偏好数据对对上训练获得M1。

  • Iter 2 通过在M1生成的执行和评审偏好对上使用 DPO 训练 M1 来获得 M2。

  • Iter 3 通过仅在 M2 生成的执行偏好对上使用 DPO 训练 M2 来获得 M3。

  • Iter 4 通过仅在 M3 生成的执行偏好对上使用 DPO 训练 M3 来获得 M4。

评估与实验分析

由于Meta-Rewarding同时改善模型作为演员和评判者的表现,因此将测量两个方面。

执行者的指令遵循能力

作者采用了三个成熟的GPT4驱动自动评估基准从不同维度评估模型。AlpacaEval 2侧重于日常聊天场景,Arena-Hard则包含复杂与挑战性问题,MT-Bench评估多轮对话能力,覆盖8类问题。

  • Meta-Rewarding迭代显著提升胜率。如下图所示,在AlpacaEval基准上,胜率从22.9%跃升至39.4%,超越GPT-4,逼近Claude Opus,且模型仅8B参数,未用额外人类数据,成效显著。同时,该方法优于使用强大外部奖励模型的强基线SPPO。

    图片

  • 元评判者及长度控制机制对提升至关重要,在没有元评判者参与训练评判者的情况下,仅依赖自奖励基线与长度控制(LC)相结合,虽然能够带来一定程度的改进,但这种改进在训练的后期迭代中显得较为有限。如下表所示,随着训练迭代的进行,平均响应长度并未出现明显增长,这有力地证明了所采用的长度控制机制在控制输出长度方面的稳定性和有效性。

    图片

  • Meta-Rewarding几乎改进了所有指令类别,特别在知识密集型类别如科学、游戏、文学上表现突出(,但在旅行、数学等类别上改进较小。

    图片

  • Meta-Rewarding 改进了复杂和困难问题的回答。 在应对复杂问题上,通过Arena-Hard评估,Meta-Rewarding持续提分,较种子模型提升显著(+8.5%)。

    图片

  • Meta-Rewarding 尽管仅在单轮数据上训练,但并未牺牲多轮能力。 Meta-Rewarding在MT-Bench评估中仍保持了多轮对话能力,最后一轮迭代中首轮得分提升,第二轮得分牺牲微小(<0.1),而以往的方法通常在第二轮得分上牺牲超过 0.2,而第一轮得分没有改善。

图片

评判者的奖励建模能力

作者比较评判者的能力与人类评判和当前最强的判断模型 gpt-4-1106-preview 之间的相关性。还通过斯皮尔曼相关性分析,量化模型生成排名与Open Assistant数据集中的一致性。

模型经Meta-Rewarding训练后,判断能力显著提升。下表显示,与自奖励基线相比,在两种评估设置中,Meta-Rewarding与GPT-4判断的相关性均大幅增强,尤其是无平局一致性指标提升显著。自选对设置中,迭代2时改进高达+12.34%,而GPT-4选择对设置中也超过+6%。这证明了Meta-Rewarding在提升模型判断能力上的有效性,使其更接近GPT-4的评估水平。

图片

Meta-Rewarding 训练提高了与人类的判断相关性。 通过Open Assistant数据集验证,可以看到本文模型与人类排名的相关性显著增加。然而,随着训练深入,这一改进有所减缓,可能与响应分布变化有关。

图片

结语

本文利用元评判者分配元奖励,优化模型判断偏好,克服自奖励框架的训练限制。同时,引入长度控制技术,解决训练中的长度问题。即使没有额外的人类反馈,该方法也显著改善了 Llama-3-8B-Instruct,并超越了依赖于人类反馈的强基线 Self-Rewarding 和SPPO 。并且该模型的判断能力与人类及强大AI评判者(如GPT-4)高度相关。也许随着科技发展,无需人类反馈的模型超对齐将可能实现。

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

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

相关文章

poker (GuanDan)

poker &#xff08;GuanDan&#xff09; 掼蛋 基础比大小规则: ①单牌 2最小与以往不太一样&#xff08;2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < J < Q < K < A < Joker&#xff09; 如果本级打9&#xff0c;那么9就比A大&#xff0c;…

安装Anaconda(过程)

Anaconda是一个开源的Python发行版本&#xff0c;用来管理Python相关的包&#xff0c;安装Anaconda可以很方便的切换不同的环境&#xff0c;使用不同的深度学习框架开发项目&#xff0c;本文将详细介绍Anaconda的安装。 一、安装 1、安装方式 官网&#xff1a;“https://www.…

JVM - GC垃圾回收

文章目录 目录 文章目录 1. 自动垃圾回收 1.1 垃圾回收区域 2. 方法区回收 3. 堆回收 3.1 对象已死&#xff1f; 3.1.1 引用计数算法 3.1.2 可达性分析算法 3.1.3 再谈引用 强引用 软引用 弱引用 虚引用 3.2 垃圾收集算法 3.2.1 分代收集理论 3.2.2 垃圾回收算…

FlinkCDC 3.2.0 新增优点 Pattern Replacement in routing rules

新增优点&#xff1a;Pattern Replacement in routing rules flinkcdc 3.2.0版本相较于3.1.0版本&#xff0c;避免了多表多sink多次写 route 路由的麻烦&#xff0c;类似于统一前后缀的形式多表多sink&#xff0c;通过<>正则&#xff0c;大大减少了书写 官网&#xff1…

初始Linux 和 各种常见指令

目录 Linux背景 1. 发展史 Linux发展历史 1.历史 2. 开源 Linux下基本指令 01. ls 指令 02. pwd命令 03. cd 指令 04. touch指令 05.mkdir指令&#xff08;重要&#xff09;&#xff1a; 06.rmdir指令 && rm 指令&#xff08;重要&#xff09;&#xff1a; …

【Vue3】自动化路由配置:Vue3与unplugin-vue-router的完美结合

引言 在Vue3项目中&#xff0c;路由管理是构建复杂应用不可或缺的一部分。传统上&#xff0c;手动编写路由配置既繁琐又容易出错。本文将介绍如何利用unplugin-vue-router插件&#xff0c;实现Vue3项目的自动化路由配置&#xff0c;从而提升开发效率和准确性。 unplugin-vue-…

基于SpringBoot+Vue+MySQL的考研互助交流平台

系统展示 用户前台界面 管理员后台界面 系统背景 本文设计并实现了一个基于SpringBoot、Vue.js和MySQL的考研互助交流平台。该平台旨在为广大考研学子提供一个集资源共享、学习交流、经验分享、心理辅导等功能于一体的综合性在线社区。通过SpringBoot构建高效稳定的后端服务&am…

轻松实现游戏串流,内网穿透

一、部署Gemini Gemini使用教程 二、部署Moonlight 过程大概说一下&#xff0c;网上有太多太多moonlight的东西了 需要运行游戏的机器上安装GFE&#xff08;GeForce Experience&#xff09;&#xff0c;登录并开启GAMESTREAM&#xff08;游戏串流&#xff09;功能 注&…

网络安全 L2 Introduction to Cryptography 密码学

Definitions 1. crypto - hidden/secret grafia - writing 2. “the science and study of secret writing” 3. Cryptography is the science of protecting data, which provides means of converting data into unreadable form, so that 1. the data cannot be ac…

vue + Element UI table动态合并单元格

一、功能需求 1、根据名称相同的合并工作阶段和主要任务合并这两列&#xff0c;但主要任务内容一样&#xff0c;但要考虑主要任务一样&#xff0c;但工作阶段不一样的情况。&#xff08;枞向合并&#xff09; 2、落实情况里的定量内容和定性内容值一样则合并。&#xff08;横向…

9.11 QT ( Day 4)

一、作业 1.Widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimerEvent> //定时器类 #include <QTime> #include <QtTextToSpeech> //文本转语音类QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEcl…

杨氏矩阵中查找某个数字是否存在(不能使用遍历)

杨氏矩阵&#xff1a; 有一个数字矩阵&#xff0c;矩阵的每行从左到右是递增的&#xff0c;矩阵从上到下是递增的 如图所示&#xff1a; i为行&#xff0c;j为列 如果要找9&#xff0c;先从arr【0】【2】处开始找&#xff0c;3<9,i,排除第一行&#xff0c;6<9,i,排除第…

上海亚商投顾:沪指探底回升 华为产业链午后爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日探底回升&#xff0c;深成指、创业板指盘中跌逾1%&#xff0c;午后集体拉升翻红。华为产业链午后走强…

B-树底层原理

一、B-树介绍 定义&#xff1a; B-树&#xff08;B-Tree&#xff09;是一种自平衡的树形数据结构&#xff0c;广泛应用于数据库和操作系统中。它的设计目标是减少搜索、顺序访问、插入和删除操作中比较次数和移动次数&#xff0c;特别适合于磁盘中数据的存储和检索。 性质&a…

RabbitMQ练习(AMQP 0-9-1 Overview)

1、What is AMQP 0-9-1 AMQP 0-9-1&#xff08;高级消息队列协议&#xff09;是一种网络协议&#xff0c;它允许遵从该协议的客户端&#xff08;Publisher或者Consumer&#xff09;应用程序与遵从该协议的消息中间件代理&#xff08;Broker&#xff0c;如RabbitMQ&#xff09;…

欺诈文本分类检测(十四):GPTQ量化模型

1. 引言 量化的本质&#xff1a;通过将模型参数从高精度&#xff08;例如32位&#xff09;降低到低精度&#xff08;例如8位&#xff09;&#xff0c;来缩小模型体积。 本文将采用一种训练后量化方法GPTQ&#xff0c;对前文已经训练并合并过的模型文件进行量化&#xff0c;通…

【电子通识】规格书上的%FS和%RD具体指什么?

在仪器仪表类的手册上&#xff0c;常见的精度表达规格显示方式&#xff1a;%FS 和%RD 究竟如何解读呢&#xff1f; 术语解说 %RD(Reading)&#xff1a;用于表示对比显示值(读值)存在多少(%)的误差 %FS(Full Scale)&#xff1a;用于表示对比全量程存在多少(%)的误差 %SP(Set Poi…

基于ssm+vue+uniapp的电影交流平台小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…

多文件编程实现链表创建,插入,输出(上)

linklist.c #include "linklist.h" //创建空的链表&#xff0c;为头结点在堆区分配空间 linklist_t *creat_empty_linklist() {linklist_t *head NULL;head (linklist_t *) malloc(sizeof(linknode_t));if(NULL head){printf("malloc is fail!\n");ret…

项目小结二()

一.个人信息的界面 这里可以进行用户信息的修改&#xff0c;并渲染数据上去 二.这两天&#xff0c;出现的问题&#xff1a; 1.mybatis中 字段取别名 &#xff08;还没验证&#xff0c;是否正确&#xff09; 问题描述&#xff1a;由于实体类中的变量名&#xff0c;与数据库中…