跳到主要内容

你的供应商模型卡没有告诉你的事

· 阅读需 11 分钟
Tian Pan
Software Engineer

模型卡会告诉你该模型在 MMLU 上得分 88.7 分。但它不会告诉你:该模型会系统性地将责任归咎于可能性列表中最先出现的技术,导致约 10% 的归因答案在事实正确的情况下语义却是错误的。它不会告诉你:在系统提示中加入"你是一个有帮助的助手",与留空系统提示相比,会降低结构化推理任务的性能。它不会告诉你:在高负载下第 99 百分位延迟是中位数的 4 倍,也不会告诉你:模型在法律和金融查询上的行为,会因你是否包含合规免责声明而发生明显变化。

这些内容都不在模型卡里。你需要将系统部署到生产环境,然后亲眼看着问题出现,才能学到这些。

模型卡是披着技术文档外衣的营销材料。研究结论并不含糊:对公开模型中心数以千计模型卡的实证研究表明,尽管有关于应披露内容的大量指导方针,公平性和局限性信息在实际模型卡中"几乎不存在"。一项研究检验的 24 个主要基准评估中,有 14 个没有进行多次评估或报告统计显著性。而那些对生产工程师最重要的部分——尾部行为、系统提示交互、文化边缘情况、故障模式特征——系统性地缺失。

那些可靠地发布 AI 产品的团队已经以艰难的方式认识到了这一点。他们不再期望供应商文档能告诉他们所需的信息,而是开始构建内部行为简报:一份与代码库并行维护的动态文档,记录团队通过实证方式学到的关于特定模型在特定部署场景下如何运行的知识。

基准测试的幻觉

模型卡描述的是平均性能。而生产系统关心的是尾部表现。

当供应商在某项基准测试上发布 92% 准确率时,这个数字是所有测试用例的均值。它没有告诉你那失败的 8% 是什么情况:那些失败是随机噪声还是某类系统性输入,是否集中在特定领域或输入格式上,失败时是给出一个不确定的答案,还是自信地输出听起来合理却错误的内容。

真实用户会找到基准测试从未涵盖的边缘情况。一个在 MMLU 多项选择题上表现完美的模型,仍然可能在需要相同底层知识的多步自然语言指令上失败。基准测试格式施加了一种结构,模型在评估期间会加以利用,但用户并不会提供这种结构。一个从事银行客户支持的团队发现,他们模型所记录的事实准确率数字,对预测生产故障率几乎毫无用处——真实客户用基准测试语料库从未涵盖的习语和隐含语境来提问。

第 95 和第 99 百分位的情况正是那些产生支持工单并侵蚀用户信任的案例。部分输入会持续得到更差的处理结果。模型卡无法让你预测哪些输入对你的特定工作负载会产生这种情况。

静默回归与那次你从未听说的更新

当你的 API 供应商发布模型更新时,你的生产系统会立即接受更新,没有任何警告,部署日志中也不会留下任何变更记录。

这就是静默回归问题。追踪模型更新中行为漂移的研究记录了主要 API 模型在季度更新中发生的显著行为变化,同时影响指令遵循、事实性、语气和详细程度。这些不是微小扰动。一项研究发现,67% 的使用第三方 LLM API 的企业在十二个月内经历了可测量的服务中断——其中大多数被追溯到未记录的模型更新。

Meta Maverick 案例成为一个有据可查的例子:某模型的公开可下载版本与 API 托管版本的行为完全不同,托管版本表现出截然不同的风格行为,包括大量使用表情符号和冗长的回复。相同的模型名称,不同的行为。没有任何文档对此发出警告。

你的提示词是针对上个月存在的模型调优的。而你的系统今天正在与之对话的模型已悄悄更新。你花了六周时间调好的校准现在可能已经失效。你会在用户开始抱怨时发现这一点,而不是从发布说明中得知。

没有人记录的系统提示效果

关于系统提示,模型卡从未提及的一点是:它们不是中立的配置。它们是主动输入,会以非线性方式改变模型行为,并与模型执行的其他所有操作相互作用。

关于系统提示位置如何影响模型行为的研究发现,放置在系统提示与用户回合中的人口统计信息,会导致模型对所描述群体表达更负面的情感,并在资源分配任务上产生与基线行为更大的偏差。相同的信息,放置在提示栈的不同位置,会产生系统性不同的输出。

一个更违反直觉的发现是:在系统提示中加入"你是一个有帮助的助手"并不能改善性能,反而可能降低性能。开源模型对模型卡从未表征的提示格式变化表现出极度敏感性。如果你的系统提示包含合规免责声明,预期模型在法律查询上的行为会与不包含时不同——不是因为你指示了不同的行为,而是因为模型已经学会了将这种框架与某些回应模式相关联。

这意味着你无法脱离预期的系统提示单独评估一个模型。在没有系统提示的情况下取得的基准分数,几乎无法告诉你模型在你的应用程序中会如何表现。然而模型卡基准测试几乎从不指定评估期间使用的系统提示。

文档中的文化盲点

模型卡通常包含简短的公平性披露。它们几乎从不包含关于模型在非西方文化语境、边缘化方言或特定领域文化知识差距上行为的具体描述。

