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 Miscompilation

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-bit floating point) 下計算機率,但 TPU 向量處理器是 fp32-native。XLA 編譯器透過 xla_allow_excess_precision 標記來優化運行時,將部分操作轉換為 fp32 (32-bit)。這造成了精度不匹配,導致不同的操作在最高機率 token 的判定上產生分歧,偶爾會在 temperature 為零時導致機率最高的 token 被完全丟棄。

Approximate Top-k 的失效

在 2025 年 8 月,對採樣代碼的重寫移除了一個 2024 年 12 月的臨時解決方案,該方案原本用於掩蓋底層編譯器錯誤。這使得 approximate top-k 操作暴露出來,該操作在特定的 batch sizes 和模型配置下會返回完全錯誤的結果。由於該錯誤的行為不一致且取決於無關因素(如前序操作或已啟用的調試工具),因此很難進行復現。

最終解決方案

Anthropic 已從 approximate top-k 轉換為 exact top-k,並將額外的操作標準化為 fp32 精度。公司接受了輕微的效率影響,以確保模型品質。

檢測與修復中的挑戰

幾個因素導致了這些錯誤的檢測延遲:

  • 評估差距: 標準基準測試和安全評估未能捕捉到品質退化,因為 Claude 常能從孤立的錯誤中恢復過來。
  • 隱私權限制: 內部安全控制限制了工程師對用戶交互內容的訪問權限,以防止使用實際的問題交互來復現錯誤。
  • 噪聲信號: 錯誤的重疊性質以及在不同平台上的不同影響程度,造成了混亂的報告,使其看起來像是隨機的退化。
  • 過度依賴評估: 8 月 29 日負面報告的激增並未立即與例行的負載平衡變更聯繫起來。

未來預防措施

Anthropic 正在實施以下變更以防止類似的基礎設施錯誤發生:

  • 更敏感的評估: 開發新的評估方法,可以更可靠地分辨出運作正常與損壞的實現方式。

  • 持續的生產環境監控: 在實時的生產系統上持續運行品質評估,以捕捉如上下文窗口路由錯誤之類的錯誤。

  • Enhanced Debugging Tooling: 創建基礎設施以更有效地調試社區提供的反饋,同時又不損害用戶隱私。

Sources

相關