跳到主要内容

168 篇博文 含有标签「evaluation」

查看所有标签

评估疲劳周期:为何AI质量度量在上线后走向崩溃

· 阅读需 10 分钟
Tian Pan
Software Engineer

AI评估的命运遵循着一条可以预测的弧线。冲刺零阶段:所有人都认同评估至关重要。上线周:套件运行顺畅,演示效果完美。第六周:CI任务开始被跳过。第十周:有人调高了失败阈值以消除告警。第四个月:绿色仪表盘已毫无意义,人人心知肚明,却无人点破。

这就是评估疲劳周期,它几乎普遍存在。尽管业界在自动化评估工具上持续投入多年,其市场渗透率仍仅有38%——这意味着大多数团队依然依赖人工审查作为主要的质量门控。当下一个模型版本升级,或本周Prompt已是第三次更改时,这些人工审查往往第一个被牺牲掉。

评估集拥挤问题:为什么更大的测试套件捕获的回归反而更少

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的 AI 评估测试集(eval suite)有 800 个测试用例。你又增加了 200 个。现在你的模型在评估中得分 94%,你满怀信心地发布了。三天后,一名用户发现了一个回归(regression)问题,而你那 1000 个测试用例中没有一个捕获到它。

这不是运气不好 —— 而是结构性问题。回归问题的存在恰恰是因为你扩充测试集的方式,而不是尽管你扩充了测试集才存在。当出现故障时增加更多评估指标(evals)的本能在理论上是正确的,但在实践中却适得其反。更多的测试并不自动意味着对重要事项的覆盖率更高。它们意味着对那些易于测试的事项有了更好的覆盖,而这完全是两回事。

泛化悬崖:微调如何导致隐性的能力退化

· 阅读需 10 分钟
Tian Pan
Software Engineer

一家企业软件公司的团队在客户支持工单上微调了一个 7B 模型。目标指标——解决准确率——提高了 12 个百分点。团队发布了它。三周后,产品出现了谁也没预料到的第二种失败模式:模型悄然失去了处理多步问题的能力。用户会问一些稍超出支持领域的问题,得到的是自信但逻辑混乱的回答。模型牺牲了它不知道自己需要的广度,换取了它能够衡量的深度。

这就是泛化悬崖(generalization cliff):紧随窄领域微调而来的隐性能力退化。与崩溃或超时不同,它不产生错误。模型仍然响应。它只是在与训练分布相邻的任务上表现变差——而这些任务从未出现在评估套件中。

乐于助人但却出错:生产环境 AI Agent 中的操作性幻觉问题

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的 AI agent 刚刚完成了一项复杂的数据库迁移任务。它调用了正确的工具,使用了恰当的术语,引用了正确的库,并返回了看起来完全合理的输出。然后你的 DBA 在一个拥有 5000 万行的生产表上运行它 —— 结果备份标志(backup flag)写错了。这个标志存在于相邻的库版本中,语法上是有效的,但它在静默状态下没有执行备份步骤。

这个 agent 并不是在胡言乱语。它表现得自信、流畅且方向正确。但在操作上,它错得正是会导致数据丢失的那种方式。

这是该领域投入不足的一种幻觉类别,也是你的评估(evals)几乎肯定无法捕捉到的那种。

提示工程的职业陷阱:哪些 AI 技能会复利增长,哪些会逐渐退化

· 阅读需 11 分钟
Tian Pan
Software Engineer

在 2023 年,“提示词工程师”(prompt engineer)是科技领域搜索频率最高的职位名称之一。LinkedIn 上到处都是重新包装个人简介的工程师。招聘信息许诺给那些懂得如何诱导 GPT-4 表现的人六位数的薪水。但职位描述中没有提到的是,其中列出的许多技能已经处于“借来的时间”中——到 2026 年,那些能够分辨出持久技能与衰减技能区别的工程师,最终的境遇将大不相同。

提示词工程的职业陷阱并不在于这个领域消失了,而在于它变化太快,以至于在 12 个月内建立的技能到第 18 个月就变成了负资产。那些在错误的层面过度投入而忽视了正确层面的工程师发现,随着下一个模型版本的发布,他们所掌握的专业知识变得毫无意义。

共同演化陷阱:AI 功能的成功如何正在悄悄破坏其评估体系

· 阅读需 10 分钟
Tian Pan
Software Engineer

你的 AI 功能上线了。它运行良好。用户正在使用。满意度评分在上升。你回头运行了原始的评估套件——依然是绿灯。六个月后,某些事情悄然出了问题,但你的仪表盘还没有显示出来。

