すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:FeatureStore の概要

最終更新日:Oct 29, 2025

FeatureStore は、Platform for AI(PAI)の中央集中型データ管理および共有プラットフォームです。 FeatureStore を使用して、機械学習と AI トレーニングのための特徴量データを整理、保存、および管理できます。 FeatureStore を使用すると、複数の人やチーム間で特徴量を簡単に共有し、オフラインとオンラインの特徴量データの整合性を確保し、オンライン特徴量への効率的なアクセスを提供できます。

FeatureStore とは

FeatureStore は、PAI の特徴量管理ツールです。オフラインおよびオンラインサービスの特徴量データを保存および管理するために使用できます。

FeatureStore は、DataHub、Flink、Hologres、Tablestore などの Alibaba Cloud サービスと統合されており、検索および推奨に特化した特徴量データベースである FeatureDB を開発し、特徴量管理を提供しています。アプリケーションは、DataHub から行動ログ、アイテムプロパティ、およびリアルタイムのユーザープロパティを受信し、それらを直接 MaxCompute に同期できます。データは Flink によって処理され、FeatureStore を介して対応するオンラインストアに書き込むこともできます。その後、推奨システム、ユーザーグロース、リスク管理などのアプリケーションは、FeatureStore SDK を呼び出してオンラインストアの特徴量データにアクセスできます。

次の図は、MaxCompute および DataHub からデータを取り込み、特徴量計算とモデルサンプル管理によって処理し、クライアントアプリケーションのオンラインストアに公開するプロセスを示しています。

image

用語

  • 特徴量エンティティ: 特徴量エンティティ(FeatureEntity)は、特徴量テーブルのコレクションの名前です。 たとえば、レコメンデーションのシナリオでは、ユーザーとアイテムの 2 つの特徴量エンティティを定義できます。 これは、すべてのテーブル特徴量がユーザーまたはアイテムのいずれかに属するためです。

  • 特徴量ビュー: 特徴量ビュー(FeatureView)は、一連の特徴量です。 特徴量のグループとその派生特徴量に関する情報が含まれています。 特徴量ビューは、特徴量エンティティの特徴量セット全体のサブセットです。 オフライン特徴量テーブルとオンライン特徴量テーブル間のマッピングです。

  • 結合 ID: 結合 ID は、特徴量ビューを特徴量エンティティに関連付ける特徴量テーブルフィールドです。 各特徴量エンティティには結合 ID があります。 結合 ID を使用して、複数の特徴量ビューの特徴量を関連付けることができます。

    説明

    各特徴量ビューには、特徴量データを取得するためのプライマリキー(インデックスキー)があります。 ただし、特徴量ビューのインデックスキーは、結合 ID とは異なる名前を持つことができます。

    たとえば、レコメンデーションのシナリオでは、結合 ID を user_id および item_id に設定できます。これらは、ユーザーテーブルとアイテムテーブルのプライマリキーです。

  • ラベルテーブル: ラベルテーブルは、モデルトレーニングのラベルを含むテーブルです。 モデルトレーニングターゲットと特徴量エンティティの結合 ID が含まれています。 レコメンデーションのシナリオでは、このテーブルは通常、GROUP BY user_id, item_id, request_id などの操作を使用して行動テーブルから生成されます。

シナリオ

  • レコメンデーションシステムと広告の並べ替え: FeatureStore を使用して、閲覧履歴、購入記録、ユーザーペルソナなど、ユーザーとアイテムの特徴量を一元管理できます。 FeatureStore のリアルタイムの読み取りおよび書き込み機能により、モデルのパフォーマンスが向上し、広告配信の精度と効果が高まります。

  • 検索エンジンの並べ替え: このシナリオの特徴量データには、キーワードの関連性、クリック率、販売量が含まれます。 FeatureStore を使用して、並べ替えモデルをトレーニングできます。 このモデルは、Elasticsearch/OpenSearch などの検索エンジンからのリコール結果を並べ替えます。 リコール結果は、EAS の TensorFlow モデルサービスからスコアをリクエストするために使用されます。 これにより、ユーザーの検索意図とプリファレンスに基づいて、より正確でパーソナライズされた検索結果がユーザーに提供されます。

  • ユーザーの増加またはリスク管理: FeatureStore を使用して、ユーザーの個人情報、取引行動、信用記録などの特徴量データを管理できます。 このデータを XGBoost や GBDT などの機械学習モデルと組み合わせて、リスク評価を実行できます。 これにより、リスク管理の精度と効率が向上します。

  • オフラインのキーバリュー(KV)データのオンラインストアへの同期: FeatureStore を使用して、製品属性テーブルやユーザー属性テーブルなどの特徴量データを管理できます。 これにより、オフラインデータをオンラインストアに同期するためのスケジューリングタスクが簡素化されます。

