奖励模型相关内容

这是 让 LLM 来评判 系列文章的第五篇,敬请关注系列文章:

  • 基础概念
  • 选择 LLM 评估模型
  • 设计你自己的评估 prompt
  • 评估你的评估结果
  • 奖励模型相关内容
  • 技巧与提示

什么是奖励模型?

奖励模型通过学习人工标注的成对 prompt 数据来预测分数,优化目标是对齐人类偏好。

训练完成后,奖励模型可以作为人工评估代理的奖励函数,用来改进其他模型。

成对比较评分

最常见的奖励模型类型是 Bradley-Terry 模型,它的输出是一个分值,遵循以下公式:

\[p(\text{答案 b 优于答案 a}) = \text{sigmoid}(\text{score}_b - \text{score}_a)
\]

奖励模型的训练数据只需要成对比较的答案,这比收集分数数据更容易。因此训练好的模型只能比较同一个 prompt 下的多个答案孰优孰劣,无法跨 prompt 比较。

其他模型在此方法的基础上进行了扩展,可以预测一个回答优于另一个的概率值 (例如 基于 LLaMA3 的奖励模型)。

这样模型就能 (理论上) 以数值来判断多个回答之间的细微差别,不过只能针对同一 prompt 对应的回答进行对比,跨 prompt 的回答概率值就没有对比意义了。另外当回答较长时,可能会受到上下文长度和内存限制的影响。

绝对分数

还有一些奖励模型 (如 SteerLM) 的输出是绝对分数。这类模型使用起来更加方便,可以直接对回答评估分数,而无需构造成对。但是数据收集就比较困难了,因为在衡量人类偏好时,绝对分数就显得相对不那么稳定。

最近有人提出了更强力的模型,可以同时输出绝对分数和相对分数。如 HelpSteer2-PreferenceArmoRM

奖励模型用于评估的方法

给定一个 prompts 数据集,输入 LLM 生成回答,并请求奖励模型对回答评分。

如果使用的奖励模型输出是绝对分数,可以对所有回答的分数求平均来获取最终得分。

其实更常用的奖励模型输出是相对分数,对其求平均可能会受到异常值的影响 (某些非常好或非常差的回答),因为不同 prompt 的评估分数可能具有不同的尺度 (某些 prompt 会比其他的更简单或困难)。

总上,我们可以使用:

  • 胜率 (win rate):取一组参考回答,计算模型回答优于参考回答的百分比,这种结果会更加精细。
  • 胜算概率 (win probabilities):取一组参考回答,计算模型回答优于参考回答的平均概率,这种结果能够提供更细致和平滑的信号。

奖励模型的优劣势

优势:

  • 非常迅速:奖励模型只需要得到一个分数 (与 LLM 评估模型需要得到长文本不同),因此其推理速度和小模型速度相当。
  • 具有确定性:前向过程相同,最终得分也会保持一致。
  • 对位置偏差不敏感:大多数奖励模型一次只处理一个回答,所以很少受到顺序的影响。即使对于需要处理成对回答的奖励模型,只要它在训练时使用的数据在顺序上是均衡的,受位置偏差的影响很非常小。
  • 无需 prompt 工程:很明显,奖励模型的任务目标只有一个,就是通过训练偏好数据来对一个或两个回答输出分数。

劣势:

  • 需要特定微调:即便微调后继承了基础模型的许多能力,不过在超出训练集范围的任务上可能还是表现不佳,另外这一步的成本会相对偏贵。
  • 在强化学习和任务评估领域 (或使用直接对齐算法处理与奖励模型训练集相似的数据集时) 效率较低:语言模型会过拟合奖励模型的偏好数据。

使用奖励模型进行评估的技巧与提示

  • RewardBench Leaderboard:奖励模型排行榜,可以找到很多高性能模型。
  • Nemotron 论文中介绍了奖励模型的使用经验。
  • 对于那些仅评分单个 prompt 与回答的奖励模型,可以缓存多个模型结果,当测试新模型的表现时就能够很快得到结论。
  • 这篇论文 对训练过程中的胜率或胜率概率进行了追踪整理,可以帮助检测模型退化以及选择最佳权重。

英文原文: https://raw.githubusercontent.com/huggingface/evaluation-guidebook/refs/heads/main/translations/zh/contents/model-as-a-judge/what-about-reward-models.md

原文作者: clefourrier

译者: SuSung-boy

审校: adeenayakup

