免費全文 部署與推理優化 進階

灰度發布模型版本:怎麼安全地換模型

換模型跟改程式不一樣,行為變化沒辦法用單元測試涵蓋。要靠流量分配。

部署與推理優化教程封面

模型換版的風險在於:所有測試都通過,但真實流量的表現變差。因為評測集永遠涵蓋不了真實輸入的全部樣態。

分階段放流量

  1. 影子模式:新版本收到複製的真實流量,但結果不回傳給使用者,只記錄比對。
  2. 1% 灰度:小比例真實流量,密切看指標。
  3. 10% → 50% → 100%:每一階段觀察足夠長的時間,涵蓋不同時段的流量特性。
def pick_model(user_id, rollout_pct):
    # 用穩定雜湊,同一個使用者體驗一致,不會忽新忽舊
    bucket = int(hashlib.md5(str(user_id).encode()).hexdigest(), 16) % 100
    return 'v2' if bucket < rollout_pct else 'v1'

要盯的指標

  • 技術指標:延遲、錯誤率、格式合法率、成本。
  • 業務指標:完成率、轉真人比例、重試比例、使用者評分。
  • 分布指標:輸出長度、棄答比例的變化。

影子模式最被低估

影子模式能在零風險下收集真實輸入的比對資料。把兩個版本的輸出存起來,抽樣人工比較,你會發現評測集沒涵蓋到的問題。缺點是成本翻倍,所以通常只跑一小段時間或抽樣流量。

回滾路徑要事先驗證過。「改個設定就好」在半夜兩點往往沒那麼簡單——先在非尖峰時段實際演練一次回滾。
下一步

這個主題還有更深入的實戰教程

VIP 專區收錄 50 篇進階內容:架構設計、生產環境取捨、成本與合規。 每週五新增 3 篇。

看訂閱方案 → 先逛逛 VIP 專區