特徴

多様なデータソースのサポート

FeatureStore は、特徴量からモデルまでのワークフロー全体を管理します。複数のオフラインおよびオンラインデータソースをサポートしており、そこで特徴量テーブルを登録および管理できます。

次のデータソースがサポートされています:

  • オフラインストア: MaxCompute

  • オンラインストア: FeatureDB、Hologres、Tablestore

FeatureStore に特徴量テーブルを登録すると、次の利点があります。

  • 自動同期: FeatureStore は、オンラインおよびオフラインのテーブルを自動的に構築し、データ整合性を確保します。

  • コスト削減: 特徴量のコピーを 1 つだけ保存し、複数のチームで共有することで、リソースコストを削減できます。

  • 効率の向上: FeatureStore は時間を節約します。トレーニングテーブルのエクスポートやオンラインストアへのデータのインポートなどの複雑な操作は、1 行のコードで完了できます。

オフラインおよびリアルタイム特徴量の管理

FeatureStore は、オフライン特徴量ビューリアルタイム特徴量ビューを管理できます。 オフライン特徴量には、ユーザーとアイテムの属性特徴量と統計特徴量が含まれます。 リアルタイム特徴量には、Flink を介して Hologres などのオンラインストアに直接書き込まれる新しいユーザーまたは新しいアイテムが含まれます。 また、1 時間以内のクリック数、転送数、購入数量、コンバージョン率など、タイムウィンドウで計算された特徴量も含まれます。

リアルタイムの統計特徴量とユーザー行動シーケンスの管理

モデル特徴量の複雑さとリアルタイム要件は、通常時間の経過とともに増加します。 したがって、Flink によって計算されたリアルタイム統計特徴量とユーザー行動シーケンスを管理することが不可欠です。 FeatureStore は、ユーザーがクリックしたアイテム ID のシーケンスなど、オフラインユーザー行動シーケンスを定義します。 アイテム ID シーケンスだけでは不十分です。 モデルは多くの場合、アイテム属性特徴量(SideInfo)を使用します。 SideInfo をオンラインで送信すると、大量のデータが消費されます。 EasyRecでは、FeatureStore SDK を使用してアイテム特徴量をキャッシュできます。 これにより、推論応答時間が短縮され、推論パフォーマンスが向上します。

自動関連付けとモデルサンプルのエクスポート

PAI-FeatureStore を使用して、生成されたサンプルを管理できます。モデルがリアルタイム特徴量ビューの特徴量を使用する場合、モデル特徴量の作成機能を使用できます。この機能は、FeatureDB に記録されたリアルタイム特徴量の更新情報に基づいて、正しいサンプルを自動的に生成できます。この関数を使用することで、リアルタイム特徴量が自動的に関連付けられ、PAI-Rec エンジンにコールバックインターフェイスをデプロイする必要がなくなります。

新旧の特徴量の共有

アルゴリズムまたはビジネスインテリジェンス (BI) 開発者が新しいユーザーまたはアイテムの特徴量のセットを作成する場合、新しい ModelFeature を設計して、トレーニングデータセットで必要な新規および既存の特徴量を関連付けることができます。FeatureStore SDK を使用して、オフライン トレーニング用のサンプルをエクスポートできます。また、FeatureStore SDK を使用して、オンラインサービスのためにオンラインストアに公開することもできます。複数のモデルが同じ特徴量ビューを参照する場合、オンラインでは 1 つのコピーのみが保存されます。この特徴量管理機能は、アルゴリズムエンジニアリング、特にモデルを反復的に最適化するために特徴量を追加する場合に役立ちます。

多言語 SDK

FeatureStore は、Go、Java、および Python 用の SDK を提供します。 これらの SDK は、PAI-RECと EasyRec Processor の共同ソリューションで FeatureStore 機能を使用するのに役立ちます。 Java SDK を使用して、検索、レコメンデーション、リスク管理エンジンなど、独自のサーバーから EasyRec Processor または他のモデルスコアリングエンジンを呼び出すことができます。 Python SDK を使用すると、オンラインストアのデータにアクセスして、データ分析とモデリングを実行できます。

特徴量生成 SDK

特徴量生成とは、特徴量の定義と作成を指します。 Python スクリプトを使用して特徴量を簡単に定義し、スクリプトを実行して必要な特徴量を生成し、PAI-FeatureStore プラットフォームに登録できます。 特徴量生成用 SDK は、MaxCompute SQL に基づく独立したオープンソースツールであり、特徴量生成を簡素化します。 実装では日次中間データを使用します。 これにより、30 日間の行動データに基づいてユーザープリファレンス統計を計算する場合に、計算リソースを大幅に節約できます。