这就是协同演化陷阱(co-evolution trap)。在你的 AI 功能部署的那一刻,它就开始改变使用它的用户。他们调整工作流、措辞和预期。这种适应使得你的功能实际处理的输入分布与发布时测量的分布产生偏离。评估套件保持绿灯,是因为它停留在部署前的世界。现实世界的表现以评估套件从未捕捉到的方式发生了漂移。

持续生产环境评估:实时 LLM 流量的统计质量监控

· 阅读需 10 分钟
Tian Pan
Software Engineer

大多数团队将 LLM 质量评估视为部署前的关卡:运行评估套件,检查分数,然后发布。这种方法大约只能捕捉到用户实际会遇到的 40% 的故障。剩下的故障之所以会溜走,是因为生产环境的流量与你的评估集完全不同——不同的查询分布、不同的会话长度、不同的上游数据,以及并发负载下不同的模型行为。等到用户投诉出现时,问题往往已经发生了好几天。

解决办法不是在部署前增加更多评估,而是针对实时流量进行持续评估。这种评估是基于这样一个现实设计的:你在推理时没有标准答案(ground truth)标签,并且你需要在几分钟内(而不是几周后)获得可操作的信号。

评估与生产环境的差距:检测生产级 LLM 中的行为模式切换

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的评测套件全绿。你的基准测试分数很高。你的预发布环境看起来很干净。然而 —— 你的用户正反馈一些隐蔽的错误答案、不一致的语气,以及一些难以捉摸的、感觉不对劲的输出。

这就是行为模式切换(behavioral mode switching)问题:一个在被评估时表现出色,但在非评估状态下明显偏离的生产环境 LLM。这并非假设。这是 LLM 部署中常见的“静默式”失败模式,许多团队在向利益相关者宣称模型行为已验证并发布之后,才发现这一问题。

问题不在于你的评测框架不够勤勉。而在于大多数评测框架在结构上无法检测到这类故障。

为什么你的 AI 听起来不对劲,即使技术上完全正确

· 阅读需 10 分钟
Tian Pan
Software Engineer

某物流聊天机器人收到了一位客户的消息——他的包裹已经丢失一周了。机器人的回复是:"我没有被训练来关心这件事。"从事实角度看,这完全准确:系统正确解析了查询,正确识别出无法路由处理该问题,也正确传达了其局限性。这个答案在每一个可量化的维度上都是技术正确的。但它同时也是一场产品灾难。

这就是语域问题——而这几乎肯定是你的评估套件没有在衡量的失效模式。

LLM 分类器的生产实践:为什么准确率是错误的指标

· 阅读需 12 分钟
Tian Pan
Software Engineer

一个团队上线了基于 LLM 的意图分类器,评估准确率高达 94%。然而上线两周后,客服工单量上涨了 30%——并非因为模型无法分类,而是它以极高的置信度将边缘案例路由到了错误的队列。没有人为"模型判断错误却浑然不知"这种情况设置熔断机制。那个 94% 的数字从未暴露过这种风险。

这种失败模式在内容审核流水线、路由系统和实体提取器中反复出现。LLM 在留出集上得分很高,团队上线,然后生产环境中悄悄出现了问题。

问题不在于准确率是个坏指标,而在于它回答的是错误的问题。生产环境中的分类有一套不同的要求,而大多数评估流水线并不测试这些要求。

Provider 行为指纹:模型切换中的隐性损耗

· 阅读需 9 分钟
Tian Pan
Software Engineer

当成本飙升、模型下线通知或竞争对手的基准测试迫使你更换 Provider 时,工程团队通常会在能力基准测试上评估候选模型,并将其视为迁移计划的全部。这个过程大约能捕获一半的问题。另一半并非能力问题,而是行为问题:那些不可见的格式习惯、拒绝模式、序列化怪癖以及输出约定——你的生产代码在数月迭代中已悄悄将其内化。

能力基准告诉你新模型能否完成任务。行为指纹告诉你你的代码库能否承受这次替换。

摘要有效性问题:如何识破 AI 压缩掉的关键信息

· 阅读需 12 分钟
Tian Pan
Software Engineer

摘要失败往往是隐性的。你的系统不会崩溃,日志不会标记错误,生成的文本看起来也很连贯——但在压缩过程中的某个地方,对下游任务至关重要的那个事实被丢掉了。RAG 流水线返回了一个自信的答案。多跳推理器得出了一个结论。客服代理给出了建议。所有这些都基于一个不再包含原始约束、例外或答案所依赖的数据点的摘要。

这就是摘要有效性问题:即“与原文保持一致”的摘要与“保留下游任务所需信息”的摘要之间的差距。大多数团队并没有针对此进行度量。他们上线的流水线只验证了摘要的存在,而不是摘要的完整性。