让 LLM 来评判 | 设计你自己的评估 prompt
设计你自己的评估 prompt
这是 让 LLM 来评判 系列文章的第三篇,敬请关注系列文章:
- 基础概念
- 选择 LLM 评估模型
- 设计你自己的评估 prompt
- 评估你的评估结果
- 奖励模型相关内容
- 技巧与提示
通用 prompt 设计建议
我总结的互联网上通用 prompt 的通用设计原则如下:
- 任务描述清晰:
Your task is to do X (你的任务是 X).You will be provided with Y (你拿到的信息是 Y).
- 评估标准精细,评分细则详尽 (如有必要):
You should evaluate property Z on a scale of 1 - 5, where 1 means ... (根据属性 Z 的表现进行评分,评分范围为 1 - 5,其中 1 分表示 ...)You should evaluate if property Z is present in the sample Y. Property Z is present if ... (请指出样本 Y 中是否具备属性 Z,如果具备,那么 ...)
- 加入一些 “推理” 评估步骤
To judge this task, you must first make sure to read sample Y carefully to identify ..., then ... (评估此任务之前,请先仔细阅读样本 Y,识别出 ...,然后再 ...)
- 输出格式明确 (添加特定字段可以提升一致性)
Your answer should be provided in JSON, with the following format {"Score": Your score, "Reasoning": The reasoning which led you to this score} (以 JSON 格式回答,格式为 {"Score": 评分, "Reasoning": 评分推理过程})
Prompt 书写灵感可以参考 MixEval 或 MTBench 的 prompt 模板。
其他要点:
- 成对比较比对输出评分更能反映人类的偏好,且通常更稳健
- 如果任务确实需要对输出评分为具体的值,建议使用整数,并详细解释 每个分值的代表含义,或添加说明 prompt
如 provide 1 point for this characteristic of the answer, 1 additional point if ... (回答具备某项特性得 1 分,如果 ... 再加 1 分)等 - 尽量每评估一项能力就使用专门评分 prompt,会得到更好而鲁棒的结果
提升评估准确性
可以通过以下方式或技术来提升评估准确性 (有可能会增加成本):
- Few-shot 示例:提供少量示例可以帮助模型理解和推理,但也会增加上下文长度。
- 引用参考:提供参考内容可以提高模型输出的准确性。
- *思维链 (CoT):要求模型 在评分之前 给出推理过程,可以 提高准确性 (参考这篇 帖子)。
- 多轮分析:可以更好地 检测事实性错误
- 陪审团机制:汇总多个评价模型的结果 比单一模型的结果更好。
- 使用多个小模型替代一个大模型可以大幅降低成本。
- 也可以使用一个模型的多个温度参数来进行多次实验。
- 社区意外发现,prompt 引入奖励机制 (
例如:回答正确将得到一只小猫) 可以提高回答正确性。这个方法的效果视场景而异,你可以根据需求灵活调整。
注:如要减少模型偏见,可以参考社会学中的问卷设计,然后根据使用场景来书写 prompt。如想使用模型来替代人工评估,可以设计类似的评价指标:如计算标注员一致性,使用正确的问卷方法来减少偏见等。
不过在实际应用中,大多数人并不需要完全可复现且高质量无偏的评估,快速且略显粗糙的 prompt 就能满足需求。(只要知悉使用后果,这种情况也是能接受的)。
原文作者: clefourrier
译者: SuSung-boy
审校: adeenayakup
让 LLM 来评判 | 设计你自己的评估 prompt的更多相关文章
- 【转】 FPGA设计的四种常用思想与技巧
本文讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作.串并转换.流水线操作.数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作 ...
- FPGA/CPLD设计思想与技巧
本文讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作.串并转换.流水线操作.数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作 ...
- FPGA高级设计——时序分析和收敛(转)
何谓静态时序分析(Static Timing Analysis,简称STA)? 它可以简单的定义为:设计者提出一些特定的时序要求(或者说是添加特定的时序约束),套用特定的时序模型,针对特定的电路进行分 ...
- FPGA设计思想与技巧(转载)
题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...
- 数字IC设计工程师的知识结构
刚毕业的时候,我年少轻狂,以为自己已经可以独当一面,庙堂之上所学已经足以应付业界需要.然而在后来的工作过程中,我认识了很多牛人,也从他们身上学到了很多,从中总结了一个IC设计工程师需要具备的知识架构, ...
- 对Verilog 初学者比较有用的整理(转自它处)
*作者: Ian11122840 时间: 2010-9-27 09:04 ...
- 内存中 OLTP - 常见的工作负荷模式和迁移注意事项(二)
----------------------------我是分割线------------------------------- 本文翻译自微软白皮书<In-Memory OLTP – Comm ...
- OMNET++工具的使用(2)
http://blog.csdn.net/codingkid/article/details/7085214 首先解决一些概念上的问题: 1. 在omnetpp.org中提到的仿真模型和框架与OMNe ...
- MySQL 请选择合适的列! 转载(http://www.cnblogs.com/baochuan/archive/2012/05/23/2513224.html)
点击图片,可查看大图. 介绍 情况:如果你的表结构设计不良或你的索引设计不佳,那么请你优化你的表结构设计和给予合适的索引,这样你的查询性能就能提高几个数量级.——数据越大,索引的价值越能体现 ...
- 转:linux运维工程师
运维中关键技术点解剖:1 大量高并发网站的设计方案:2 高可靠.高可伸缩性网络架构设计:3 网站安全问题,如何避免被黑?4 南北互联问题,动态CDN解决方案:5 海量数据存储架构 一.什么是大型网站运 ...
随机推荐
- AT_kupc2019_g ABCのG問題题解
这题的难度不怎么好说,不过我认为还是挺简单的. 我们可以把答案看成由多个子图构成的图,这样我们只需要手打一个小子图,从中推出完整的答案. - 把小于子图范围的地方填上子图的字母 - 如果这个点的横坐标 ...
- AOP中动态代理详解
动态代理概述 什么是代理 代理模式(Proxy pattern): 为另一个对象提供一个替身或占位符以控制对这个对象的访问 什么是动态代理? 动态代理就是,在程序运行期,创建目标对象的代理对象,并对目 ...
- 【转载】 《SpringBoot2.0 实战》系列-集成Quartz定时任务(持久化到数据库)
https://blog.csdn.net/HXNLYW/article/details/95055601 一.增加依赖 我们使用的spring-boot-starter-quartz,所以不用显示指 ...
- Java 中的这个绝对值有点不绝对啊!
现象 假如有如下代码定义了一个方法 test(),它入参可以任何一个 int 类型的整数,那么它输出结果可能是什么? public class Test { public static void te ...
- Qt编写物联网管理平台50-超强跨平台
一.前言 跨平台的需求,除了是用户的需求外,也是为了适应日益增长的国产操作系统的发展的需要,当前国产操作系统发展的如火如荼,100%都是围绕linux系统展开,说的好听点就是站在巨人的肩膀上开发,不好 ...
- Qt编写可视化大屏电子看板系统19-横向柱状图
一.前言 横向柱状图的绘制这玩意当初还着实花费了一些时间,因为从v1版本开始,默认XY坐标轴是没有交换位置的处理的,也只有垂直的柱状图,要想换成横向的柱状图必须是自己拿到数据重新绘制,数据值的设置一般 ...
- DVWA靶场JavaScript Attacks漏洞low(低),medium(中等),high(高),impossible(不可能的)所有级别通关教程
JavaScript Attacks (前端攻击) JavaScript Attacks(前端攻击)漏洞通常涉及利用Web应用程序中的安全漏洞,特别是在JavaScript代码的使用和实现上,从而对用 ...
- 更改高通xbl串口log波特率
本修改基于高通QCM6125平台,目的是为了满足客户无聊的需求. 注意事项: 基准时钟频率需要是硬件和驱动支持的频率,时钟频率和分频系数可以从AP侧驱动中找到 最低分频系数需要满足分频公式(能够被整除 ...
- 记录vue和element-ui导出表格到excell
1.安装插件 npm install 'file-saver' npm install 'xlsx' 2.引入插件 import FileSaver from 'file-saver' import ...
- Python库房管理系统开发指南
在现代仓储管理中,高效.准确的信息系统是提高运营效率的关键.Python作为一种强大且易于学习的编程语言,非常适合用来开发简易而功能齐全的库房管理系统.本文将详细介绍如何使用Python编写一个基本的 ...