Traffine I/O

日本語

2023-01-07

MLのQAパターン

ML システムの QA パターン

機械学習システムのQAには様々な方法があります。今回はMercari社の GitHub に記載されている以下のMLシステムのQAのパターンを紹介します。

  • シャドウA/Bテストパターン
  • オンラインA/Bテストパターン

シャドウ A/B テストパターン

シャドウABテストパターンでは、複数の推論サーバーを稼働させ、プロキシサーバーは全推論モデルへリクエストを送信しますが、クライアントへ推論結果を返すのは現行モデルのみになります。そのため、本番サービスへ影響を与えずに新しい推論モデルを試験することが可能です。一方、新モデルの推論結果はクライアントへ返却されないため、最終的なビジネス価値を測ることが難しくなります。

Shadow AB-testing pattern

  • Pros
    • 新モデルの推論結果やスピード、可用性を本番サービスで確認することができる
    • 複数モデルの推論結果を収集し分析することができる
    • 本番サービスに影響を与えない
  • Cons
    • エンドユーザーの反応を見ることができないため、最終的なビジネス価値を測ることが難しい
  • ユースケース
    • 新推論モデルが本番データで問題なく推論できることを確認したい場合
    • 新推論サーバーが本番アクセスの負荷に耐えられることを確認したい場合

オンライン A/B テストパターン

オンラインABテストパターンでは、複数の推論サーバーを稼働させ、現行サーバーに過半数のアクセスを振り分けつつ、新サーバーに徐々にアクセスを流していきます。アクセス量の調整はプロキシサーバーで行います。新モデルを本番システムに接続し、推論結果をクライアントに返却するため、ビジネスへ影響が出るテストパターンとなります。

Online AB-testing pattern

  • Pros
    • 新モデルの推論結果やスピード、可用性を本番サービスで確認することができる
    • 複数モデルの推論結果を収集し分析することができる
    • エンドユーザーの反応を見ることができる
  • Cons
    • 新モデルが負のビジネス影響を及ぼす場合がある
  • ユースケース
    • 新推論モデルが本番データで問題なく推論できることを確認したい場合
    • 新推論サーバーが本番アクセスの負荷に耐えられることを確認したい場合
    • オンラインで複数推論モデルのビジネス価値を計測したい場合

参考

https://github.com/mercari/ml-system-design-pattern/tree/master/QA-patterns

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!