当前位置: 首页 > article >正文

吴恩达:构建自动化评估并不需要大量投入,从一些简单快速的示例入手,然后逐步迭代!

吴恩达老师又来信了。

这次他分享了一个重要观点:构建自动化评估并不需要大量投入。从一些简单快速的示例入手,然后逐步迭代!

以下是我对原文的翻译:


亲爱的朋友们:

我注意到,许多生成式 AI 应用项目在系统输出的自动化评估(evals)方面投入得较晚,团队往往更长时间依赖人工检查和判断输出。这主要是因为大家普遍认为,构建评估体系是一项巨大的前期投入(例如需要创建 100 或 1000 个样本,并设计和验证评估指标),总是难以找到合适的时机来承担这笔成本。因此,团队更倾向于依赖人工评判,而不是花时间搭建自动化评估体系。

对此,我建议大家将评估体系的建设视为一个持续迭代的过程。完全可以先做一个简单的原型(比如只用 5 个样本,指标也不完善),然后逐步完善。这样可以让评估的负担逐渐从人工转向自动化。

我曾经写过关于创建评估体系的重要性和挑战。比如,你正在开发一个能够用自然语言回复用户的客服机器人。由于没有唯一正确答案,许多团队每次系统更新后都要让人工反复检查几十个输出样本,以判断系统是否有提升。虽然像“让大模型充当评委”这样的技术很有帮助,但要用好它们(比如如何设计提示词、给评委多少上下文等)其实很有讲究。这些因素都让大家觉得,构建自动化评估体系需要很大的前期投入。

其实,完全可以先做一个只覆盖部分维度、不完整、甚至有噪声的评估体系,然后逐步完善。它们可以作为人工评估的补充,而不是替代。随着时间推移,你可以不断调整评估方法,让它的输出结果越来越接近人工判断。例如:

  • 可以只用很少的样本集(比如 5 个),然后逐步增加;如果发现某些样本太简单或太难、不利于区分系统版本,也可以删掉它们。
  • 可以先只评估你关心的某一部分性能,或者只衡量一些你认为与整体表现相关但并不完全等同的细节。比如,在某个对话节点,你的客服机器人应该(1)调用 API 退款,(2)给用户生成合适的回复。你可以先只评估它是否正确调用了 API,而不管回复内容。又比如,某个节点机器人应该推荐某个产品,你可以先只看它是否提到了该产品,而不管具体怎么说。

只要评估体系的输出和整体表现有相关性,起步时只衡量部分内容是完全可以接受的。

因此,开发过程其实包含两个可以并行进行的迭代循环:

  • 针对系统本身迭代,让它在自动化评估和人工判断的共同衡量下不断提升;
  • 针对评估体系迭代,让它的结果越来越贴近人工判断。

和 AI 领域的许多事情一样,我们往往第一次做不会就做对。所以,最好是先快速搭建一个端到端的系统,然后再不断完善。我们已经习惯了用这种方式开发 AI 系统,评估体系也可以这样做。

对我来说,一个成功的评估体系应满足以下标准。假设你有系统 A,想通过调整得到系统 B:

  • 如果 A 明显优于 B(由有经验的人工评委判断),评估体系也应给 A 明显高于 B 的分数;
  • 如果 A 和 B 表现相近,评估分数也应相近。

每当系统 A 和 B 的人工判断与评估体系的结果相矛盾时,这就是评估体系的“错误”,我们就应该调整它,让它能正确区分 A 和 B。这和机器学习算法的错误分析类似,只不过我们关注的是评估体系的“错误”——比如它错误地对比了两个系统的优劣,导致无法帮助我们做出选择。

完全依赖人工判断是项目初期的好方法。但对许多团队来说,尽早做一个原型评估体系并不断迭代,可以让你更早地用上自动化评估,从而加快进展。

继续加油!

Andrew(吴恩达)

原文链接:We Iterate on Models. We Can Iterate on Evals, Too

如果觉得文章对你有帮助,👏 欢迎点赞、分享、推荐。

欢迎关注,一起学习 AI。

http://www.lryc.cn/news/2397794.html

相关文章:

  • 鸿蒙OSUniApp内存管理优化实战:从入门到精通#三方框架 #Uniapp
  • Vue-5-基于JavaScript和plotly.js绘制数据分析类图表
  • UI自动化测试的革新,新一代AI工具MidScene.js实测!
  • StarRocks的几种表模型
  • 4. Qt对话框(2)
  • 2025-5-31-C++ 学习 字符串(终)
  • Android Studio 2022.2.1.20 汉化教程
  • 第17讲、odoo18可视化操作代码生成模块
  • golang -- slice 底层逻辑
  • SOC-ESP32S3部分:26-物联网MQTT连云
  • 从前端工程化角度解析 Vite 打包策略:为何选择 Rollup 而非 esbuild。
  • 三层架构 vs SOA vs 微服务:该选谁?
  • 制造业的未来图景:超自动化与劳动力转型的双重革命
  • 使用Haproxy搭建Web群集
  • 【Unity】相机 Cameras
  • 如何在 Solana 上发币,并创建初始流动性让项目真正“动”起来?
  • C++.凸包算法
  • C++ 游戏开发详细流程
  • 核心机制:滑动窗口
  • 苹果电脑深度清理,让老旧Mac重焕新生
  • Hadoop复习(一)
  • 微服务面试(分布式事务、注册中心、远程调用、服务保护)
  • 高性能MYSQL(三):性能剖析
  • Go 语言中的 panic 详解
  • mysql(十四)
  • 工业物联网中的事件驱动采样架构及优化
  • 基于 HT for Web 的轻量化 3D 数字孪生数据中心解决方案
  • JavaScript 性能优化:从入门到实战
  • 启动metastore时报错MetaException(message:Version information not found in metastore
  • Spring 中 @Value 注解多实例配置方案详解