モダンデータスタック カテゴリ紹介 #5 『Feature Store(フィーチャーストア)』 – Modern Data Stack Categories Overview Advent Calendar 2023
当エントリは『Modern Data Stack Categories Overview Advent Calendar 2023』 5日目のエントリです。
- Modern Data Stack Categories Overviewのカレンダー | Advent Calendar 2023 - Qiita
- Modern Data Stack Categories Overview Advent Calendar 2023 の記事一覧 | DevelopersIO
データ分析、データを扱う世界では昨今『モダンデータスタック(Modern Data Stack/MDS)』という考え方、サービス構成が大きな注目を浴びています。データの収集、処理、保存、分析に使用されるツールとクラウドデータサービスを集めたソリューションを指す言葉です。クラスメソッドとしてもこのモダンデータスタック(Modern Data Stack/MDS)を推しており、下記の内容でお客様にサービスとして提供しています。
このモダンデータスタックという考え方、現在では構成するサービス群のジャンルが非常に多岐に渡ってきています。このカテゴリ分けも正直企業や個人によって定義が分かれていたりするのですが、『Modern Data Stack - Everything that you need to know !』というサイトではこのカテゴリ分類がシンプルかつ分かりやすく展開されています。このアドベントカレンダー企画では、このサイトで展開されているカテゴリ毎について内容を理解することで見識を広め、今後のサービス展開・サービス選択を検討する足掛かりとして行きたいと思います。
当エントリでは、Modern Data Stack(MDS)におけるカテゴリ『Feature Store(フィーチャーストア)』の内容について紹介します。
目次
モダンデータスタック(Modern Data Stack/MDS)における『フィーチャーストア』とは
アドベントカレンダー企画の趣旨については1日目のエントリ内『当アドベントカレンダー企画について』をご参照ください。
フィーチャーストアとは、機械学習に使われているフィーチャを管理や提供するための場所、管理基盤です。
ではフィーチャーって何でしょう?こちらのエントリにとても分かりやすく説明がなされていたので引用させて頂きます。
フィーチャーエンジニアリングは、モデルのパフォーマンスを高めるため、オリジナルデータを新しい変数(フィーチャー:特徴量)に変換することです。このテクニックは、ディープラーニングやマシンラーニングから伝統的な計量経済学のモデルに至るまで、あらゆるモデルで活用できます。
機械学習に於いて利用するモデルのパフォーマンスを高めるために必要なものが『フィーチャー(特徴量)』という存在であり、フィーチャーのためにオリジナルデータを変換するのが『フィーチャーエンジニアリング』、その際に利活用出来る存在が『フィーチャーストア』である、という事ですね。(超々ざっくりな理解)
フィーチャーストアの内容や特徴については以下の通り。
- 『生データ』と『モデルで必要とされるインタフェース』の間の抽象的な役割を果たす存在。
- データサイエンティストがフィーチャー値の処理を自動化し、トレーニングデータセットを生成し、本番レベルのサービスレベルでフィーチャーをオンラインで提供する事でこの抽象化を実現する。
- モデルを本番環境にデプロイするために、チームはフィーチャーを変換してオンラインで提供するためのプロダクション・データ・パイプラインを構築する必要がある。そしてそのパイプラインは、従来のアナリティクス・パイプラインとは異なる。
- このパイプラインは実運用を想定する場合、フィーチャーを大規模かつ低レイテンシーでオンライン配信する必要があり、従来のデータ・オーケストレーション・ツールでは取り組むことが難しい。
- また、新しいMLプロジェクトの納期に数週間から数カ月を要することが多い。
- 上記課題や状況を踏まえると、問題を解決することが出来る(データチームに求められる)フィーチャーストアの理想形は以下のようなものになる。
- 標準的な特徴定義を使用して、共同で特徴ライブラリを構築することが出来る
- わずか数行のコードで正確なトレーニングデータセットを生成することが出来る
- DevOpsのようなエンジニアリングのベストプラクティスを使用して、フィーチャーを即座に本番環境にデプロイすることが出来る
- 組織全体でフィーチャーを共有、発見、再利用が出来る
- 比較的新しい概念であり、まだまだ発展途上感はあるが、フィーチャーストアの構成要素群には以下のようなものが必要と考えられる。
- フィーチャーリポジトリ
- バージョン管理されたコードとして定義されるフィーチャーを管理。
- 全てのフィーチャー定義とフィーチャー・メタデータのセントラル・カタログが含まれる。
- この要素があることでデータサイエンティストは新しいフィーチャーを検索、発見、コラボレーションすることが出来るようになる。
- 変換処理
- 生データをフィーチャー値に変換するデータパイプラインをオーケストレーション(設定、管理、調整の自動化)機能。
- バッチ、ストリーミング、リアルタイムのデータを利用し、過去のコンテキストと最新の情報を組み合わせることが出来るようになる。
- ストレージ
- 以下双方を提供。
- 大規模な検索を低レイテンシーで行うためのオンラインストレージ
- 過去のデータセットをコスト効率よくキュレーションするためのオフラインストレージ
- 以下双方を提供。
- フィーチャーサービス
- オンラインのフィーチャー値を低レイテンシーで提供するAPIエンドポイントを提供。
- モニタリング
- 機械学習に於いてはデータ品質と運用指標の両方を監視する必要がある。
- データが正しいかどうかを検証し、データ・ドリフトを検出。
- フィーチャー・ストレージ(容量、陳腐化)およびフィーチャー・サービング(レイテンシー、スループット)に関連する重要なメトリクスも監視。
- フィーチャーリポジトリ
フィーチャーストアに関するより詳細な解説は、後述紹介するTecton社によるブログも参考になるかと思います。併せてご参照ください。
MDSにおける主なフィーチャーストア系サービス
ここではモダンデータスタックにおける『フィーチャーストア』のカテゴリで主だったサービスについて幾つか言及していきたいと思います。(ここでの評価はユーザーによるサイト内でのLIKEの数が多いものを中心に見ていきます)
Tecton
Tectonはプロダクション機械学習のためのデータパイプラインを構築、自動化、一元化する完全なフィーチャー・プラットフォームです。本番環境に対応したバッチ、ストリーミング、リアルタイムのデータパイプラインを構築、自動化、一元管理し、あらゆるMLアプリケーションに新鮮なML機能をオンデマンドで提供します。また、トレーニングデータセットを構築し、破損やドリフトを検出するために生産機能を監視するためのソリューションを提供します。
その他Tectonに関する基本的(初歩的)な情報は以下の通り。
- 📚 Tecton Quickstart Tutorial | Tecton
- Custom Built Dynamic Pricing Solutions | Tecton
- Tecton(@TectonAI)さん / X
- Tecton - YouTube
hopsworks
hopsworksはバッチデータからリアルタイムデータまで対応する協調型MLプラットフォームです。フィーチャーパイプライン、トレーニングパイプライン、推論パイプラインを簡単に構築、運用できます。
その他hopsworksに関する基本的(初歩的)な情報は以下の通り。
Feast
Feastは、機械学習のためのエンドツーエンドのオープンソース機能ストアです。チームが機能を定義、管理、発見、提供できるようにします。(ちなみにこのサービスは前述Tectonのオープンソース版だったりします)
その他Feastに関する基本的(初歩的)な情報は以下の通り。
クラウドサービス各社のフィーチャーストア(系サービス)
フィーチャーストアに関しては各種クラウドサービスもそれぞれ機能提供を行っています。
まとめ
という訳で『Modern Data Stack Categories Overview Advent Calendar 2023』5日目の記事、フィーチャーストアに関する紹介エントリでした。
明日6日目は『Event Tracking(イベントトラッキング)』に関する内容となります。お楽しみに!