跳到正文
DEV Community· cognitalk·· 3 小時前AI 評分64

Mahmoud Mabrouk 的 GEPA 實戰指南:校準及優化 LLM 評估器

Judge the Judge: Building LLM Evaluators That Actually Work with GEPA — Mahmoud Mabrouk, Agenta AI | 构建真正有效的LLM评估器:从校准到优化 —— 使用GEPA算法实战指南

AI 導讀

Mahmoud Mabrouk 的演講以 Towbench 航空公司客服智能體數據,示範如何用 GEPA 迭代優化 LLM 評估器提示詞,使評估結果貼近人類標註。文中報告優化後的驗證集準確率為 74%,並改善了不合規項目的召回率和精確率。演講亦指出,效果取決於標註資料、種子提示詞及反思模板,小規模實驗的 Token 費用也可能達 $200-$300。

正文

cognitalk


https://www.youtube.com/watch?v=X4dEHRzBLmc

构建真正有效的LLM评估器:从校准到优化 —— 使用GEPA算法实战指南

通俗易懂的整体解释

这篇演讲的核心,就像它的标题“Judge the Judge”(评判裁判)一样,讲的是:我们如何训练一个AI裁判(LLM as a judge),让它能像人类专家一样,公平、准确地评判另一个AI(比如客服机器人)的表现好坏。

想象一下,你开发了一个AI客服机器人。为了知道它干得好不好,你不能每次都找真人来看聊天记录打分,那样太慢了。于是你找了个现成的AI裁判来帮忙。但这个AI裁判可能是个“糊涂蛋”,它给出的评价和人类的判断常常不一致,导致你以为机器人表现不错,客户却在抱怨。

这篇演讲就是教你一套方法,来解决这个“糊涂裁判”的问题。作者用了一个叫 GEPA 的算法,像一个“教练”一样,去不断调整和优化AI裁判的“判罚标准”(也就是提示词Prompt),让它最终能和人类的判断保持一致。

关键要点:

  • 问题:现成的AI裁判(LLM as a judge)经常不准,和人类评价不一致。
  • 目标:打造一个经过“校准”(Calibrated)的AI裁判,使其判断结果与人类专家的判断高度吻合。
  • 方法:使用一种名为 GEPA 的提示词优化算法,像训练运动员一样,通过迭代和反馈,让AI裁判学会正确的“判罚规则”。
  • 核心步骤:
    1. 定义标准:先想清楚你要评判AI的哪些方面(比如是否遵守政策、语气是否合适)。
    2. 准备教材:找一些AI机器人的真实对话案例,并请人类专家给出标准答案和理由。
    3. 训练裁判:用GEPA算法,以上述案例为“教材”,反复优化AI裁判的提示词。
    4. 检验成果:用新的案例来测试优化后的AI裁判,看它的判断是否更接近人类了。
  • 重要提醒:这个方法并非一键傻瓜式操作,需要精心准备高质量的数据,并且可能需要多次尝试和调整参数才能达到理想效果,同时也要注意计算成本。

全文内容分段与详细要点

第一部分:开场与问题引入(0% - 10%)

  1. 演讲主题介绍

    • 演讲的主题是“Judge the Judge”(评判裁判),具体内容是探讨如何构建一个真正有效的“LLM as a judge”(将大语言模型用作评估器)。
    • 演讲者以一个常见的工程困境开场:团队在生产环境中部署了一个AI智能体(Agent),并用现成的LLM评估器来监控其可靠性。表面上看起来一切正常,但客户的反馈却表明智能体表现不佳。
  2. 揭示现有LLM评估器的缺陷

    • 深入检查后发现,这些现成的LLM评估器通常只是依赖一个简单的提示词(Prompt),例如“判断给定的LLM输出是否存在幻觉”。这种方法是无效的,因为如果LLM自己能判断是否产生幻觉,那最初的应用就不会出错了。
    • 因此,演讲的核心目标是:构建经过“校准”的LLM评估器。“校准”在这里指的是与人类的人工标注(Human Annotation)对齐。实现校准的方法是使用提示词优化,具体算法是 GEPA。

第二部分:为何需要好的LLM评估器(10% - 20%)

  1. 加速离线评估循环

    • 在开发和优化AI智能体或提示词时,典型的工作流程是:实验 -> 运行评估 -> 根据结果改进 -> 再次实验。这个循环的速度决定了产品迭代的快慢。
    • 这个循环的瓶颈在于评估环节。人工评估速度最慢但质量高;使用LLM评估速度快,但如果评估结果与人类判断不相关,就会产生无用的信号,导致循环虽快但方向错误。
    • 因此,拥有一个与人类评估质量相似的、经过校准的LLM评估器,可以极大地加快开发速度。
  2. 赋能在线评估

    • 回到开头的例子,在生产环境中,我们需要一个在线评估系统来判断新版本是否更好,或者用户交互模式是否发生了变化。
    • 如果LLM评估器是与业务目标(即人类期望)校准过的,就能快速、可靠地检测到这些变化,从而迅速做出反应。
  3. 构建数据飞轮(终极目标)

    • AI工程的终极目标是建立一个“数据飞轮”:优化智能体 -> 观察运行轨迹 -> 基于发现的边缘案例添加新的评估 -> 再次优化。
    • 有了快速可靠的自动评估,就可以加速这个循环,甚至使其自动化。例如,可以用GEPA优化智能体本身,也可以用同样的思路优化评估器。随着时间的推移,应用程序会随着新的观测数据而自我改进。

