Anthropic 事后分析:影响 Claude 回复质量的基础设施缺陷

在 2025 年 8 月至 9 月初期间,三个不同的基础设施缺陷断断续续地降低了 Claude 的回复质量。Anthropic 随后解决了这些问题,并确认模型质量绝不会根据需求、时间或服务器负载而进行有意降低。

三个重叠的基础设施问题

Anthropic 识别出三个在时间上重叠的独立缺陷,这使得诊断变得复杂。8 月 29 日的一次负载均衡变更加剧了这种退化,增加了受影响流量的规模。

1. 上下文窗口路由错误

8 月 5 日引入的一个路由缺陷导致部分 Sonnet 4 请求被错误地路由到配置了 1M token 上下文窗口的服务器上。

  • 影响: 最初影响 0.8% 的请求,在 8 月 31 日负载均衡变更后,该问题在 Sonnet 4 请求中的峰值达到了 16%。大约 30% 的 Claude Code 用户在此期间经历过至少一次路由错误的消息。对 Amazon Bedrock 的影响峰值达到 0.18%,而 Google Cloud 的 Vertex AI 受影响的请求比例低于 0.0004%。
  • 持续性: 由于“粘性”路由,发生过一次路由错误请求的用户,其后续的跟进消息很可能会被路由到同一个错误的服务器上。
  • 解决: 路由逻辑在 9 月 4 日得到修复,并在第一方平台、Vertex AI(9 月 16 日)和 AWS Bedrock(9 月 18 日)完成了全面部署。

2. 输出损坏

8 月 25 日部署到 Claude API TPU 服务器的一个配置错误,由于运行时性能优化,导致了 token 生成过程中的错误。

  • 影响: 该缺陷导致原本极少产生的 token 被赋予了高概率,从而导致了意外的字符(例如,在英文提示词中出现泰语或中文字符)或代码中的语法错误。它在 8 月 25 日至 9 月初期间影响了 Claude API 上的 Opus 4.1、Opus 4 和 Sonnet 4 请求。第三方平台未受影响。
  • 解决: 该变更在 9 月 2 日进行了回滚,并在部署流程中增加了针对意外字符输出的检测测试。

3. Approximate top-k XLA:TPU 编译错误

8 月 25 日旨在改进 token 选择的代码部署,触发了 XLA:TPU 编译器中的一个潜在缺陷。

  • 影响: 该缺陷影响了 Claude Haiku 3.5 以及 Claude API 上 Sonnet 4 和 Opus 3 的一部分子集。第三方平台未受影响。
  • 解决: Haiku 3.5 的修复在 9 月 4 日完成,Opus 3 的修复在 9 月 12 日完成。作为预防措施,Sonnet 4 也进行了回滚。

技术深挖:XLA 编译器缺陷

XLA 编译器缺陷涉及“approximate top-k”操作的失败——这是一种在文本生成过程中寻找概率最高的 token 的性能优化手段。

精度-匹配偏差与 Token 丢失

Claude 的模型在 bf16(16 位浮点数)下计算概率,但 TPU 向量处理器是 fp32 原生的。XLA 编译器通过 xla_allow_excess_precision 标志位将某些操作转换为 fp32(32 位),从而优化运行时性能。这导致了精度不匹配,使得不同的操作在最高概率 token 的选择上无法达成一致,偶尔会在 temperature 为零时导致概率最高的 token 被完全丢弃。

Approximate Top-k 的失效

在 2025 年 8 月,对采样代码的重写移除了 2024 年 12 月的一个临时解决方案,该方案此前一直掩盖了底层的编译器缺陷。这使得 approximate top-k 操作暴露了出来,对于特定的 batch size 和模型配置,该操作会返回完全错误的结果。

最终解决

Anthropic 从 approximate top-k 转向了 exact top-k,并对额外的操作进行了 fp32 精度标准化。公司接受了轻微的效率影响,以确保模型质量。

检测与修复中的挑战

有几个因素导致了这些缺陷的检测延迟:

  • 评估环节的缺失: 标准基准测试和安全评估未能捕捉到这种退化,因为 Claude 经常能从孤立的错误中恢复过来。
  • 隐私约束: 内部安全控制限制了工程师对用户交互内容的访问,从而无法使用实际的问题交互来复现现有的缺陷。
  • 信号干扰: 缺陷的重叠性质以及它们在不同平台上的不同影响,造成了混乱的报告组合,使其看起来像是随机的退化。
  • 对评估的过度依赖: 8 月 29 日负面报告的激增并未能立即与例行的负载均衡变更联系起来。

未来预防措施

Anthropic 正在实施以下变更,以防止类似的基础设施缺陷发生:

  • 更敏感的评估: 开发新的评估方法,可以更可靠地分辨出正常运行与故障实现之间的差异。
  • 持续生产环境监控: 在实时生产系统中持续运行质量评估,以捕捉类似上下文窗口路由错误之类的缺陷。
  • 增强的调试工具: 创建能够更高效地调试来自社区反馈的问题,同时又不损害用户隐私的基础设施。

Sources

相关