让 LLM 来评判 | 选择 LLM 评估模型
基础概念
这是 让 LLM 来评判 系列文章的第一篇,敬请关注系列文章:
- 基础概念
- 选择 LLM 评估模型
- 设计你自己的评估 prompt
- 评估你的评估结果
- 奖励模型相关内容
- 技巧与提示
什么是评估模型?
评估模型 (Judge models) 是一种 用于评估其他神经网络的神经网络。大多数情况下它们用来评估生成文本的质量。
评估模型涵盖的范围很广,从小型的特定分类器 (例如 “垃圾邮件分类器”) 到大型的 LLM,或大而广、或小而专。使用 LLM 作为评估模型时,需要提供一个 prompt 来解释对模型评分的细则 (例如:请对语句流畅度从 0 到 5 评分,0 分表示完全不可理解,…)。
使用模型作为评估工具可以对文本中复杂和细微的特性有效的评估。
例如精确匹配预测文本和参考文本的任务,只能评估模型预测正确事实或数字的能力。但要评估更开放性的经验能力 (如文本流畅水平、诗词文学质量或输入忠实程度) 则需要更复杂的评价工具。
这就是评估模型最初的切入点。
它们通常用于三大任务。
- 为生成文本打分:使用预先定义的评分标准与范围来评估文本的某些属性 (如流畅度、有害性、一致性、说服力等)。
- 成对比较:对比模型的两个输出,以选出在给定属性上表现更好的文本。
- 计算文本相似度:用于评估参考文本和模型输出的匹配程度。
注:本文目前主要关注 LLM + prompt 的评估方法。不过建议你还是了解一下简单分类器评估模型的工作原理,因为这种方法在许多测试用例中都具有稳定的表现。最近也出现了一些新的有前景的方法,例如奖励模型作为评估模型 (在 这篇报告 中提出,本指南中也简单写了一篇 文章 介绍奖励模型)。
LLM 评估模型的优劣势:
优势:
- 客观性:与人类相比,LLM 评估模型在自动化地做出经验性判断时更加客观。
- 规模化和可复现:LLM 评估模型可以在非常大规模数据上做评估,并且评估结果可以复现。
- 成本较低:与支付人工标注员报酬相比,由于无需训练新模型,只要使用现有的高质量 LLM 和 prompt 就可以进行评价任务,因此评估模型成本较低。
- 与人类判断对齐:LLM 评估结果在一定程度上与人类的判断具有相关性。
劣势:
- LLM 评估模型看似客观,实际上具有更难被检测到的 隐藏偏差,这是因为我们无法主动地发掘这些偏差 (参考 [model-as-a-judge/Tips and tricks] 章节)。此外,缓解人类偏差可以通过设计一些内容具体或统计稳健的调查问卷的方式 (这在社会学领域已有近百年的研究),而缓解 LLM 偏差的方式就没那么成熟了。另外,使用 LLM 评估 LLM 可能会产生 “回音室效应”,即潜移默化地加强了模型的固有偏差。
- LLM 评估模型虽然具有规模化优势,但同时也会生成大量的数据需要仔细检查。例如模型可以生成思维路径或数据推理,但产生的结果需要更多的分析。
- LLM 评估模型在通常情况下便宜,但在某些具体任务中如需获取质量更高的评估结果而聘请专家级人工标注员,那么成本会相应增加。
如何开始?
- 如果你想尝试设置自己 LLM 评估模型,推荐阅读由 Aymeric Roucher 撰写的 LLM 评估模型指南 ()!
一些使用工具:distilabel 代码库,它能够基于 LLM 生成和迭代数据集。Ultrafeedback 论文 中提到的方法以及相应的 教程。Arena Hard 基准实现教程。
原文作者: clefourrier
译者: SuSung-boy
审校: adeenayakup
让 LLM 来评判 | 选择 LLM 评估模型的更多相关文章
- scikit-learn 中常用的评估模型
一,scikit-learn中常用的评估模型 1.评估分类模型: 2.评估回归模型: 二.常见模型评估解析: •对于二分类问题,可将样例根据其真实类别和分类器预测类别划分为:(T,F表示预测的 ...
- 【机器学习与R语言】12- 如何评估模型的性能?
目录 1.评估分类方法的性能 1.1 混淆矩阵 1.2 其他评价指标 1)Kappa统计量 2)灵敏度与特异性 3)精确度与回溯精确度 4)F度量 1.3 性能权衡可视化(ROC曲线) 2.评估未来的 ...
- 吴恩达老师机器学习课程chapter05——评估模型
吴恩达老师机器学习课程chapter05--评估模型 本文是非计算机专业新手的自学笔记,高手勿喷. 本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第十章.第十一章. 目录 吴恩 ...
- 【数学建模】day14-建立GM(1,1)预测评估模型应用
学习建立GM(1,1)灰色预测评估模型,解决实际问题: SARS疫情对某些经济指标的影响问题 一.问题的提出 2003 年的 SARS 疫情对中国部分行业的经济发展产生了一定影响,特别是对部分 疫情较 ...
- Spark Mllib里决策树回归分析使用.rootMeanSquaredError方法计算出以RMSE来评估模型的准确率(图文详解)
不多说,直接上干货! Spark Mllib里决策树二元分类使用.areaUnderROC方法计算出以AUC来评估模型的准确率和决策树多元分类使用.precision方法以precision来评估模型 ...
- Spark Mllib里决策树二元分类使用.areaUnderROC方法计算出以AUC来评估模型的准确率和决策树多元分类使用.precision方法以precision来评估模型的准确率(图文详解)
不多说,直接上干货! Spark Mllib里决策树二元分类使用.areaUnderROC方法计算出以AUC来评估模型的准确率 具体,见 Hadoop+Spark大数据巨量分析与机器学习整合开发实战的 ...
- R_Studio(cart算法决策树)对book3.csv数据用测试集进行测试并评估模型
对book3.csv数据集,实现如下功能: (1)创建训练集.测试集 (2)用rpart包创建关于类别的cart算法的决策树 (3)用测试集进行测试,并评估模型 book3.csv数据集 setwd( ...
- 吴裕雄 python 机器学习——模型选择学习曲线learning_curve模型
import numpy as np import matplotlib.pyplot as plt from sklearn.svm import LinearSVC from sklearn.da ...
- sklearn 模型选择和评估
一.模型验证方法如下: 通过交叉验证得分:model_sleection.cross_val_score(estimator,X) 对每个输入数据点产生交叉验证估计:model_selection.c ...
- 28. ClustrixDB 分布式架构/评估模型
本节描述如何在数据库中计算查询.在ClustrixDB中,我们跨节点切片数据,然后将查询发送到数据.这是数据库的基本原则之一,它允许随着添加更多节点而几乎线性地扩展. 有关如何分布数据的概念,请参阅数 ...
随机推荐
- rce临时文件上传[RCE1]P8
rce临时文件上传[RCE1]P8 /[A-Za-z0-9!~^|&]+/i 匹配了我能想到的所有绕过方法,想到临时文件上传,是否可以执行/tmp/?????????这个文件呢 /tmp/?? ...
- common-dbutils的使用
1. 介绍 commons-dbutils是Apache组织提供的一个开源 JDBC工具类库,能让我们更简单的使用JDBC.它是一个非常小的类包,花几分钟的时间就能掌握它的使用. 2. ...
- 使用 Apache MINA 开发高性能网络应用程序
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络 ...
- golang之http请求库go-resty
github: https://github.com/go-resty/resty go-resty 特性# go-resty 有很多特性: 发起 GET, POST, PUT, DELETE, HE ...
- 解析HTML字符串成AST树
1. 如何将一个字符传转换成一个AST树结构. 直接上代码: const attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:" ...
- @EnableAutoConfiguration 标签使用
@EnableAutoConfiguration 这个注解的作用是: 从classpath中搜索所有META-INF/spring.factories配置文件然后,将其中org.springframe ...
- canvas(七)绘制网格和坐标轴
1.绘制网格 传入dom和分割线间隔进行渲染,网格线分为水平方向和垂直方向 <script> //绘制网格 function drwaGrid(dom = document.querySe ...
- 销讯通-CRM系统的功能远远不止于用来打卡
在信息化的过程中,CRM系统其实很多企业都在用,最开始的设想是很好的,大家用着之后发现它可能最终只会沦为一个上班打卡考核或者是最基础的一个签到工具了,没有发挥它应有的一个功能. 最基础的一个诉求 我们 ...
- cryptohack RSA部分
1.Salty: 此题为rsa加密中e=1的情况,由于\(ed(mod phi)=1\),所以d自然是等于1的,不用分解n就解出了d from Crypto.Util.number import lo ...
- C# 学习笔记 0415
关于零碎的知识笔记总结,你可能需要知道的 一.Linq相关 Find()和First()与FirstOrDefault Find方法只能在List上使用,而后者能更广泛应用在IEnemerable上. ...