Skip to the content.

Shadow AB test pattern

Usecase

Architecture

シャドウABテストパターンは複数の推論モデルおよび推論サーバを本番データで試験する手法です。シャドウABテストパターンでは複数の推論サーバを稼働させ、プロキシサーバは全推論モデルへリクエストを送信しますが、クライアントへ推論結果を返すのは現行モデルのみです。そのため新モデルの推論結果はクライアントへ送信しません。プロキシサーバは両方の推論結果を分析用DWHに格納します。シャドウABテストパターンではクライアントへ影響なく新モデルの推論結果やスピードを計測し、本番導入の可否を判断します。
新推論モデルの推論結果やスピード、可用性に問題がある場合、新推論モデルを停止します。新推論モデルの有効性を計測する期間は検討が必要です。季節性のあるサービスであれば長期的に計測する必要がありますし、毎日使うサービスであれば一週間程度で結果が出るでしょう。他方で新推論モデルのリリースから即座に結果がわかる場合(株価等、結果が順次判明する場合)もあります。新旧モデルの継続、停止は推論結果と影響を見て判断する必要があります。
シャドウABテストパターンはオンラインABテストパターンと違い、本番へのリスクなく新推論モデルを試験することが可能です。他方で、新モデルの推論結果はクライアントへ返却されないため、最終的なビジネス価値を測ることが難しくなります。シャドウABテストパターンで推論モデルが問題なく稼働することを確認したら、オンラインABテストパターンでビジネス価値を計測することを推奨します。

Diagram

diagram

Pros

Cons

Needs consideration

Sample

https://github.com/shibuiwilliam/ml-system-in-actions/tree/main/chapter6_operation_management/shadow_ab_pattern