评估你的评估结果

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

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

在生产中或大规模使用 LLM 评估模型之前,你需要先评估它在目标任务的表现效果如何,确保它的评分跟期望的任务表现一致。

注:如果评估模型的输出结果是二元分类,那么评估会相对简单,因为可使用的解释性分类指标有很多 (如准确率、召回率和精确率)。但如果输出是在某个范围内的分数,评估起来就会困难一些,因为模型输出和参考答案的相关性指标很难与分数映射的非常准确。

在选定 LLM 评估模型以及设计 prompt 之后,还需要:

1. 选择基线

你需要将选定模型的评估结果与基线对比。基线可以是很多种类型,如:人工标注结果、标准答案、其他表现良好评估模型的结果、其他 prompt 对应模型的输出,等等。

测试用例的数量不需要非常多 (50 个足矣),但必须极具代表性 (例如边缘用例)、区分性、并且质量足够高。

2. 选择评估指标

评估指标是用来比较评估结果和参考标准之间的差距的。

通常来说,如果比较对象是模型的二元分类或成对比较属性,评估指标计算起来就非常容易,因为一般使用召回率 (二元分类)、准确率 (成对比较)、和精确率作为评估指标,这些指标容易理解、且具有可解释性。

如果比较对象是模型得分与人类评分,则计算指标就会困难一些。如要深入理解可以阅读 这篇博客。

总的来说,如果你不清楚如何选择合适的评估指标或者评估模型,可以参考 这篇博客 中的 图表 。

3. 评估你的评估结果

这一步你只需用评估模型和测试 prompt 来评估在样本上的表现,拿到评估结果之后使用上一步选定的评估指标计算分数即可。

你需要确定一个阈值来决定结果归属,阈值大小取决于你的任务难度。例如成对比较任务的准确率指标可以设为 80% 到 95%,再比如评分排名任务的相关性指标,文献中经常使用 0.8 的皮尔逊相关系数,不过也有一些论文认为 0.3 足以表明与人工评估的相关性良好。所以标准不是死的,根据任务灵活调整吧!


> 英文原文: https://raw.githubusercontent.com/huggingface/evaluation-guidebook/refs/heads/main/translations/zh/contents/model-as-a-judge/evaluating-your-evaluator.md>

原文作者: clefourrier

译者: SuSung-boy

审校: adeenayakup

让 LLM 来评判 | 评估你的评估结果的更多相关文章

  1. MOOC学习成果认证及对高等教育变革路径的影响

    MOOC是网络开放教育创新发展的产物,也是备受人们欢迎的网络学习途径.当前制约MOOC能否可持续深入发展的问题聚焦于MOOC学习成果能否得到合理的认证.MOOC学习成果认证分为非学分认证和学分认证.M ...

  2. 数据库join方式分析

    前言    不管是博客园还是CSDN,看到很多朋友对数据库的理解.认识还是没有突破一个瓶颈 ,而这个瓶颈往往只是一层窗纸,越过了你将看到一个新世界.    04.05年做项目的时候,用SQL Serv ...

  3. Scala编程--基本类型和操作

    如果你熟悉Java,你会很开心地发现Java基本类型和操作符在Scala里有同样的意思.然而即使你是一位资深Java开发者,这里也仍然有一些有趣的差别使得本章值得一读.因为本章提到的一些Scala的方 ...

  4. Scala 编程(三)基本类型和操作

    一些基本类型 值类型 范围 Byte 8位有符号补码整数(-27-27-1) Short 16位有符号补码整数(-215-215-1) Int 32位有符号补码整数(-231-231-1) Long ...

  5. tensorflow estimator API小栗子

    TensorFlow的高级机器学习API(tf.estimator)可以轻松配置,训练和评估各种机器学习模型. 在本教程中,您将使用tf.estimator构建一个神经网络分类器,并在Iris数据集上 ...

  6. 【新业务搭建】竞争情报业务规划及体系构建的思考——By Team

    竞争情报业务规划.体系构建 一.竞争情报业务定位——“做什么” 一)业务愿景.目标和原则 愿景:将情报工作融入到公司各个业务中,成为业务活动的灯塔 目标:直接支撑标杆学习(间接支撑三大战略).直接支持 ...

  7. Tensorflow在CIFAR-10构建CNN

    使用Tensorflow在CIFAR-10二进制数据集上构建CNN 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 Tensorflow机器学习实战指南 利用Tensorflow读取 ...

  8. 数据集划分——train set, validate set and test set

    先扯点闲篇儿,直取干货者,可以点击这里. 我曾误打误撞的搞过一年多的量化交易,期间尝试过做价格和涨跌的预测,当时全凭一腔热血,拿到行情数据就迫不及待地开始测试各种算法. 最基本的算法是技术指标类型的, ...

  9. 有关 CMMI

    CMMI的全称为Capability Maturity Model Integration,即能力成熟度模型集成.CMMI是CMM模型的最新版本.早期的CMMI(CMMI-SE/SW/IPPD),SE ...

  10. 分布估计算法解决TSP问题

    分布估计算法解决旅行商问题(TSP) TSP问题(Traveling Salesman Problem,旅行商问题),由威廉哈密顿爵士和英国数学家克克曼T.P.Kirkman于19世纪初提出.问题描述 ...