自動特徴量エンジニアリング

FeatureStore は、自動特徴量エンジニアリングを提供する予定です。 この機能は、機械学習を使用して新しい特徴量を自動的に発見し、開発チームの手動特徴量エンジニアリングの作業負荷を削減します。

特徴量モニタリング

FeatureStore は、特徴量モニタリングとアラートを提供する予定です。 これにより、特徴量の異常や問題を迅速に検出して解決し、チームのトラブルシューティングと修復に費やす時間を短縮できます。

EasyRec レコメンデーションエンジンとの緊密な統合

FeatureStore は、EasyRecと緊密に統合されています。 効率的な特徴量エンジニアリング(FG)とモデルトレーニングをサポートしています。 モデルを EasyRec EAS Processor に直接オンラインでデプロイできます。 これにより、短時間でレコメンデーションシステムを構築し、優れた結果を得ることができます。 EasyRecは、アイテム特徴量テーブルをメモリにキャッシュでき、効率的なモデルスコアリングを提供します。

EasyRec processor に統合された FeatureStore C++ SDK は、大規模なシナリオ向けに特別に最適化されています。FeatureStore を使用する場合:

  • メモリ使用量: EasyRec processor に組み込まれている FeatureStore C++ SDK は、特徴量ストレージ用に最適化されています。ネイティブのメモリキャッシュと比較して、50% のメモリを節約します。この節約は、多くの特徴量を処理する場合にさらに顕著になり、リソース消費の削減に役立ちます。

  • 特徴量プル時間: オフライン特徴量ビューを使用して、特徴量を迅速にメモリにキャッシュできます。これは、オンラインデータソースを使用するよりも 5 倍以上高速であり、速度を向上させながらオンラインデータソースの負荷を軽減します。オフラインデータソースは非常に安定しています。テストによると、数百の EAS インスタンスに同時にスケールアウトできます。各インスタンスは、数分以内にすべての特徴量をロードできます。したがって、スケールアウトはオンラインストアに大きな圧力をかけません。

  • モデルスコアリング時間: モデルスコアリングは、最適化されたキャッシュからリアルタイムで特徴量を抽出します。FeatureStore C++ SDK の特定の最適化により、FeatureStore を使用すると、tp100 パフォーマンスが大幅に向上し、スコアリングの安定性が向上し、タイムアウトが削減されます。

仕組み

  • FeatureStore はデータソース機能を提供し、オフラインとオンラインの両方のストレージ製品に接続できます。 これにより、オフラインおよびオンラインの特徴量データを統一された方法で読み取り、書き込み、および管理できます。

  • FeatureStore の特徴量ビューにオフラインおよびオンラインの特徴量テーブルを登録できます。 その後、特徴量ビューを使用して、特徴量データを集約およびマッピングできます。

  • ラベルテーブルをオフラインストア MaxCompute に保存し、オフラインデータソースを介して FeatureStore に登録できます。 登録された FeatureStore ラベルテーブルは、実際のラベルテーブルデータにマッピングされます。

  • FeatureStore は、特徴量プロジェクトと特徴量エンティティを提供します。 特徴量エンティティの結合 ID を使用して、プロジェクト全体の特徴量ビューを関連付けることができます。 これにより、エンティティのすべての特徴量がリンクされます。 最後に、これをラベルテーブルと組み合わせて、トレーニングセットテーブルと呼ばれるモデル特徴量テーブルを作成し、MaxCompute に保存できます。

リージョンとゾーン

FeatureStore は、次のリージョンで利用できます。

中国(北京)、中国(上海)、中国(杭州)、中国(深圳)、中国(香港)、シンガポール、米国(シリコンバレー)、米国(バージニア)。

手順

  1. データソースを作成する。 データソースには、オフラインストアとオンラインストアが含まれます。

  2. プロジェクトを作成する。 特徴量エンティティ、特徴量ビュー、およびラベルテーブルを設定して、モデル特徴量トレーニングセットテーブル(トレーニングデータセット)を作成できます。

  3. データ同期タスクを作成すると、オフラインデータをオンラインストアに同期できます。

  4. オフラインデータをオンラインストアに同期するタスクを開始した後、タスクハブでタスクのステータスと詳細を表示できます。

  5. Java または Go オンラインエンジン(オンラインサービス)で FeatureStore オンラインデータを読み取って使用するには、DingTalk グループ(34415007523)に参加してテクニカルサポートに連絡してください。