第三部分:演讲者介绍与计划(20% - 25%)

  1. 演讲者背景

    • 演讲者是Mahmud,Agenta公司的联合创始人兼CEO。Agenta是一个开源的大语言模型运维(LLMOps)平台,提供从可观测性、提示词管理到评估的全套工具,旨在帮助构建可靠的AI智能体。
    • 他有超过15年的机器学习经验,早期从事学术研究,专注于计算生物学和蛋白质结构预测。目前主要研究采样和自动优化工作流。
  2. 本次演讲的计划

    • 将围绕一个实际用例展开:一个客户支持智能体。
    • 目标是为此智能体构建一个与人类标注校准过的LLM评估器。
    • 计划涵盖的步骤:设计指标 -> 数据整理与标注 -> 使用GEPA优化LLM评估器(重点) -> 验证结果。
    • 所有代码和数据都会在GitHub上公开。

第四部分:数据集与工作流概览(25% - 35%)

  1. 使用的数据集:Towbench

    • Towbench是由Sierra公司(一家做客户支持的初创公司)创建的大型基准数据集,包含多个现实世界场景下的客户支持智能体数据。
    • 本演讲使用的是其中的“航空公司智能体”数据集。该智能体拥有多种工具(管理预订、查询航班信息、用户信息等),并需遵循一套复杂的政策。
    • 数据集包含599条对话轨迹及其对应的人类标注。标注内容包括智能体是否合规以及原因。例如,“不合规,因为它在未确认预订符合取消规则的情况下就批准了取消。”
    • 数据分布:62%合规,38%不合规。数据由多种模型和试验生成,存在一些瑕疵和不平衡,但很适合用来演示GEPA的实际效果。
  2. 工作流的四个步骤

    • 第一步:设计指标。决定LLM评估器要衡量什么,有哪些不同的维度。
    • 第二步:标注数据。
    • 第三步:优化评估器。
    • 第四步:验证结果。
  3. 关键洞察:指标应源于业务

    • 评估指标必须来自具体的业务用例,而不是使用像“幻觉”这样笼统的指标。确定这些指标的最佳人选是领域专家。
    • 演讲者推荐了Ham Dev提出的“错误分析”工作流:让领域专家查看对话轨迹,先评论好坏,再逐步聚类出错误类型。
    • 在本例中,演讲者发现了四种错误类型:政策遵守、回应风格、信息传递、工具调用。他将为这四种类型分别构建LLM评估器。
    • 重要建议:将评分从1-5分制简化为二元判断(如“是否遵守政策”),并附上推理过程。因为即使是人类标注员,也很难在1-5分的尺度上达成一致,而校准一个二元分类的LLM评估器已经很有挑战性。

第五部分:数据标注与优化准备(35% - 45%)

  1. 数据标注实践

    • 在定义了指标后,开始进行标注。演讲者使用Agenta平台创建标注队列,让标注员对每条轨迹给出“政策遵守”与否的判断和推理过程。
    • 推理过程至关重要。没有它,优化算法很难自己发现失败的原因,尤其是在像“政策遵守”这样复杂的问题上。
  2. 强调数据与标注的重要性

    • 尽管演讲快速带过了前两步,但这实际上是整个过程中最困难的部分。获取高质量数据是所有数据科学家的共识。
    • 必须仔细检查数据和标注,确保分布良好、信息充足,足以让算法学到有意义的表征。
    • 本例中的数据并不完美:数量少、问题复杂、分布不均、标注也是AI生成的(基于原始数据中的断言)。这使得问题更具挑战性,但也更能展示方法的有效性。
  3. GEPA算法简介

    • GEPA是一种类似于遗传算法的优化算法。
    • 基本流程:从一个初始提示词(种子)开始 -> 每次迭代生成新的候选提示词 -> 评估它们的效果 -> 筛选出好的候选 -> 进入下一轮迭代。
    • 生成新候选的两个策略:
      • 提示词变异:让一个LLM反思现有提示词的失败案例,并提出改进版。
      • 提示词合并:将两个表现不错的提示词合并成一个。
    • 筛选策略:帕累托前沿:不是简单地选择平均得分最高的提示词,而是寻找一组能够覆盖所有不同任务的提示词。例如,对于每个测试案例,至少有一个候选提示词能完美解决它。这保证了提示词集合的多样性。
    • 重复上述过程,直到达到预设的计算预算。最终目标是得到一个能解决所有训练任务的单一提示词。

