カナリアリリース:まず一部に提供する
トラフィックの一部を新しいモデルに切り替えます。
「カナリアリリース:まず一部に提供する」はCoddyKit上の無料MLOps Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMLOps Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MLOps Academyコースには全4レッスンが含まれています。
カナリアとは
カナリアリリースでは、まず新しいモデルを実際のトラフィックの一部にだけ提供します。そのため、問題が起きても影響を小さく抑えながら監視できます。🐤
全員にリリースしない理由
新しいモデルにすべてのトラフィックを一度に切り替えるのはビッグバンデプロイです。問題があれば、すべてのユーザーが即座に影響を受けます。
意図的に小さく始める
カナリアは通常、トラフィックの5%程度から始めます。実際の状況を把握するには十分でありながら、モデルに問題があってもユーザーへの影響を小さく抑えられる割合です。
チャンピオンとチャレンジャー
安定したモデルがチャンピオンで、カナリアがチャレンジャーです。両方を同時に本番稼働させ、同じ実際のリクエストで比較できます。
拡大する前に監視する
カナリアが担当する範囲を処理している間、監視を行います。エラー率、レイテンシ、重要なビジネス指標をチャンピオンと並べて確認します。
段階的に拡大する
カナリアに問題がなければ、担当割合を段階的に増やします。たとえば5%、25%、50%、100%と増やし、各段階で確認します。
トラフィックを分割する
ルーターやプロキシが、各リクエストをどのモデルに送るかを決定します。この単純な分割では、20件に1件をカナリア版へ送ります。
import random
def route(request, canary_pct=5):
if random.uniform(0, 100) < canary_pct:
return canary_model.predict(request)
return champion_model.predict(request)処理したモデルを記録する
各リクエストを処理したモデルをログに記録します。すべての予測にバージョンタグが付いていなければ、後からどのモデルの指標なのか判別できません。
log.info("prediction", extra={
"model_version": "v2-canary",
"latency_ms": latency,
})比較可能な範囲を保つ
ユーザーIDの安定したハッシュを使ってルーティングし、同じユーザーが常に同じモデルに割り当てられるようにします。リクエストごとにランダムに分割すると、公平な比較が難しくなります。
すぐに切り戻す
重要なのは、すぐに切り戻せることです。カナリアに問題があれば、そのトラフィックを0%に戻せるため、ユーザーに気づかれることもありません。
カナリアとブルーグリーン
ブルーグリーンでは、2つの完全な環境を用意して切り替えます。一方、カナリアではトラフィックを徐々に流すため、より細かく制御でき、早期に警告を得られます。
確認問題
カナリアの基本的な考え方を確認しましょう。
まとめ
カナリアでは、まず新しいモデルをごく一部に提供し、チャンピオンと比較します。問題がなければ段階的に拡大し、問題があればすぐにロールバックします。✅
AI チューターと学ぶ Python — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「カナリアリリース:まず一部に提供する」レッスンは無料ですか?
はい。「カナリアリリース:まず一部に提供する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MLOps Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MLOps Academyコースには全4レッスンが含まれています。
「カナリアリリース:まず一部に提供する」で何を学びますか?
トラフィックの一部を新しいモデルに切り替えます。 ブラウザで直接実行するハンズオンコードでMLOps Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
MLOps Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのMLOps Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「カナリアリリース:まず一部に提供する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このMLOps Academyレッスンでコードを書いて実行できますか?
はい。すべてのMLOps Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- カナリアリリース:まず一部に提供する
- ユーザーに影響を与えずシャドートラフィックを流す
- 自動ロールバックの条件を定義する
- Argo Rolloutsで段階的にリリースする