让 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 海量数据存储架构 一.什么是大型网站运 ... 
随机推荐
- 青少年学习C++参考视频
			09C++选择结构(3) 第20课 初识算法 第21课 3个数排序 第22课 随机函数rand 第23课 if语句的应用 第24课 bug与debug 10C++选择结构(4) 第25课 成绩等级 第 ... 
- JVM 语言的探索发现
			又在 WIKI 上溜达了一下 https://en.wikipedia.org/wiki/List_of_JVM_languages,有一些新的发现: ColdFusion Markup Langua ... 
- 【C#】【平时作业】习题-2-数据类型运算符表达式
			目录 1.请设计程序,验证算数运算符和赋值运算符. Int a,b,c C=a+b += privatevoid button1_Click(object sender, EventArgse) { ... 
- [转]OpenSSL主配置文件openssl.cnf
			https://www.cnblogs.com/f-ck-need-u/p/6091027.html openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/ ... 
- gitlab16 gitlab-runner
			gitlab-runner verify --delete FederatedKMeansSecureModelInference gitlab-runner register --url http ... 
- 第 5 章 Debian 系统中可用的软件
			目录 5.1. Debian GNU/Linux 收录了哪些类型的应用程序和开发工具? 5.2. 谁编写了所有这些软件? 5.3. 我应该如何获得一份 Debian 打包的程序的最新列表? 5.4. ... 
- 龙哥量化:注册simnow上期所的期货仿真模拟交易账户教程步骤
			永远顺着趋势交易 在技术分析这种市场研究方法中,趋势的概念绝对是核心内容.分析师所使用的全部工具, 诸如支撑和阻挡水平.价格形态.移动平均线.趋势线等等,其唯一的目的就是辅助我们估量市场趋势, 从而顺 ... 
- Qt/C++音视频开发64-共享解码线程/重复利用解码/极低CPU占用/画面同步/进度同步
			一.前言 共享解码线程主要是为了降低CPU占用,重复利用解码,毕竟在一个监控系统中,很可能打开了同一个地址,需要在多个不同的窗口中播放,形成多屏渲染的效果,做到真正的完全的画面同步,在主解码线程中切换 ... 
- Qt采集本地摄像头推流成rtsp/rtmp(可网页播放/支持嵌入式linux)
			一.功能特点 支持各种本地视频文件和网络视频文件. 支持各种网络视频流,网络摄像头,协议包括rtsp.rtmp.http. 支持将本地摄像头设备推流,可指定分辨率和帧率等. 支持将本地桌面推流,可指定 ... 
- Qt安卓开发经验011-020
			安卓中一个界面窗体对应一个Activity,多个界面就有多个Activity,而在Qt安卓程序中,Qt这边只有一个Activity那就是QtActivity(包名全路径 org.qtproject.q ... 
