メインコンテンツへジャンプ

特徴量ストアとは

tecton

更新日: 2025年5月15日

著者について:
Mike Del Balso、Tectonの CEO & 共同創業者
Willem Pienaar、Feastのクリエイター

データチームは、機械学習の本番運用にはデータパイプラインの作成をはるかに超えるデータの問題を意識するようになっています。

以前の投稿「Why We Need DevOps for 機械学習 Data」では、機械学習システムを本番環境に導入する際にチームが直面する主要なデータ課題のいくつかを取り上げました。

  • 適切な生データへのアクセス
  • 生データからの特徴量の構築
  • 特徴量を組み合わせてトレーニングデータを作成
  • 本番運用での特徴量の計算とサービング
  • 特徴量のモニタリング(本番運用)

大規模なアナリティクス向けであれ、リアルタイムのストリーミング向けであれ、本番運用のデータシステムは新しいものではありません。しかし、operational machine learning(顧客向けアプリケーションに組み込まれた ML 主導のインテリジェンス)は、ほとんどのチームにとって新しいものです。運用目的で機械学習を本番環境に導入する課題するという課題 (例: レコメンダーシステム、不正検知、パーソナライゼーションなど) は、私たちのデータツールに新たな要件をもたらします。

それを可能にするために、新しい種類のMLに特化したデータインフラストラクチャが登場しています。

データサイエンスチームやデータエンジニアリングチームは、機械学習アプリケーションを本番稼働させるために必要なデータセットとデータパイプラインを管理するために、ますますFeature Storeに注目するようになっています。この記事では、最新のFeature Storeの主要なコンポーネントと、これらが連携することでデータエンジニアリング作業の重複削減、機械学習ライフサイクルの迅速化、データサイエンスチーム間の新たなコラボレーションを可能にし、組織の能力をいかに飛躍的に高めるかについて説明します。

