ユーザーに影響を与えずシャドートラフィックを流す
本番リクエストを候補モデルにひそかにミラーリングします。
「ユーザーに影響を与えずシャドートラフィックを流す」はCoddyKit上の無料MLOps Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMLOps Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MLOps Academyコースには全4レッスンが含まれています。
シャドーモードとは
シャドーモードでは、候補モデルが本番の実際のリクエストを受け取りますが、その結果をユーザーに表示することはありません。候補モデルは脇から観察します。👀
ミラーリングするが、応答には使わない
すべての本番リクエストをミラーリングしてシャドーモデルに送ります。ユーザーが実際に受け取る応答は、引き続きチャンピオンが生成します。
ユーザーへの影響ゼロ
シャドーの出力は破棄されるため、候補モデルが完全に壊れていても、ユーザーに影響を与えることはありません。これがシャドーテストの大きな利点です。
実際のデータでテストする
シャドーモードでは、候補モデルが実際に直面する本番トラフィックそのものを受け取ります。オフラインのテストセットでは見落としがちな、複雑なエッジケースも含まれます。
ミラーリングの仕組み
同じ入力を両方のモデルに送り、チャンピオンの結果だけを返し、シャドーの結果は後で使えるように保存します。ユーザーが待つのはチャンピオンの処理だけです。
def handle(request):
primary = champion.predict(request)
shadow = candidate.predict(request)
store_shadow(request, primary, shadow)
return primary本番処理経路外でシャドーを実行する
シャドーモデルは非同期で呼び出し、ユーザーが感じるレイテンシに影響しないようにします。シャドーの処理が遅くても、実際の応答を遅らせてはいけません。
2つの出力を比較する
後でシャドーの予測とチャンピオンの予測を並べて、不一致を見つけます。大きな差があれば、候補モデルの挙動が異なる箇所を特定できます。
クラッシュを早期に検出する
シャドー実行により、実際の負荷の下でタイムアウト、メモリ使用量の急増、スキーマの不一致といった実用上の問題を、ユーザーに影響が及ぶ前に発見できます。
正解データとの隔たり
Shadowはモデルが何を予測したかを示すもので、正しかったかどうかは示しません。実際の精度を判断するには、後でラベルが必要です。
副作用に注意する
モデルが書き込み、メール送信、決済などを実行する場合、Shadowの呼び出しではそれらのアクションをスキップする必要があります。そうしないと、静かなテストが非常に大きな実際の影響を引き起こします。
Shadowの後にCanary
Shadowによって候補モデルが安全に実行できることを確認し、その後canaryによって適切にサービス提供できることを確認します。多くのチームは、まずShadowを行い、その後実際のユーザーに対してcanaryを行います。
クイックチェック
Shadowデプロイメントを本当に定義するものは何でしょうか。
まとめ
Shadowモードはライブトラフィックを候補モデルにミラーリングし、その回答を破棄してホットパスの外で実行します。これにより、ユーザーへのリスクなしで実データを使ってテストできます。✅
よくある質問
「ユーザーに影響を与えずシャドートラフィックを流す」レッスンは無料ですか?
はい。「ユーザーに影響を与えずシャドートラフィックを流す」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MLOps Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MLOps Academyコースには全4レッスンが含まれています。
「ユーザーに影響を与えずシャドートラフィックを流す」で何を学びますか?
本番リクエストを候補モデルにひそかにミラーリングします。 ブラウザで直接実行するハンズオンコードでMLOps Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
MLOps Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのMLOps Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「ユーザーに影響を与えずシャドートラフィックを流す」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このMLOps Academyレッスンでコードを書いて実行できますか?
はい。すべてのMLOps Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- カナリアリリース:まず一部に提供する
- ユーザーに影響を与えずシャドートラフィックを流す
- 自動ロールバックの条件を定義する
- Argo Rolloutsで段階的にリリースする