コンテンツに移動
AI & 機械学習

Wayfair によるリアルタイムのモデルサービングの実現に Vertex AI エンドポイントが果たした重要な役割について

2024年1月24日
Google Cloud Japan Team

※この投稿は米国時間 2024 年 1 月 18 日に、Google Cloud blog に投稿されたものの抄訳です。

Wayfair では、サービス インテリジェンス チームが複数の ML モデルを維持し、カスタマー サービス エクスペリエンスの継続的な改善を可能にしています。たとえば、顧客の意図を予測したり、欠損品に対して最適な割引額を計算したりする新しい機能をサポート スタッフに提供しています。Wayfair の従来のモデルの多くは、バッチ予測を行ってオンライン サービス向けにキャッシュに保存する仕組みでした。そこで、Wayfair は 2023 年に、モデルをバッチ推論からリアルタイム推論に移行しました。それによって、リアルタイム モデルの安全で効果的かつ効率的なデプロイとサービングを可能にするアーキテクチャの設計を目指したのです。

Wayfair にはすでにリアルタイムのモデル サービングのための社内ソリューションがありましたが、Vertex AI予測エンドポイントがもたらすシンプルさと利便性は、Wayfair チームにとって非常に価値のあるものでした。Vertex AI エンドポイントの作成と削除をコードで自動化できる機能は、特に重要でした。Wayfair の社内ソリューションでは、そのような仕組みの実現が困難だったのです。

新しいモデルのデプロイを迅速化するために、Wayfair では、すべてのモデルを MLflow に登録する必要があります。そうすることで、MLflow が提供する統一されたインターフェースの活用が可能になります。Wayfair は、すべてのデプロイ モデルの望ましい状態を GitHub リポジトリに保存することで、Infrastructure-as-Code のパラダイムを実践しています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_Wayfair.max-400x400.png

リポジトリに保存された構成情報の簡単な例

構成を GitHub リポジトリに保存することで変更履歴をトラッキングし、GitHub の pull リクエスト承認プロセスを通じてガバナンスを徹底できます。構成への変更が承認されると、Buildkite の CI / CD パイプラインがトリガーされ、以下のタスクが実行されます。

  1. デプロイ エンドポイントの現在の状態と望ましい状態の差分を計算
  2. 個々の新規または更新モデルに対して以下のプロセスを実施
    1. MLflow からモデル メタデータとアーティファクトを pull
    2. モデルをカスタム コンテナにパッケージングし、Artifact Registry へアップロード
    3. エンドポイントを作成し、カスタム コンテナをエンドポイントにデプロイ
    4. エンドポイントで負荷テストを実施
    5. エンドポイントのアラート ポリシーを Cloud Monitoring で作成
    6. モデル メタデータと望ましいトラフィック分割を Cloud Bigtable にアップロード
  3. 不要となったエンドポイントを削除
https://storage.googleapis.com/gweb-cloudblog-publish/images/2_Wayfair.max-1000x1000.png

構成の変更がリポジトリに push された際にトリガーされる Buildkite パイプラインの自動ステップを視覚化した図。

ダウンストリームでのリアルタイム エンドポイントとアプリケーションとの連携は、Google Kubernetes Engine で実行されるモデル コントローラ サービスに各アプリケーションがリクエストを送信することで実現します。このモデル コントローラには、全体に縦断的に関わる懸念事項に対応する役割があります。たとえば、モデル メタデータの読み取りや Cloud Bigtable からの情報のルーティング、Vertex AI Feature Store からの特徴の取得、エンドポイント間での A/B テストやシャドー モードなどのトラフィックの分割、BigQuery へのモデル予測のロギングなどを行っています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_Wayfair.max-1100x1100.png

リアルタイムのモデル サービング アーキテクチャを可視化した図。

Wayfair では、Vertex AI の導入により、新しい AI モデルのデプロイを高速化するうえで、顕著な改善が見られました。以前は、新しいリアルタイム モデルを実装して稼働させるのに、1 か月ほどの作業が必要でした。それが今では、Vertex AI を使用したプロセスの自動化と効率化されたデプロイ アーキテクチャにより、わずか 1 時間に短縮されています。

手動のステップが自動化されたことで、生産性と開発スピードが急加速するとともに、重要な細部の見落としもなくなりました。負荷テスト、アラート設定、その他のオプションのタスクも、プロセスにしっかり組み込まれています。


本稿は、技術的な内容において Wayfair の Anh Do と Sandeep Kandekar による協力と、Google Cloud に関するサポートにおいて Google の Neela Chaudhari 氏、Kieran Kavanagh 氏、Brij Dhanda 氏による協力のもとで書かれたものです。

-Wayfair、ML 担当スタッフ エンジニア Roger Bock

-Wayfair、エンジニアリング マネージャー Duncan Renfrow-Symon

投稿先