第六部分:实际优化过程与代码演示(45% - 70%)

  1. 使用的库和API

    • 推荐使用GAPA库的新接口 optimize_anything,它不仅能优化提示词,还能优化几乎任何算法配置。
    • 该API需要传入:种子候选(要优化的配置,如提示词+温度)、评估器(运行候选并返回结果的函数)、以及其他配置(如每轮迭代次数)。
  2. 准备工作与数据加载

    • 安装必要的库(litellm, gapa)。
    • 加载预处理过的Towbench数据,并划分为训练集(480条)和验证集(112条)。数据分布大致为2/3合规,1/3不合规。训练集和验证集之间没有重叠的任务。
    • 展示了标注数据的格式,强调了标注的推理过程对于学习复杂政策的重要性。
  3. 种子提示词的设计

    • 演讲者发现种子提示词非常重要。他设计的种子提示词的核心思想是:“默认假设智能体是合规的,除非有明确的理由证明它不合规”。
    • 这种做法是为了消除LLM自身的偏见,给它一个合理的起点。如果一开始就让LLM自己去判断,它可能会随机猜测,后续很难纠正。
    • 使用这个种子提示词在验证集上的初始准确率是61%,但它98%的判断都是“合规”,虽然准确率不高,但偏差方向是正确的。
  4. 关键的“反思模板”

    • 演讲者没有使用GAPA的默认反思模板,而是自定义了一个,因为默认模板效果不佳。
    • 他在自定义模板中加入了先验知识和引导,告诉LLM它的任务是学习航空公司的政策规则,并要求它根据“评估结果”、“真实标注”等信息来改进提示词,例如增加规则、重组现有规则、提高清晰度等。
    • 这是成功的关键一步,否则算法无法意识到自己应该去“学习政策”。
  5. 运行优化与结果

    • 运行优化大约需要一小时。
    • 优化后的提示词(称为“优化准则”)明显学到了部分政策标准,如“航班取消和修改”、“如何沟通”等。
    • 结果对比:
      • 准确率从69%(种子提示词在验证集上的表现?这里原文有矛盾,前面说61%)提升到了74%。
      • 消除了偏差:之前零召回的非合规项,现在有了显著的召回率和精确率。评估器不再一味地说“合规”。
      • 训练集上的帕累托前沿达到了100%准确率,意味着对于每一个训练任务,都有一个候选提示词能完美解决。但问题是,算法难以将这些分散的“绝招”合并到一个最终的提示词中。

第七部分:经验教训与总结(70% - 90%)

  1. 实验失败的经验

    • 模型选择至关重要:使用较小的或较旧的模型(如GPT-4o)完全失败。它们无论是作为评估器还是作为“反思者”都不行。
    • 最佳模型组合:使用Gemini进行反思,Groq进行评估效果最好。GPT-4-mini用于两者也是一个不错的选择。
    • 调试策略:不要一开始就跑大规模实验。应该从小规模迭代开始,仔细查看LLM的推理过程和生成的候选提示词,理解算法是如何工作的,然后再进行调整。演讲者正是通过这种方式,发现并改进了反思模板。
  2. 过拟合与种子提示词的选择

    • 先过拟合训练数据:在机器学习中,首先要确保能在训练集上取得好结果。演讲者通过调整反思模板,使帕累托前沿达到100%,实现了对训练集的“过度拟合”。
    • 种子提示词不应包含完整政策:有趣的是,包含完整智能体政策的种子提示词反而表现更差。演讲者推测,这是因为如果一开始就给了太多信息,算法容易陷入局部最优解,难以探索更好的可能性。相反,只给一个“默认合规”的简单起点,让算法从标注的推理中去学习政策,效果更好。
  3. 成本意识

    • 即使只是小规模实验,也可能花费数百美元($200-$300)的Token费用,因为对话轨迹很长,输入Token很多。
    • 高性能模型(如GPT-4)成本高昂,而低成本的小模型效果又不好。
    • 一个合理的策略是:用较大的、昂贵的模型来执行“反思”(优化过程),用较小的、便宜的模型作为最终的LLM评估器(用于线上评估)。这样一次性的优化投入可以换来长期的评估成本降低。
  4. 核心建议总结

    • 先过拟合训练数据。
    • 从小规模迭代开始,可视化中间结果,理解算法行为。
    • 精心调整参数(如批次大小等)。
    • 在本次实验中,每次实验大约进行了200-300次迭代。

第八部分:结语与呼吁(90% - 100%)

  1. 总结与致谢

    • 感谢观众观看,希望演讲有助于大家构建更好的LLM评估器,从而改进自己的AI应用。
  2. 行动号召

    • 邀请大家关注Agenta,这是一个开源的LLMOps平台。
    • 可以在LinkedIn和X上关注演讲者。
    • 如果大家对自动优化和提示词优化感兴趣,欢迎联系或在视频下方留言。

來源:DEV Community · dev.to