コンテンツに移動
データベース

Feast で ML 開発を効率化

2023年8月4日
Google Cloud Japan Team

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

本投稿は、Google Cloud 上での Feast の使用に関する短いブログ投稿シリーズの最初の投稿となります。この最初のブログ投稿では、人気のオープンソース ML 特徴量ストアである Feast を Google Cloud で使用する利点について説明します。2 回目のブログ投稿では、Google Cloud 上で Feast を使用し、商品レコメンデーション システムを構築するための簡単な入門チュートリアルを提供します。

データ サイエンティストやその他の ML 担当者は、新しいタイプのデータ プラットフォームである ML 特徴量ストアへの依存度を高めています。この特殊なサービスは、組織が ML 特徴データの管理を簡素化し、ML モデル開発の作業をよりスケーラブルにするのに効果を発揮します。特徴量ストアは、組織が ML 特徴の生成に使用するコードを管理し、未処理のデータでこのコードを実行して、こうした特徴をユーザー向けアプリケーションの本番環境にデプロイするという中核的なタスクを担います。特徴量ストアは通常、アプリケーションを提供するためにデータ ウェアハウス、オブジェクト ストレージ、運用ストレージ システムと統合されます。

特徴量ストアは、ML チームがさまざまなアプリケーションのユースケースに合わせて複数の ML モデルで同じ特徴データを再利用する必要がある組織にとって、非常に価値があります。特に、モデルの予測がアプリユーザーにとって最新の状態に保たれるようにするために、直近のデータを使用してこれらの ML モデルを頻繁に再トレーニングする必要がある場合に役立ちます。

たとえば、パーソナライズされたおすすめ情報、検索、メール通知などのユースケースをサポートするために、本番環境で十数の異なる ML モデルが実行されている映画ストリーミング サービスを考えてみましょう。各 ML モデルが異なるチームによって所有されていると仮定すると、各チームが独自の特徴をゼロから構築し、同じ重要なインフラストラクチャを何十回も維持するコストを負担するのではなく、同じ ML 特徴(例: ユーザー別、タイトル別、ジャンル別で最近視聴した映画を含む定期的に更新されるベクトル エンベディング)を多数持つことで、メリットを得られる可能性が非常に高くなります。

すべての組織と ML プロジェクトには固有の要件があり、こうしたさまざまなニーズをサポートするために利用できる効果的な ML プラットフォームが幅広く存在します。たとえば、一部の Google Cloud のお客様は、Vertex AI Feature Store を選択しています。Vertex AI Feature Store は、ML の特徴を整理、保存、提供するための一元化されたリポジトリを提供し、Vertex AI の広範な機能と直接統合されたフルマネージド特徴量ストアです。あるいは、より特殊な要件を持つ組織は、BigQueryCloud Bigtable など、Google Cloud マネージド サービスの常時稼働かつペタバイト規模の機能をベースにカスタム ML プラットフォームを構築することもできます。

そして、カスタマイズ可能なオープンソースの ML 特徴量ストアである Feast は、組織の ML 開発作業を効果的にスケーリングするのを妨げる、最も困難な課題の多くを解決してくれます。Google Cloud で Feast を使用するエンドツーエンド ソリューションに関心を寄せる Google Cloud のお客様をサポートするため、Feast のコントリビューターである Tecton は、Bigtable 上の Feast のオープンソース統合を昨年リリースし、特徴量ストアのユースケース向けに BigQuery と Google Kubernetes Engine(GKE)との既存の統合を拡張しました。

Feast は、小売、メディア、旅行、金融サービスなど、さまざまな業種の組織で採用されています。Google Cloud のお客様の間では、消費者向けインターネット、テクノロジー、小売、ゲームなどの業界で大規模に Feast が採用されています。その結果として、お客様は ML 開発のスピードと生産性を大幅に向上させ、自社の顧客、パートナー、エンドユーザーに提供するアプリケーションの価値を高めてきました。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_47IPW10.max-700x700.png
ML モデル開発ライフサイクルにおける特徴量ストアの役割

Feast が選ばれる理由

Feast は、ML の特徴量ストレージを特徴検索から抽象化する強力な単一のデータアクセス レイヤを提供し、ML チームのモデルが、トレーニングからサービングまで、バッチからリアルタイムまで、そしてデータ ストレージ システムから別のシステムまで、モデル開発とデプロイ プロセスを通じて移植性を維持できるようにします。