让 LLM 来评判 | 奖励模型相关内容的更多相关文章

  1. 基于KNN的相关内容推荐

    如果做网站的内容运营,相关内容推荐可以帮助用户更快地寻找和发现感兴趣的信息,从而提升网站内容浏览的流畅性,进而提升网站的价值转化.相关内容 推荐最常见的两块就是“关联推荐”和“相关内容推荐”,关联推荐 ...

  2. Java内存模型相关原则详解

    在<Java内存模型(JMM)详解>一文中我们已经讲到了Java内存模型的基本结构以及相关操作和规则.而Java内存模型又是围绕着在并发过程中如何处理原子性.可见性以及有序性这三个特征来构 ...

  3. [炼丹术]UNet图像分割模型相关总结

    UNet图像分割模型相关总结 1.制作图像分割数据集 1.1使用labelme进行标注 (注:labelme与labelImg类似,都属于对图像数据集进行标注的软件.但不同的是,labelme更关心对 ...

  4. 齐博x1再来个抛砖引玉 内容页根据关键词调用相关内容 新功能哦!

    昨天升级了一个隐藏的功能,今天就简单的做个说明怎么用,反正也不能浪费不是 那就用内容页面关键词读取相关内容为例吧. 前台是你模型中已经存在keywords字段  关键词支持 空格分割,号分割 那么就开 ...

  5. linux用户权限相关内容查看

    linux用户权限相关内容查看 1   用户信息 创建用户一个名为 webuser 的账号,并填写相应的信息: root@iZ94fabhqhuZ:~# adduser webuser Adding ...

  6. SharePoint安全 - 在Goolge和Bing中查找SharePoint相关内容

    博客地址 http://blog.csdn.net/foxdave 本篇提供两个查询串字典,分别对应Google和Bing的搜索,用来查询SharePoint网站的相关内容 Google ShareP ...

  7. 韩顺平细说Servlet视频系列之tom相关内容

    韩顺平细说Servlet视频系列之tom相关内容 tomcat部署项目操作(注意:6.0版本以后的支持该操作,5.x版本需要另外配置?待验证!) 项目发布到tomcat的webapps文件下,然后启动 ...

  8. jQuery实现页内查找相关内容

    当需要在页面中查找某个关键字时,一是可以通过浏览器的查找功能实现,二是可以通过前端脚本准确查找定位,本文介绍通过jQuery实现的页面内容查找定位的功能,并可扩展显示查找后的相关信息. 本文以查找车站 ...

  9. Struts2(四)——页面相关内容

    上篇博客总结了数据流转各个方面的内容,这篇重点说一下框架对于界面上知识. 一,说到页面,记得在总体介绍中,说到Struts2比Struts1的一方面优势就是它支持更多的视图技术(Freemarker, ...

  10. 学习笔记之html5相关内容

    写一下昨天学习的html5的相关内容,首先谈下初次接触html5的感受.以前总是听说html5是如何的强大,如何的将要改变世界.总是充满了神秘感.首先来谈一下我接触的第一个属性是  input的里面的 ...

随机推荐

  1. 从Delphi到Lazarus——安装最新版的Lazarus

    0.前言 在这篇文章里将会介绍以下内容: 下载最新版的Lazarus安装程序 安装Lazarus 安装整合IDE界面的软件包 编译运行你的第一个测试程序 结束语 1.下载最新版的Lazarus安装程序 ...

  2. openEuler欧拉安装指定版本的nodejs

    1. 安装nodejs dnf -y install nodejs npm config set registry https://registry.npmmirror.com -g npm conf ...

  3. VS Code 变身小霸王游戏机!

    在韩老师的<Visual Studio Code 权威指南>一书中,我向大家推荐了许多好用的插件,其中也不乏许多摸鱼插件,刷知乎.炒股票.看电影.听音乐.追番.看小说,一应俱全. 今天,就 ...

  4. Advanced .NET Remoting: 第 9 章 4.改变编程模型

    Advanced .NET Remoting: 第 9 章 4.改变编程模型 前面的所有连接器在 .NET Remoting 应用程序的服务器端和客户端两方面增强功能.可插拔的连接器架构不仅支持创建连 ...

  5. WSLg 中文输入法 fcitx5

    随着 Win11 22H2 和 WSLg 的推出,很多开启输入法的教程都过时了.记录一下最新实践: WSL 安装 Ubuntu 后,安装中文语言 sudo /usr/bin/gnome-languag ...

  6. bouncycastle(BC) 实现SM2国密加解密、签名、验签

    https://www.cnblogs.com/dashou/p/14656458.html SM2国密加解密一个类就够了 <dependency> <groupId>org. ...

  7. docker-compose.yml 使用说明

    docker-compose.yml 结构 docker-compose.yml文件分为三个主要部分:services.networks.volumes..services主要用来定义各个容器.net ...

  8. Vue cli 2.x 3.x及4.x区别

    原文链接: 1.Vue cli 2.x 3.x及4.x区别 2.vue-cli2.0/3.0/4.0创建项目的方式差异解读和vue-cli4.0打包命令和环境配置

  9. 『AutoHotkey』 效率提升「脚本集」

    AutoHotkey 效率提升脚本集 一些实用的 AutoHotkey 脚本示例,这些可以显著提升工作效率. #Requires AutoHotkey v2.0 ; 1. 快速启动常用程序 ^!n:: ...

  10. 在 Development 环境下依赖注入的行为可能有所不同

    奇怪的问题 本周被一个奇怪的问题困扰了一天.事情的起因是这样的:在某个 PR 合并后,我拉了最新代码,但是在我本地F5调试始终报错.示例代码如下: public interface Interface ...