随机推荐

  1. docker之网络与数据管理

    docker默认使用bridge(单主机互联)和overlay(可跨主机互联)两种网络驱动来进行容器的网络管理.如需要,还可以自定义网络驱动插件进行docker容器的网络管理. 1.docker默认网 ...

  2. Mybatis【10】-- Mybatis属性名和查询字段名不同怎么做?

    很多时候我们有这样的需求,数据库的字段名与实体类的属性名不一致,这个时候我们需要怎么做呢?有两种解决方案,第一种:直接在查询的时候使用别名,将别名设置成与实体类的属性名一致.第二种:使用resultT ...

  3. Vue第三方插件

    1.滚动条 vuescroll 引入插件 - 官网 <script src="https://unpkg.com/vuescroll"></script> ...

  4. Vue.js 过渡 & 动画

    1.前言 Vue动画/过渡的本质: 在通过v-if/v-show指令插入/移除/显示/隐藏某个标签元素时,在这个标签上包裹一个transition标签,Vue会为这个标签动态添加css类名,为这些类名 ...

  5. canvas(二)直线样式和虚线

    1.设置直线线帽的样式 相关语法:ctx.lineCap,通过赋值形式来设置直线线帽的样式,他有以下3个值: 值 说明 butt 默认 round 圆形线帽 square 正方形线帽 <scri ...

  6. Content-Type 的小知识

    起因 在某次开发中,前端发起了get请求,但是后端报错未设置Content-Type为"application-json":看到这条报错之后就直接在请求中设置了: export c ...

  7. 在CodeBolcks+wxWidgets+wxSmith下的C++编程教程——用向导创建一个wxWidgets项目(sTetris)

    0.前言 我想通过编写一个完整的游戏程序方式引导读者体验程序设计的全过程.我将采用多种方式编写具有相同效果的应用程序,并通过不同方式形成的代码和实现方法的对比来理解程序开发更深层的知识. 了解我编写教 ...

  8. git 报错 error: bad signature 0x00000000 fatal: index file corrupt

    index file在 git 里面一般指的是 .git/index 这个文件.这个文件保存的是暂存区的信息(索引信息). 报错说明这个文件已经损坏了 直接删除这个文件,然后执行如下命令 git re ...

  9. 用 erlang 描述 tcc

    Transaction 视为一个 Actor. start_transaction(Order) -> p1 = spawn(start_order(self, Order.subOrder1) ...

  10. 【微软】微软程序注册(zfile自建API)

    Zfile支持设置自己的回调地址,怎么设置呢? 参考:https://docs.zfile.vip/advanced/onedrive-api/ 上面文档写的很清楚了,我提醒两点 1.进入 https ...