让 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 来评判 | 基础概念的更多相关文章
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- TCP/IP基础概念及通信过程举例
TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...
- Jmeter基础之---jmeter基础概念
Jmeter基础之---jmeter基础概念 JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. JMeter 介绍: 一个非常优 ...
- 快速入门系列--WCF--01基础概念
转眼微软的WCF已走过十个年头,它是微软通信框架的集大成者,将之前微软所有的通信框架进行了整合,提供了统一的应用方式.记得从自己最开始做MFC时,就使用过Named Pipe命名管道,之后做Winfo ...
- 理解 angular2 基础概念和结构 ----angular2系列(二)
前言: angular2官方将框架按以下结构划分: Module Component Template Metadata Data Binding Directive Service Dependen ...
- JavaBean 基础概念、使用实例及代码分析
JavaBean 基础概念.使用实例及代码分析 JavaBean的概念 JavaBean是一种可重复使用的.且跨平台的软件组件. JavaBean可分为两种:一种是有用户界面的(有UI的):另一种是没 ...
- RabbitMQ基础概念详细介绍
http://blog.csdn.net/column/details/rabbitmq.html 转至:http://www.ostest.cn/archives/497 引言 你是否遇到过两个(多 ...
- linux设备驱动归纳总结(二):模块的相关基础概念【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-59415.html linux设备驱动归纳总结(二):模块的相关基础概念 系统平台:Ubuntu 10 ...
- linux设备驱动归纳总结(一)内核的相关基础概念【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-59413.html linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxx ...
- 什么是JavaScript闭包终极全解之一——基础概念
本文转自:http://www.cnblogs.com/richaaaard/p/4755021.html 什么是JavaScript闭包终极全解之一——基础概念 “闭包是JavaScript的一大谜 ...
随机推荐
- PHP调用Python无返回或提示No Module
问题:自己通过命令行执行python正常,但通过php调用就没有反应.解决方法:1.首先检查一下php有没有执行权限,简单粗暴的:sudo chmod 777 xxx.php2.Python如果有中文 ...
- My SQL 列转行操作
原表结构如下,我们可以发现,"日运输量"和"车次"是在同一张表中相互独立的两个字段,即独立的两列数据,下面,我将系统中的测试数据以及代码全部放出来,以解释列转行 ...
- 0基础读顶会论文—Kappa:一种用于无服务器计算的编程框架
原文链接 代码:快速使用kappa 首先的首先,可以先去了解一下lambda架构 Abstract 在本文中提出了Kappa,一个简化无服务器开发的框架.它使用检查点来处理lambda函数超时,并提供 ...
- 《机器学习实战》(Machine Learning in Action)
地址: https://www.manning.com/books/machine-learning-in-action 代码地址: https://www.manning.com/downloads ...
- 新手入门Java自动化测试的利器:Selenium WebDriver
今天我们将深入探讨一款强大的Java自动化测试工具--Selenium WebDriver.在正式介绍Selenium WebDriver之前,让我们首先对Selenium本身进行简要概述,以便更好地 ...
- Lua语法基础教程(上篇)
今天我们来学习Lua语法基础教程.由于篇幅过长,将分为上中下三篇进行讲解,本篇为上篇. 一.初识Lua Lua 是一种轻量小巧的脚本语言,它用标准C语言编写并以源代码形式开放.这意味着什么呢?这意味着 ...
- 如何把composer版本降下来
如果想把composer从2版本降到1版本 composer self-update 1.4.1 如果想降到1版本 composer self-update --1
- tsconfig配置详解
{ "compilerOptions": { /* Basic Options */ "target": "es5" /* target用于 ...
- SpringFlex框架搭建
或者参考http://limingnihao.iteye.com/blog/830409.使用Eclipse的Maven构建SpringMVC项目. 1.1 简单介绍 Spring是一个轻量级的控制反 ...
- 通过jconsole查看tomcat运行情况的配置方法——基于JDK1.5、Linux(Redhat5.5)、Tomcat6
由于项目的原因,需要使用jconsole对tomcat进行远程监控,结合网上的资料对配置方法进行了总结. 第一步.配置tomcat 打开%TOMCAT_HOME%/bin下的文件catalina.sh ...