自社開発の特徴量ストアを構築するよう選択した組織と比較してみましょう。このようなプロジェクトは、小規模なチームでの集中的な作業によって短期間で成功を収める場合が多いものですが、ML 開発の作業をそれぞれの組織内の追加チームに拡大しようとすると、すぐに課題にぶつかりかねません。こうした新しいチームは、既存の特徴量ストアをそのまま再利用することが現実的でないことをすぐに把握し、その代わりに(必要に迫られて)「わざわざ土台から作り直す」という決断をして、納期に間に合わせるためにサイロ化された特徴パイプラインを独自に構築することになるかもしれません。上記のようなプロセスがチーム間で繰り返されることで、組織の ML スタックと ML 開発プラクティスはすぐに断片化され、将来のチームがすでに存在する ML 特徴、データ パイプライン、Notebooks、データアクセス制御、その他のツールを再利用することができなくなります。このパターンでは、開発作業とツールがさらに重複することになり、インフラストラクチャ コストの急速な増加を引き起こします。また、新しいモデルをそれぞれゼロから開発する必要があるため、市場投入までの時間的なボトルネックにもなります。

Feast は、このような組織レベルの ML スケーリングにおける一般的な課題に真正面から取り組み、以下のことを実現します。それにより、お客様は ML 投資からはるかに大きなメリットを得られるようになります。

  • 特徴変換、データ ストレージ、モニタリング、モデリングなどの重要なステップで、各チームがすでに使用しているツールやインフラストラクチャと直接統合することで、さまざまなチーム間でデータ ワークフロー、開発プロセス、ツールを標準化します

  • BigQuery などのデータ ウェアハウス向けにキュレートされた、お客様の組織内で誰もがすぐに見つけられる本番環境に対応した特徴の再利用可能なライブラリを使用して、新しい ML プロジェクトをブートストラップすることで、ML プロジェクトの市場投入までの時間を短縮します

  • 一元管理され再利用可能なデータ パイプラインを使用して特徴を運用化し、Bigtable のような低レイテンシのオンライン ストレージ レイヤと、オンライン ストレージ レイヤの特徴サービング エンドポイントに統合します

  • BigQuery や Bigtable など、チームのデータ分析、トレーニング、サービス環境全体で発生する費用のかかるデータの不整合を排除し、モデルの特定時点の精度と予測の品質を向上させます。また、データの不整合の原因を特定するために必要な長時間のデバッグ作業を回避します
https://storage.googleapis.com/gweb-cloudblog-publish/images/2_vv6zt39.max-1200x1200.png

ML 特徴開発ワークフロー


Feast の Bigtable インテグレーション

Feast の Bigtable インテグレーションは、Feast と BigQuery の既存の統合を基盤としており、Google Cloud のお客様に対して、BigQuery と Bigtable 上により利用しやすい単一データ アクセス レイヤを提供することで、本番環境での ML データ実体化の重要な「最終工程」を合理化します。Feast の Bigtable インテグレーションにより、データ サイエンティストやその他の ML 実務者は、カスタム パイプラインの構築や更新をすることなく、あらゆる規模の Bigtable で低レイテンシのトレーニングと推論を行い、BigQuery で分析データを変換して製品化できます。そのため、本番環境での作業の価値をより早く実現できます。

さらに、Bigtable の柔軟性の高いレプリケーション機能により、ML チームは最大 8 つの Google Cloud リージョンのエンドユーザーに同時に Feast 特徴データを提供できるようになり、(a)サービングのレイテンシが低減し、(b)障害復旧(DR)要件をサポートするために、最も近いレプリカへの自動リクエスト ルーティングが可能になりました。

ML 特徴量ストアで提供される特徴の役割

以下の図に示すように、高品質の特徴量ストアは通常、次のコンポーネントで構成されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/3_U9qW4qk.max-1500x1500.png
特徴量ストアのシステム コンポーネント
  • ストレージ: 特徴量ストアは、特徴のサービング レイヤを介した検索をサポートするため、特徴データを保存しています。通常、BigQueryCloud Storage などのオフライン ストレージ レイヤを含み、ML モデルの透明性と説明可能性を提供して、お客様内部の ML モデル ガバナンスの実践とポリシーをサポートします。

  • サービング: Feast のような特徴量ストアは、提供する抽象化を通じて、アプリ デベロッパーがアプリケーションと統合する ML モデルに特徴データを提供します。このステップは、特徴の実体化とも呼ばれます。デベロッパーのアプリが最新のモデル予測に迅速に対応できるようにする(例: エンドユーザーに新しいおすすめコンテンツを提供する、より関連性の高い広告を表示する、あるいはクレジット カードの不正決済を拒否する、など)には、Bigtable のような低レイテンシのデータベースに支えられた高性能 API が不可欠です。

  • レジストリ: 特徴リポジトリは、お客様の ML 特徴の信頼できる一元的な情報源として機能し、さまざまなチームが異なる ML ユースケースやアプリケーションで既存の特徴を再利用できるようにする、標準化された特徴定義とメタデータを含みます。

  • 変換: ML アプリケーションは、ML モデルがエンドユーザーにとって最もタイムリーで関連性の高い予測を生成できるように、SparkDataflowPub/Sub などのバッチ処理またはストリーム処理フレームワークを使用して最新のデータを特徴値に取り込む必要があります。Feast を使用すると、これらの変換は、共通の特徴定義と共通の特徴レジストリ内の同様のメタデータに基づいて構成できます。

  • モニタリング(図には示されていません): 運用モニタリング、特にデータの正確性とデータ品質のモニタリングは、トレーニング サービング スキューモデルのドリフトなどの動作を検出するために、あらゆる ML システムに不可欠な部分です。Feast のような特徴量ストアは、保存して提供する特徴に関する正確性と品質を示すメトリクスを計算して、ML アプリケーションの全体的な健全性を伝え、介入が必要なタイミングを判断するのに役立ちます。

