Skip to the content.

Online AB test pattern

Usecase

Architecture

オンラインABテストパターンは複数の推論モデルおよび推論サーバを本番データで試験する手法です。オンラインABテストパターンでは複数の推論サーバを稼働させ、現行サーバに過半数のアクセスを振り分けつつ、新サーバに徐々にアクセスを流していきます。アクセス量の調整はプロキシサーバで行います。プロキシサーバはリクエストを一意に特定するIDと入力データ、推論結果を分析用DWHに格納します。ワークフローによっては推論結果を受けたクライアントの行動ログも収集し、新旧モデルの比較に利用します。アクセス振り分けのルールは目的次第です。新モデルによるエンドユーザの行動分析を行いたい場合、同一ユーザは同一推論モデルに流すほうが良いでしょう。違反検知等、推論結果を溜めるものであれば、ランダムに振り分けるか、両方にアクセスさせるという戦略も考えられます。
新推論モデルの推論結果やスピード、可用性に問題がある場合、現行サーバにアクセスを戻し、新推論モデルを停止します。新推論モデルの有効性を計測する期間は検討が必要です。季節性のあるサービスであれば長期的に計測する必要がありますし、毎日使うサービスであれば一週間程度で結果が出るでしょう。他方で新推論モデルのリリースから即座に結果がわかる場合(株価等、結果が順次判明する場合)もあります。新旧モデルの継続、停止は推論結果と影響を見て判断する必要があります。
オンラインABテストパターンは新モデルが本番システムに接続し、推論結果をクライアントに返却します。ビジネスや周辺システムへ影響あるテストパターンになり、注意が必要です。

Diagram

diagram

Pros

Cons

Needs consideration

Sample

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