Anthropic 再次說明 Claude 近期三起故障,並稱 Claude Code 已全面恢復

Anthropic 再次說明:八月到九月初,Claude 確實出問題了。

圖片

Anthropic 今天發布了一份詳細的技術報告,解釋了三個基礎設施錯誤如何導致 Claude 的回答品質急遽下降。

雖然他們似乎說了些實話,但這份報告來得有點太晚了。

Claude 究竟怎麼了?

從八月初開始,使用者就抱怨 Claude 的回答變差了。

起初 Anthropic 難以判斷這到底是正常的使用者回饋波動,還是真的出了問題。

圖片

但隨著投訴越來越多,他們終於在八月底開始調查。

Anthropic 在報告中強調:

我們從不會因為需求量、時間段或伺服器負載而降低模型品質。

使用者遇到的問題完全是由基礎設施錯誤造成的

調查發現了三個相互重疊的錯誤,這讓診斷變得異常困難。

Anthropic 聲稱:現在,這三個錯誤都已經修復了。

三個令人頭痛的錯誤

Claude API 事件的說明性時間軸。黃色:檢測到問題,紅色:惡化程度加劇,綠色:修復已部署。

Claude API 事件的說明性時間軸。黃色:檢測到問題,紅色:惡化程度加劇,綠色:修復已部署。

第一個錯誤:路由錯誤

8 月 5 日,部分 Sonnet 4 的請求被錯誤地路由到了為即將推出的 100 萬 token 上下文視窗配置的伺服器。

這個錯誤最初只影響 0.8% 的請求。

但 8 月 29 日的一次常規負載平衡調整,意外地讓更多短上下文請求被路由到了長上下文伺服器。

最嚴重的時候,8 月 31 日某個小時內,16% 的 Sonnet 4 請求都受到了影響

更糟的是,路由是「黏性的」:一旦請求被錯誤的伺服器處理,後續的對話也會繼續被同一個錯誤的伺服器處理。

第二個錯誤:輸出損壞

8 月 25 日,他們在 Claude API 的 TPU 伺服器上部署了一個錯誤配置。

這導致模型會莫名其妙地輸出一些不該出現的 token,例如在英文對話中突然出現泰文或中文字符,或者在程式碼中產生明顯的語法錯誤。

有使用者可能會在英文回答中看到「สวัสดี」這樣的泰文問候語。

這個問題影響了 8 月 25-28 日的 Opus 4.1 和 Opus 4,以及 8 月 25 日到 9 月 2 日的 Sonnet 4。

第三個錯誤:XLA:TPU 編譯器錯誤

8 月 25 日,他們部署了改進 token 選擇的程式碼,但無意中觸發了 XLA:TPU 編譯器中的一個潛在錯誤。

這個錯誤確認影響了 Claude Haiku 3.5,可能也影響了部分 Sonnet 4 和 Opus 3。

編譯器錯誤的技術細節

圖片

2024 年 12 月修補程式的程式碼片段,用於解決當溫度 = 0 時意外丟失 token 的錯誤。

這個錯誤最為棘手。

Claude 生成文本時,會計算每個可能的下一個詞的機率,然後隨機選擇。

在 TPU 上,模型運行在多個晶片上,機率計算發生在不同位置,需要在晶片之間協調資料。

問題出在混合精度算術上。

模型用 bf16(16 位元浮點數)計算機率,但 TPU 的向量處理器原生支援 fp32,所以編譯器會把某些操作轉換為 fp32 來優化效能。

這造成了精度不匹配:本該在最高機率 token 上達成一致的操作,因為運行在不同精度級別而產生分歧。最高機率的 token 有時會完全消失。

圖片

程式碼片段顯示了作為 8 月 11 日更改的一部分而合併的最小化重現器,該更改是 2024 年 12 月解決「錯誤」的根本原因;實際上,這是 xla_allow_excess_precision 標誌的預期行為。

他們在修復精度問題時,暴露了一個更底層的錯誤:近似 top-k 操作的問題。

這是一個效能最佳化,用來快速找到最高機率的 token,但有時會返回完全錯誤的結果。

顯示與開發該演算法的 XLA:TPU 工程師共享的底層近似 top-k 錯誤的重現器 Slack 訊息。該程式碼在 CPU 上運行時返回正確的結果。