Google Cloud で動作する Feast

Google Cloud のお客様は、次のプロダクトの多くを Feast と組み合わせて使用しています。

  • BigQuery: Google Cloud のペタバイト規模、かつフルマネージドのサーバーレス データ ウェアハウス。ペタバイト規模のデータにわたるスケーラブルな分析を可能にし、オフラインの特徴量ストレージ、トレーニング、評価に広く利用されています。

  • Cloud Bigtable: Cloud Bigtable は、大規模な分析ワークロードと運用ワークロード向けのスケーラブルな Google Cloud のフルマネージド NoSQL データベース サービスです。オンライン予測と特徴サービングのための非常に効果的なソリューションです。

  • Dataflow: Dataflow は Google Cloud のフルマネージド ストリーミング分析サービスです。自動スケーリングとバッチ処理によりレイテンシ、処理時間、費用を最小限に抑え、BigQuery などのデータ ウェアハウスや Cloud Bigtable などのデータベースとの間でデータの抽出、変換、読み込みを行い、ML の特徴変換などのユースケースをサポートします。

  • Dataproc: Dataproc は、Apache Spark および 30 以上のオープンソース ツールとフレームワークを実行するための、スケーラビリティに優れたフルマネージド サービスです。Spark は、ML 実務者にとって最も人気のあるバッチ処理およびストリーム処理フレームワークの一つです。

  • Pub/Sub: Pub/Sub は Google Cloud のスケーラブルな非同期メッセージング サービスです。ストリーミング分析とデータ統合パイプラインでデータの取り込みと配信を行い、ML 特徴データへのオンデマンドのストリーミング変換に最適です。

最後までお読みいただきありがとうございました。このブログ投稿シリーズの 2 回目では、BigQuery、Cloud Bigtable、Google Colab を使用して、ML パーソナライゼーションのユースケース向けに、プロトタイプの Feast 特徴量ストアを構築します。

詳細

Feast の詳細については、こちらをご覧ください。デベロッパーの方であれば、pip install "feast[gcp]" から始めることも、feast init -t gcp により Google Cloud 上でブートストラップ型の特徴量ストアを使用開始することもできます。

Feast for Bigtable のインストールについては、こちらをご覧ください。Feast と BigQuery の連携については、こちらから詳細を確認できます。

Feast について

Feast は、組織の既存のインフラストラクチャを再利用して ML 特徴を管理し、リアルタイムにモデルを提供する人気のオープンソース特徴量ストアです。Feast を使用することで、組織は ML 特徴を一貫して定義、保存、提供し、ML をデータ インフラストラクチャから分離できます。

Tecton について

Tecton は Feast の主要なオープンソース コントリビューターです。Tecton は、Google Cloud 上でリアルタイムの ML を行うための新しいフルマネージド特徴プラットフォームも提供しています。この新しいプラットフォームの詳細については、こちらのお知らせをご覧ください。

Google Cloud について

Google Cloud は、あらゆる組織のビジネスと業界におけるデジタル トランスフォーメーションを加速させます。Google の最先端テクノロジーを活用したエンタープライズ クラスのソリューションと、デベロッパーがよりサステナブルに構築に取り組めるツールを提供します。200 以上の国や地域のお客様が、成長を可能にし、最も重大なビジネス上の問題を解決するための信頼できるパートナーとして Google Cloud を採用しています。


- Tecton エンジニアリング リード、Danny Chiao 氏
- Cloud Bigtable プロダクト マネージャー、David Simmons

投稿先