研究持续记录到,所有主要商业模型都表现出类似英语国家新教欧洲语境的文化价值观,这种偏斜在系统层面未被测量也未被披露。残障偏见在模型卡公平性部分几乎完全缺席——不是因为它不存在,而是因为评估数据集和研究团队没有涵盖这一点。非裔美国人白话英语被毒性过滤器系统性地误分类为可能存在冒犯性,这源于影响了模型和安全层的训练数据中的标注偏见。这两种故障模式都没有以任何部署者可获取的方式被记录。

如果你的应用程序服务于非英语母语的西方专业人士之外的用户,你就是在将其部署到供应商未表征、可能未评估、肯定未记录的行为空间中。你会通过观察用户遭遇这些边缘情况来了解它们。

团队正在构建的替代方案

可靠地发布 LLM 应用超过一年的团队已经汇聚到一个模式上:他们构建并维护与代码库并行的内部行为简报,每当有人学到关于模型实际行为的新知识时就进行更新。

内部行为简报不是一份复杂的文件。它是一份关于特定部署场景中模型行为的实证观察的结构化记录。它捕获的内容包括:

  • 故障模式特征:可靠导致模型产生错误或降级输出的特定输入模式。不是"模型可能产生幻觉"这种抽象说法,而是"当用户描述涉及三个或更多实体的情况时,模型倾向于将它们混淆"这种具体观察。
  • 提示敏感性发现:系统提示的哪些元素会对输出质量产生可测量的影响,以及影响方向。哪些格式变化会破坏指令遵循。哪些措辞会导致模型采用过于保守的解释。
  • 校准基线:对特定任务分布上模型行为的量化测量——准确率、详细程度、拒绝率、延迟分布——取于特定日期,以便行为漂移可被检测。
  • 上下文工程发现:团队关于最优上下文构建所学到的内容。截断是否改善或降低性能。基础文档的位置如何影响答案质量。
  • 已知缺口和缓解措施:模型在你的用例中表现不足的领域,以及团队已采用的补偿模式。
  • 更新变更日志:每次团队观察到行为变化——无论是来自未记录的模型更新还是提示变化——什么发生了变化,何时发生,以及如何被检测到。

建立漂移检测纪律

内部行为简报只有在保持最新的情况下才能保持价值。使其保持最新的纪律是轻量级行为监控:一小组规范测试输入,自动运行并在输出特征变化时产生警报。

监控设置不需要复杂。核心要求是一组能够测试应用程序关键行为的输入,一组预期输出特征(不是精确匹配,而是可测量的属性,如答案长度、特定关键词的存在、分类标签),以及按固定节奏执行或每次部署后执行的比较运行。

当供应商发布静默模型更新时,此监控会在一个周期内捕获它。你不是在三周后从用户投诉中了解行为漂移,而是从自动警报中得知——该警报标记了你的规范测试输入中有 20% 产生了与之前基线不同的输出特征。

行为简报中记录的校准基线成为参考点。你将当前行为与这些基线进行比较,而不是与抽象的供应商声明进行比较。模型过去的行为与现在的行为之间的差距,就是你报告和调查的内容。

值得了解的供应商理念差异

并非所有供应商对待模型文档的方式相同,了解这些差异有助于你校准自己对供应商文档的依赖程度,以及需要多大程度的实证测试。

Anthropic 已经从模型卡转向系统卡,记录部署层面的行为,包括安全评估结果和 AI 安全级别评估。他们的文档在故障模式方面比大多数供应商更详细。OpenAI 的系统卡强调基准结果和数据污染披露。谷歌的框架以跨人口群体的聚合性能指标为中心。截至目前,没有一家记录系统提示交互效果、生产负载下的尾部延迟分布,或对非西方部署重要的文化边缘情况。

诚实的总结是:即使是最透明的供应商,记录的也是他们在实验室中测试的模型。他们记录的不是你的系统中的模型——在你的系统提示下、服务你的用户、在你的流量规模上运行的模型。

动态文档的节奏

内部行为简报应在三个触发条件下更新:团队在生产中观察到意外模型行为时,供应商宣布模型更新时(即使听起来很小),以及无论是否有明显变化每四到六周按固定节奏更新一次。

固定节奏更新是团队会跳过的那个,也是最重要的那个。静默行为漂移会缓慢积累。六个月前在基线性能运行的模型可能已经跨越三次安静的供应商更新而逐步漂移。没有任何单次变化触发你的阈值,但累积漂移已将行为移入不同状态。定期审查会在它演变为生产事故之前捕获这一点。

文档本身应与代码库一起进行版本控制。当提示发生显著变化时,该组件的行为简报条目在同一次提交中更新。当团队成员发现新的故障模式时,他们提交一个 PR 将其添加到简报中。仅存在于某人脑中的行为知识,与不存在的知识没有区别——当那个人离开时,它也随之消失。

模型卡是供应商知识的终点。你的内部行为简报是你的团队知识的起点。这两份文档之间的差距,就是你在生产中承担的风险。

References:Let's stay in touch and Follow me for more thoughts and updates