FeatureStore は、Platform for AI(PAI)が提供する一元化されたデータ管理および共有プラットフォームです。 FeatureStore を使用すると、機械学習と AI トレーニングで使用した特徴量データを整理、保存、および管理できます。 FeatureStore を使用すると、複数のユーザーやチームと簡単に特徴量を共有し、オフラインとオンラインの特徴量データの一貫性を確保し、オンラインの特徴量に効果的にアクセスできます。
FeatureStore とは
FeatureStore は、PAI が提供する特徴量管理ツールです。 FeatureStore を使用すると、オフラインおよびオンライン サービスの特徴量データを保存および管理できます。
FeatureStore は、DataHub、Realtime Compute for Apache Flink、Hologres、Graph Compute、Tablestore などの複数の Alibaba Cloud サービスと統合して、特徴量管理機能を提供します。 これにより、アプリケーションはユーザー行動ログやリアルタイムで更新されるアイテムおよびユーザーの特徴量などのデータを DataHub から受信して MaxCompute と同期したり、Flink によって処理されたデータをオンライン ストレージ サービスに保存したりできます。 最終的に、レコメンデーション エンジン、ユーザーの増加、財務リスク管理などのアプリケーションは、FeatureStore SDK を呼び出して、オンライン ストレージ サービスの特徴量データにアクセスできます。
次の図は、FeatureStore を使用した全体的なプロセスを示しています。 図では、MaxCompute および DataHub からの入力データが特徴量計算およびサンプル モデル管理モジュールによって処理され、クライアント アプリケーション用にオンライン ストレージ サービスに公開されます。
用語
特徴量エンティティ
特徴量エンティティは、オブジェクトに関する情報を提供する、意味的に関連する特徴量のコレクションです。 たとえば、レコメンデーション システム用に user と item という名前の 2 つのエンティティを作成できます。
特徴量ビュー
特徴量ビューには、一連の特徴量とその派生特徴量に関する情報が含まれています。 特徴量ビューは、特定の特徴量エンティティによって記述される特徴量のサブセットです。 特徴量ビューは、オフライン特徴量テーブルとオンライン特徴量テーブル間のマッピングを示します。
結合 ID
特徴量ビューを特徴量エンティティに関連付けるフィールド。 各特徴量エンティティには結合 ID があります。 結合 ID を使用して、複数の特徴量ビューにわたって特徴量を関連付けることができます。
説明
各特徴量ビューには、特徴量を取得するために使用できるプライマリキー(インデックス)があります。 プライマリキーは、結合 ID の名前とは異なる場合があります。
たとえば、レコメンデーション システムの結合 ID として user_id(user テーブルのプライマリキー)と item_id(item テーブルのプライマリキー)を設定できます。
ラベル テーブル
ラベル テーブルには、モデル トレーニングに使用されるラベルが保存されます。 これには、モデル トレーニングのターゲット属性と特徴量エンティティの結合 ID が含まれます。 レコメンデーション システムの場合、ラベル テーブルは一般に、user_id、item_id、または request_id に基づいて行動テーブルのデータをグループ化することによって生成されます。
シナリオ
レコメンデーション システムと広告の並べ替え: このシナリオの特徴量データには、閲覧履歴、購入記録、ユーザーのペルソナが含まれます。 FeatureStore のリアルタイム特徴量の読み取りおよび書き込み機能により、モデルのパフォーマンスが向上し、広告の精度と効果が向上します。
検索エンジンのランキング: このシナリオの特徴量データには、キーワード マッチング、クリック率、販売量が含まれます。 FeatureStore を使用してランキング モデルをトレーニングし、Elasticsearch や OpenSearch などの検索エンジンから結果を呼び出すことができます。 呼び出された結果は、EAS で TensorFlow モデルのスコアリング サービスをリクエストするために使用されます。 これにより、ユーザーの検索意図とプリファレンスに基づいて、より正確でパーソナライズされた検索結果をユーザーに提供できます。
ユーザーの増加とリスク管理: FeatureStore を使用すると、個人情報、取引行動、ユーザーの信用履歴を管理し、XGBoost や GBDT モデルなどの機械学習モデルを使用してリスク評価を実行できます。 これにより、ビジネス リスク管理の精度と効率が向上します。
オフライン キーバリュー データ同期: FeatureStore を使用すると、商品属性テーブルやユーザー属性テーブルなどの特徴量データを管理できます。 これにより、オフライン データのオンライン ストレージ サービスへの同期とスケジューリングが簡素化されます。
特徴
データ ストア
FeatureStore は、特徴量からモデルへのプロセス全体をカプセル化し、さまざまなオフラインおよびリアルタイム データ ストアをサポートしています。 これにより、FeatureStore で特徴量テーブルを簡単に登録および管理できます。 FeatureStore は、次のデータ ストアをサポートしています。
FeatureStore に特徴量テーブルを登録すると、次のようになります。
FeatureStore は、オンラインおよびオフライン テーブルを自動的に作成し、オンラインとオフライン テーブル間の一貫性を確保できます。
特徴量ストアは特徴量テーブルのコピーを 1 つだけ保存し、複数のユーザーと特徴量を共有してリソース コストを削減できます。
FeatureStore で簡単なコードを使用して複雑な操作を完了し、効率を高めることができます。 操作には、トレーニング テーブルのエクスポートとオンライン ストアへのデータのインポートが含まれます。
レコメンデーション エンジンとの統合
FeatureStore は EasyRec と緊密に統合されており、簡単で効率的な 特徴量エンジニアリング(FG)、モデル トレーニング、モデル デプロイメントをサポートしています。 FeatureStore を使用すると、最先端のレコメンデーション システムを迅速に構築できます。 EasyRec プロセッサ は、アイテム特徴量テーブルをメモリにキャッシュして、効率的なモデル スコアリング機能を確保できます。
オフラインおよびオンライン特徴量管理
オフライン特徴量には、ユーザーとアイテムの属性特徴量と統計特徴量が含まれます。 リアルタイム特徴量には、Flink によって Hologres などのオンライン ストアに書き込まれるユーザーまたはアイテムの更新、およびタイム ウィンドウに基づく特徴量が含まれます。 たとえば、更新には新しく公開されたユーザーとアイテムが含まれ、タイム ウィンドウベースの特徴量には、1 時間あたりのクリック数、転送数、購入数量、コンバージョン率が含まれます。 オンライン ストアには、Hologres、Graph Compute、Tablestore が含まれます。
新旧の特徴量の関連付け
アルゴリズム開発またはビジネス インテリジェンス(BI)を通じて新しいユーザーまたはアイテム特徴量のセットを開発する場合、トレーニング セットに必要な新旧の特徴量を関連付けて、FeatureStore SDK を使用してオフライン トレーニング用のサンプルをエクスポートできます。 また、FeatureStore SDK を使用して、オンライン サービス用にサンプルをオンライン ストアに公開することもできます。 単一の特徴量ビューを複数のモデルで参照して、オンライン ストレージを節約できます。 FeatureStore は、効率的な方法で特徴量を追加することにより、モデルの最適化に役立ちます。
リアルタイム統計特徴量とユーザー シーケンス特徴量管理
ほとんどの場合、モデル特徴量の複雑さと適時性に対する需要は徐々に増加しています。 したがって、Flink によって取得されたリアルタイム統計特徴量とユーザー行動シーケンス特徴量を管理する必要があります。 FeatureStore は、ユーザーがクリックしたアイテム ID のシーケンスなど、オフライン ユーザー シーケンス特徴量を定義します。 アイテムの ID シーケンスとは別に、アイテムの SideInfo もモデルで頻繁に使用され、大量のオンライン データを送信するために消費されます。 この問題に対処するには、FeatureStore SDK を使用して EasyRec プロセッサ にアイテム特徴量をキャッシュして、推論応答を高速化し、推論パフォーマンスを向上させることができます。
多言語 SDK
FeatureStore は、GO、Java、Python 用の SDK を提供しており、PAI-REC と EasyRec プロセッサの共同ソリューションで FeatureStore を使用できます。 Java 用 SDK を使用して、EasyRec プロセッサまたはクライアント内の他のモデルのスコアリング エンジン(検索、レコメンデーション、リスク管理エンジンなど)を呼び出すことができます。 また、Python 用 SDK を使用してオンライン ストア内のデータにアクセスし、データ分析とモデリングを実行することもできます。
自動 FG
FeatureStore は、機械学習機能を活用して新しい特徴量を自動的に開発し、研究開発チームの FG のワークロードを削減する自動 FG を提供します。
特徴量モニタリング
FeatureStore は、特徴量の例外と問題をタイムリーに特定して解決するのに役立つ特徴量モニタリングとアラートを提供します。 また、トラブルシューティングの効率向上にも役立ちます。
FeatureStore のしくみ
FeatureStore はデータ ストアを提供します。 FeatureStore は、オフライン ストレージ サービスとオンライン ストレージ サービスと統合されているため、オフラインおよびオンラインの特徴量データを一元的に読み取り、書き込み、管理できます。
FeatureStore の特徴量ビューにオフラインおよびオンライン特徴量テーブルを登録できます。 これにより、特徴量ビューを使用して特徴量データを要約およびマッピングできます。
ラベル テーブルを MaxCompute に保存し、FeatureStore に登録して、FeatureStore が FeatureStore にマッピングされたラベル テーブル データを読み取って処理できるようにすることができます。
FeatureStore では、特徴量エンティティの結合 ID を使用して、複数の特徴量プロジェクトの特徴量ビューを関連付けることができます。 これにより、特徴量エンティティのすべての特徴量を互いに関連付け、ラベル テーブルを使用してモデル特徴量サンプル テーブルを生成し、サンプル テーブルを MaxCompute に保存できます。
リージョン
FeatureStore は、中国(北京)、中国(上海)、中国(杭州)、中国(深圳)、中国(香港)、シンガポール、米国(シリコンバレー)、米国(バージニア)の各リージョンで利用できます。