
安全回滾微調模型:部署策略指南
部署了重新訓練的模型但出現問題?了解藍綠部署、金絲雀部署和影子部署策略,讓您能在幾秒鐘而非幾小時內回滾微調模型。
您在週一部署了重新訓練的模 型。評估套件通過了。延遲看起來沒問題。團隊充滿信心。
到週三,支援工單翻倍了。客戶報告說 AI「停止理解」他們的請求。一個之前完美運作的類別現在有 30% 的時間被錯誤分類。有人問:我們能多快回滾?
如果答案是「讓我找到舊模型文件並弄清楚如何重新加載它」,您就有部署問題。如果答案是「30 秒,我來翻轉配置」,您就有了部署策略。
本文涵蓋三種使回滾快速、安全且例行化的部署策略。
為什麼微調模型部署會失敗
在談論回滾之前,了解部署為何出錯是有幫助的。微調模型在生產環境中因四個一致的原因而失敗:
對近期資料過度擬合。您在最近一個月的示例上重新訓練。這些示例過度代表了一種模式。模型在該模式上變得非常好,而在其他所有方面變差了。您的評估套件沒有發現它,因為測試集有相同的分佈偏差。
評估缺口。您的測試套件覆蓋了 85% 的實際用法。另外 15% 包括舊模型通過泛化處理的邊緣案例、罕見類別和新穎措辭。新模型在微調過程中失去了那種泛化能力。評估說「通過」,生產環境說不然。
分佈漂移。生產資料在您收集訓練資料和部署之間發生了變化。新產品功能、新客戶群體、季節性模式。模型是為上個季度的現實而訓練的。
基礎模型不相容。您更新了基礎模型(比如從 Llama 3.1 到 Llama 3.2)並應用了現有的 LoRA 適配器。適配器是為舊基礎模型訓練的。權重不對齊。輸出以難以檢測的微妙方式退化。
每種失敗都有不同的修復方法。但它們都有相同的即時需求:盡快讓舊模型回到生產環境。
策略一:藍綠部署
藍綠部署是最簡單的策略,也是您應該首先實施的策略。
工作原理
您維護兩個模型槽:藍色和綠色。在任何給定時間,一個是「活躍」的(服務生產流量),另一個是「備用」的(已加載且準備就緒但不服務)。
當您部署新模型時:
- 將新模型加載到備用槽中
- 針對備用槽運行冒煙測試 ——10-20 個代表性提示
- 切換路由配置以將生產流量指向新槽
- 舊模型保持加載在前一個槽中
當您需要回滾時:
- 將路由配置切換回舊槽
- 完成
回滾時間:不到 10 秒。 這是一個配置更改,而不是模型重新加載。
實施
對於基於 Ollama 的部署,這意味著運行兩個模型實例。您的應用程序根據配置標誌路由到其中一個:
# 配置:model_routing.yaml
active_slot: "green"
blue:
model: "customer-support-v2.1"
endpoint: "localhost:11434"
green:
model: "customer-support-v2.2"
endpoint: "localhost:11435"
回滾是將 active_slot 從「green」更改為「blue」並重新加載配置。不需要加載模型,不需要交換文件,不需要停機。
權衡
成本是內存。您需要足夠的 RAM 來同時保持兩個模型加載。對於 Q4 量化的 7B 模型,總共大約需要 8-10 GB。對於大多數部署伺服器來說,這是可管理的。對於內存預算緊張的邊緣部署,請考慮後面描述的適配器回滾方法。
藍綠部署最適合以下情況:您有足夠的內存,您想要最快的回滾速度,並且您部署的頻率不高,維護兩個已加載的模型是實際可行的。
策略二:金絲雀部署
金絲雀部署在影響所有用戶之前捕捉問題。不是一次切換 100% 的流量,而是逐漸增加。
工作原理
- 在生產模型旁邊部署新模型
- 將 5% 的流量路由到新模型
- 監控關鍵指標 2 小時
- 如果指標保持,增加到 25%
- 再監控 4 小時
- 如果指標仍然保持,提升到 100%
重要指標
在金絲雀監控期間,追蹤這些指標及其閾值:
| 指標 | 金絲雀閾值 | 行動 |
|---|---|---|
| 錯誤率 | 超過生產的 2 倍 | 立即回滾 |
| p95 延遲 | 超過生產的 1.5 倍 | 調查,保持金絲雀 |
| 用戶滿意度(如果可用) | 下降超過 10% | 回滾 |
| 輸出長度方差 | 超過生產的 2 倍 | 調查 |
| 特定任務準確率 | 下降超過 5% | 回滾 |
金絲雀期間的回滾
金絲雀期間的回滾很簡單:將金絲雀百分比設置為 0%。所有流量返回到生產模型。新模型可以卸載或保留以供調查。
壞部署的損害是有限的。在 5% 的流量下,如果新模型在特定類別上有 30% 的失敗率,只有 1.5% 的該類別總請求受到影響。這就是「客戶注意到一些奇怪的事情」和「客戶正在離開」之間的區別。
自動化金絲雀檢查
在金絲雀窗口期間不要依賴人工監視儀表板。自動化檢查:
- 在金絲雀期間每 15 分鐘,在金絲雀和生產指標之間運行比較
- 如果任何指標超過其閾值,自動停止金絲雀
- 如果所有指標在每個階段結束時保持,自動提升到下一個百分比
- 在每個階段轉換時發送摘要通知
整個金絲雀過程可以無人值守運行。當模型完全提升或金絲雀因指標違規而停止時,您會收到通知。
策略三:影子模式
影子模式是最保守的策略。它讓您在不給用戶帶來任何風險的情況下在生產環境中評估新模型。
工作原理
- 在生產模型旁邊部署新模型
- 將所有生產請求路由到兩個模型
- 向用戶提供生產模型的響應
- 記錄新模型的響應以供比較
- 收集足夠數據後比較輸出(通常為 1,000-5,000 個請求)
- 如果新模型更好,使用藍綠或金絲雀方式提升它
用戶永遠看不到新模型的輸出。對用戶體驗的風險為零。權衡是時間——您需要收集足夠的並行響應來進行統計上有效的比較。
何時使用影子模式
影子模式最適合:
- 高風險部署,其中壞的響應有重大後果(醫療、法律、金融)
- 微調模型的首次部署,替換基於提示工程的基線
- 重大重新訓練,其中訓練資料或方法論發生了重大變化
- 基礎模型升級,其中您更改了底層模型而不僅僅是適配器
影子模式對於增量更新資料的例行每月重新訓練來說是過度的。對這些使用金絲雀。
比較影子結果
比較應該是結構化的,而不是隨意的。對於每對請求:
- 兩個模型都產生了有效輸出嗎?(格式合規性)
- 兩個模型都產生了正確的輸出嗎?(準確性,對於有基準真相的情況)
- 新模型的輸出更好嗎?(質量評分,自動或抽樣人工審核)
- 有新模型失敗而舊模型沒有的情況嗎?(迴歸分析)
如果存在迴歸,對它們進行分類。它們是在特定領域嗎?特定的輸入模式?特定的輸出格式?這個分析告訴您在提升新模型之前需要修復什麼。