顯示與開發該演算法的 XLA:TPU 工程師共享的底層近似 top-k 錯誤的重現器 Slack 訊息。該程式碼在 CPU 上運行時返回正確的結果。

這個錯誤的行為令人抓狂。

它會根據無關因素而改變,例如前後運行了什麼操作,是否啟用了除錯工具。

同一個提示詞,這次可能完美運行,下次就失敗了。

最終他們發現精確 top-k 操作已經沒有以前那麼大的效能損失了,於是改用精確演算法,並將一些操作標準化為 fp32 精度。

為什麼這麼難發現?

Anthropic 的驗證流程通常依賴基準測試、安全評估和效能指標。

工程團隊會進行抽查,先部署到小型「金絲雀」組。

但這些問題暴露了他們本該更早發現的關鍵缺陷。

他們的評估根本沒有捕捉到使用者報告的品質下降,部分原因是 Claude 往往能從孤立的錯誤中很好地恢復。

隱私實踐也造成了調查困難:內部隱私和安全控制限制了工程師訪問使用者與 Claude 互動的方式和時間。

這保護了使用者隱私,但也阻止了工程師檢查那些識別或重現錯誤所需的問題互動。

每個錯誤在不同平臺上以不同速率產生不同症狀,創造了令人困惑的混合報告,沒有指向任何單一原因。

看起來就像是隨機的、不一致的品質下降。

改進措施

Anthropic 承諾將做出以下改變:

更敏感的評估:開發能更可靠地區分正常和異常實現的評估方法。

更多地方的品質評估:將在真正的生產系統上持續運行評估,以捕捉類似上下文視窗負載平衡錯誤這樣的問題。

更快的除錯工具:開發基礎設施和工具來更好地除錯社群回饋,同時不犧牲使用者隱私。

他們特別強調,使用者的持續回饋至關重要。

使用者可以在 Claude Code 中使用 /bug 命令,或在 Claude 應用程式中使用「不喜歡」按鈕來提供回饋。

網友反應

雖然 Anthropic 的透明度值得讚賞,但使用者們的反應卻可以說是相當複雜。

Denis Stetskov(@razoorka) 表示能感受到巨大的改進:

我已經能感受到巨大的改進。無論你們修復了什麼,它都起作用了。

Rajat(@DRajat33) 讚賞了透明度:

感謝澄清和細節。透明度是讓公司與眾不同的東西,無論他們的產品如何。

但更多使用者對沒有補償表示不滿。

Alexandr Os(@iamavalex) 直接要求:

公布受影響帳戶列表並立即退款。我就是其中之一。

Conor Dart(@Conor_D_Dart) 質疑:

你們會給受影響的使用者退款或補償嗎?報告影響了很多人,你們的價格可不便宜。

The City Keeps Building(@TheCity777) 簡單直接:

我們的退款呢?

圖片

peermux(@peermux) 認為:

如果你承認在八月到九月之間沒有交付商定的產品,那麼你應該提供退款,或至少提供一個月的免費服務。這將展示誠意並有助於維持信任。

圖片

Baby Yoda(@grogu836) 表示失望:

我們不會因此獲得退款?難以置信。再也不用 Claude Code 了。

還有使用者指出問題可能還沒完全解決。

tuna(@tunahorse21) 說:

它很明顯還有錯誤,你們等了一個月才承認這個問題。

Daniel Lovera(@dlovera) 則提出了更進一步的質疑,認為短上下文請求在長上下文伺服器上表現變差,說明 Anthropic 實際上是在根據需求間接降低模型品質。

Thomas Ip(@_thomasip) 則總結了三個錯誤:

tldr:

錯誤 1 - 一些請求被路由到測試伺服器

錯誤 2 - 效能最佳化錯誤導致稀有 token 被分配了高機率

錯誤 3a - 精度不匹配導致最高機率 token 被丟棄

錯誤 3b - 近似 top-k 演算法完全錯誤

[1] 技術後期診斷報告: https://www.anthropic.com/engineering/a-postmortem-of-three-recent-issues

主標籤:AI模型問題

次標籤:Anthropic效能下降基礎設施缺陷技術故障報告Claude


上一篇:顛覆思維鏈!字節跳動提出逆向工程推理!AI學會從結果倒推過程

下一篇:首個程式碼世界模型引爆 AI 圈,賦能智慧體「真推理」,Meta 開源

分享短網址