簡単なおさらい: 機械学習において、特徴量とは、予測モデルへの入力シグナルとして使用されるデータのことです。
例えば、クレジットカード会社がある取引が不正かどうかを予測しようとしている場合、有用な特徴量としては、その取引が国外で行われているかどうか、あるいはその取引の金額が顧客の通常の取引額と比べてどの程度か、といったものが考えられます。特徴量と言う場合、通常はそのシグナルの概念を指します (例:「transaction_in_foreign_country」)、特徴量の特定の値ではなく (例:「取引 #1364 は国外で行われた」ということではありません)。
ML特化のデータ基盤

フィーチャーストアの主な目的とは

「モデルとデータのインターフェース」

私たちは、Uber の Michelangelo プラットフォームについて説明したブログ記事で、初めてFeature Storeを紹介しました。以来、Feature Storeは運用machine learningスタックに不可欠なコンポーネントとして登場しました。

Feature Storeのメリットは次のとおりです。

  1. 大規模なエンジニアリング サポートなしで、新しい特徴量を本番環境に導入する
  2. 特徴量の計算、バックフィル、ロギングを自動化
  3. チーム間で特徴量パイプラインを共有および再利用する
  4. 特徴量のバージョン、リネージ、メタデータを追跡
  5. トレーニングデータとサービングデータ間での一貫性を確保
  6. 本番運用にある特徴量パイプラインの健全性を監視

Feature Storeは、運用機械学習アプリケーションの構築と運用時に発生する、データマネジメントに関するあらゆる問題を解決することを目指しています。

Feature Storeは、次のような ML 専用のデータシステムです。

  • 生データを特徴量に変換するデータパイプラインを実行
  • 特徴量データ自体を保存・管理し、
  • トレーニングと推論の目的で特徴量データを一貫してサーブします
Tecton

単純な特徴量管理をサポートするために、Feature Storeは、さまざまな環境にわたる特徴量パイプラインの構築、デプロイ、理解を容易にするデータ抽象化を提供します。例えば、特徴量変換を一度定義すれば、開発環境(履歴値でのトレーニング用)と本番運用(最新の特徴量値での推論用)の両方で、その値を一貫して計算およびサービングすることが容易になります。

Feature Storeは、機械学習プロジェクトのライフサイクル全体にわたって特徴量データとメタデータを一元管理するハブとして機能します。Feature Store内のデータは、次の目的で使用されます。

  • 特徴量の探索とエンジニアリング
  • モデルのイテレーション、トレーニング、デバッグ
  • 特徴量の発見と共有
  • 推論用モデルへの本番運用サービング
  • 運用の健全性モニタリング

Feature Storeはコラボレーションを促進し、機械学習組織に規模の経済をもたらします。特徴量がFeature Storeに登録されると、組織全体の他のモデルですぐに再利用できるようになります。これにより、データエンジニアリング作業の重複が減り、新しい機械学習プロジェクトでは、キュレーション済みの本番運用対応の特徴量ライブラリを使って迅速に開発を開始できます。

Tecton

効果的なFeature Storeは、デプロイされる環境に適応できるモジュール式のシステムとして設計されています。通常、Feature Storeは5つの主要なコンポーネントで構成されています。この記事の後半では、これらのコンポーネントを順に見ていき、運用 機械学習 アプリケーションを支える上での各コンポーネントの役割について説明します。

フィーチャーストアのコンポーネント

最新のFeature Storeには、主に5つのコンポーネントがあります。変換、ストレージ、サービング、モニタリング、特徴量レジストリです。

Tecton

以降のセクションでは、これらの各セクションの目的と一般的な機能の概要を説明します。

特徴量データのサービング

Feature Storeはモデルに特徴量データを提供します。それらのモデルには、トレーニングとサービングで一貫した特徴量のビューが必要です。モデルをトレーニングする際に使用される特徴量の定義は、オンラインサービングで提供される特徴量と完全に一致している必要があります。これらが一致しない場合、トレーニング/サービング スキューが生じ、壊滅的でデバッグが困難なモデルのパフォーマンス問題を引き起こす可能性があります。

Tecton

Feature Storeは、特徴量生成のロジックと処理を抽象化します。これにより、ユーザーは、必要とされるあらゆる環境において、企業内のすべての特徴量に、一貫性のある簡単で標準的な方法でアクセスできます。

オフラインでデータ (トレーニング用など) を取得する場合、通常はノートブックと連携しやすいFeature Store SDK を通じて特徴量にアクセスします。これらは、モデルをトレーニングするために使用される各サンプルに対して、ある時点の世界の状態を正確に表現したビューを提供します (別名「タイムトラベル」)。

オンラインサービングの場合、Feature Storeは最新の特徴量値で構成される単一の特徴量ベクトルを一度に提供します。レスポンスは、低レイテンシのデータベースに支えられた高性能な API を通じて提供されます。

Tecton

Machine Learningのためのデータストレージ

特徴量ストアは特徴量データを永続化し、特徴量サービングレイヤーによるデータ取得をサポートします。特徴量ストアには通常、さまざまなfeature servingシステムの要件に対応するため、オンラインとオフラインの両方のストレージ レイヤーが含まれています。

Tecton

オフラインストレージレイヤーは通常、トレーニング目的で数か月から数年分の特徴量データを保存するために使用されます。オフラインのFeature Storeのデータは、S3、BigQuery、Snowflake、Redshift などのデータウェアハウスやデータレイクに保存されることがよくあります。データサイロを防ぐため、オフラインの特徴量ストレージには既存のデータレイクやデータウェアハウスを拡張することが一般的に推奨されます。

オンラインストレージレイヤーは、推論時に低レイテンシーで検索できるよう、特徴量を永続化するために使用されます。通常、各エンティティの最新の特徴量のみを保存し、実質的に世界の現在の状態をモデル化します。オンラインストアは通常、結果整合性を持ち、ほとんどの機械学習ユースケースでは厳密な一貫性要件はありません。通常、DynamoDB、Redis、Cassandra のようなキーバリューストアで実装されます。

Tecton

Feature Storeは、エンティティベースのデータモデルを使用します。このモデルでは、各特徴量はエンティティ(例: ユーザー)とタイムスタンプに関連付けられます。エンティティベースのデータモデルは、標準化された特徴量管理をサポートするための最小限の構造を提供し、一般的な特徴量エンジニアリングのワークフローに自然に適合し、本番運用での単純なクエリーを可能にします。

機械学習におけるデータ変換

Tecton

運用 機械学習 アプリケーションでは、モデルが最新の世界の状況を使用して予測を行えるように、新しいデータを定期的に処理して特徴量にする必要があります。Feature Storeは、これらの値を生成するデータ変換を管理・オーケストレーションすると同時に、外部システムで生成された値を取り込みます。Feature Storeによって管理される変換は、共通の特徴量レジストリ (後述) の定義によって設定されます。

Feature Storeを使い始めるほとんどのチームは、すでに特徴量を生成する既存のデータパイプラインを持っています。このため、Feature Storeが段階的に導入可能であり、既存のデータプラットフォームと高度な連携機能を持つことが非常に重要です。これにより、チームは既存のETLパイプラインを機械学習ユースケース向けに即座に運用化できます。

 

Feature Storeは、主に3種類のデータ変換と連携します:

特徴量のタイプ定義一般的な入力データソース
バッチ変換保存データにのみ適用される変換データウェアハウス、データレイク、データベースユーザーの国、製品カテゴリ
ストリーミング変換ストリーミング ソースに適用される変換Kafka, Kinesis, PubSub過去 30 分間のユーザーごと、カテゴリごとのクリック数、過去 1 時間のリスティングごとの表示回数
オンデマンド変換予測時にのみ利用可能となるデータに基づき、特徴量を生成するための変換。これらの特徴量は事前にコンピュートできません。ユーザー向けアプリケーションユーザーは現在、サポート対象の場所にいますか?

主なメリットは、1 つのモデル内でさまざまな種類の特徴量を簡単に組み合わせて使用できることです。

Tecton

モデルは推論のために最新の特徴量値にアクセスする必要があります。Feature Storeは、特徴量を定期的に再計算することでこれを実現します。新しいデータが処理され、最新の特徴量値に変換されるように、変換ジョブがオーケストレーションされます。これらのジョブは、Feature Storeが接続されているデータ処理エンジン (Spark や Pandas など) で実行されます。

モデル開発では、さまざまな変換要件が生じます。モデルのイテレーションでは、過去のイベント (例: 過去 6 か月間のすべての購入など) に対応するトレーニングデータセットで使用する新しい特徴量を設計することがよくあります。これらのユースケースをサポートするために、Feature Storeでは、トレーニング用に特徴量の過去の値を生成して永続化する「バックフィルジョブ」を簡単にランできます。一部のFeature Storeでは、新しく登録された特徴量について、登録済みのトレーニングデータセット用に、事前に設定された期間のバックフィルを自動的に行います。

変換コードが環境間で再利用されることでトレーニング・サービング・スキューを防ぎ、チームが環境ごとにコードを書き直す手間をなくします。

Feature Storeは、特徴量に関連するすべてのリソース (コンピュート、ストレージ、サービング) を、特徴量のライフサイクル全体にわたって包括的に管理します。特徴量を本番運用させるために必要な反復的なエンジニアリングタスクを自動化することで、本番環境へのシンプルで迅速な道のりを実現します。管理の最適化 (例:どのモデルでも使用されていない特徴量の廃止や、モデル間での特徴量変換の重複排除など) は、特にチームが成長して特徴量の手動管理が複雑化するにつれて、大幅な効率化をもたらす可能性があります。

 

機械学習のモニタリング

機械学習システムで何か問題が発生した場合、それは通常、データの問題です。Feature Storeは、このような問題を検出して表面化させる上で、独自の役割を果たします。フィーチャーストアは、格納および提供する特徴量の正確性と品質を示すメトリクスを計算できます。Feature Storeはこれらのメトリクスをモニタリングして、機械学習アプリケーションの全体的な健全性に関するシグナルを提供します。

Tecton

特徴量データは、ユーザー定義のスキーマやその他の構造的な基準に基づいて検証できます。データ品質は、ドリフトやトレーニングとサービング間のスキューをモニタリングすることによって追跡されます。例えば、モデルにサービングされた特徴量データと、モデルがトレーニングされたデータとを比較して、モデルのパフォーマンスを低下させる可能性のある不整合を検出します。

本番運用を行う場合、運用メトリクスを監視することも重要です。フィーチャーストアは、コア機能に関連する運用メトリクス、例えば特徴量ストレージに関するメトリクス (可用性、容量、使用率、鮮度) やfeature servingに関するメトリクス (スループット、レイテンシー、エラー率) などを追跡します。その他のメトリクスは、外部のデータ処理エンジンの運用メトリクス (ジョブ成功率、スループット、処理の遅延とレートなど) といった、重要な隣接システムコンポーネントの運用状況を記述します。

Feature Storeは、これらのメトリクスを既存のモニタリング インフラストラクチャで利用できるようにします。これにより、本番運用スタックの既存のオブザーバビリティ ツールを使用して、機械学習アプリケーションの健全性をモニタリングおよび管理できるようになります。

Feature Storeでは、どの特徴量がどのモデルで使用されているかを可視化できるため、アラートやメトリクスを、特定のユーザー、モデル、コンシューマーに関連するビューに自動で集約できます。

すべてのFeature Storeがこのようなモニタリング機能を内部に実装することが不可欠というわけではありませんが、少なくともデータ品質モニタリングシステムを接続できるインターフェースを提供すべきです。機械学習のユースケースが異なれば、専門的なモニタリングニーズも異なる可能性があるため、ここでのプラガビリティは重要です。

 

機械学習モデル レジストリ

すべてのFeature Storeにおける重要なコンポーネントは、標準化された特徴量の定義とメタデータの一元的なレジストリです。レジストリは、組織内の特徴量に関する情報について、信頼できる唯一のソース (Single Source of Truth) として機能します。

Tecton

レジストリは、ユーザーがFeature Storeを操作するための中央インターフェースです。チームはレジストリを共通のカタログとして使用して、チーム内やチーム間で新しい定義を探索、開発、共同作業し、公開します。

レジストリ内の定義は、Feature Store システムの動作を構成します。自動化されたジョブはレジストリを使用して、データ取り込み、変換、ストレージのスケジュール設定および構成を行います。これは、Feature Storeにどのデータが格納され、どのように整理されるかの基礎となります。サービング APIs はレジストリを利用して、どの特徴量を利用可能にするか、誰がアクセスできるか、どのようにサービングするかについて、一貫した解釈をします。

レジストリを使用すると、特徴量の定義に重要なメタデータを添付できます。これにより、所有権、プロジェクトやドメイン固有の情報を追跡し、隣接システムと簡単に統合するための手段が提供されます。これには、リネージ トラッキングに使用される、依存関係とバージョンに関する情報が含まれます。

一般的なデバッグ、コンプライアンス、監査の各ワークフローを支援するために、レジストリは、分析的に利用可能なものと、実際に本番運用で実行されているものを示す不変の記録として機能します。

ここまで、Feature Storeの核となる最小限のコンポーネントを見てきました。実際には、企業はコンプライアンス、ガバナンス、セキュリティといったニーズを抱えていることが多く、それらにはエンタープライズ向けの追加機能が必要となります。それについては、今後のブログ記事で取り上げる予定です。

Feature Storeの起動

私たちは、Feature Store が最新の機械学習アプリケーションにおけるデータフローの心臓部であると考えています。フィーチャーストアは、機械学習を本番運用に導入するデータサイエンスチームにとって不可欠なインフラストラクチャであることが急速に明らかになりつつあります。2028年までにFeature Storeを利用する組織の数は4倍になると予測しています。

Feature Storeの起動には、いくつかのオプションがあります。

  • Feast は、特徴量をコンピュートするパイプラインはすでにあるものの、本番運用でそれらを使用するための優れたストレージおよびサービングレイヤーが必要な場合に最適な選択肢です。現在、Feast は GCP のみで利用可能ですが、あらゆる環境向けの軽量なFeature Storeとして利用できるよう、開発に懸命に取り組んでいます。ご期待ください。
  • Tecton は、サービスとしての特徴量プラットフォームです。Feast と Tecton の大きな違いは、Tecton が変換をサポートしている点です。そのため、特徴量パイプラインを Tecton 内でエンドツーエンドで管理できます。Tecton はマネージド サービスであり、本番運用の SLA、ホスティング、高度なコラボレーション、マネージド変換(バッチ/ストリーミング/リアルタイム)、エンタープライズ機能のいずれかまたはすべてが必要な場合に、優れた Feature Store の選択肢となります。

私たちは、Feature Storeが運用 機械学習 スタックの主要なコンポーネントとして台頭する中で、その共通の定義を提供するためにこのブログ記事を執筆しました。この分野では、業界の活動が爆発的に活発化すると確信しています。

    用語集に戻る