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

Platform For AI:FeatureStoreプロジェクトの設定

最終更新日:Sep 27, 2024

FeatureStoreプロジェクトには、オフラインデータストアとオンラインデータストアがあります。 各プロジェクトは独立しています。 プロジェクト内のオンラインおよびオフラインのフィーチャテーブルは、プロジェクトメンバー間で共有できます。 このトピックでは、FeatureStoreプロジェクトを設定する方法について説明します。

前提条件

  • オフラインおよびオンラインのデータストアが作成されます。 データストアの作成方法については、「データストアの設定」をご参照ください。

  • ラベルテーブルはオフラインデータストアに保存されます。

    ラベルテーブルには、モデルトレーニングに使用するラベルが格納されます。 モデルトレーニングのターゲット属性と、フィーチャーエンティティの結合IDが含まれます。 推奨システムの場合、ラベルテーブルは、一般に、user_id、item_id、またはrequest_idに基づいて挙動テーブル内のデータをグループ化することによって生成されます。

    サンプルラベルテーブル (クリックして詳細を表示)

    次のサンプルステートメントでは、フィールドの共通セットを含むラベルテーブルを作成する方法の例を示します。

    存在しない場合は

    CREATE TABLE IF NOT EXISTS rec_sln_demo_fs_rec_sln_demo_sorting_label_table_v3 
    (
        request_id string
        ,user_id string
        ,page string
        ,net_type string
        ,day_h bigint COMMENT 'The hour at which the behavior occurred'
        ,week_day bigint COMMENT 'The day of the week on which the behavior occurred'
        ,day_min string
        ,event_unix_time bigint
        ,item_id string
        ,playtime double
        ,is_click BIGINT
        ,ln_playtime DOUBLE
        ,is_praise BIGINT
    )
    PARTITIONED BY 
    (
        ds string
    )
    LIFECYCLE 90
    ;

プロジェクトの作成

  1. FeatureStoreページに移動します。

    1. PAIコンソールにログインします。 左側のナビゲーションウィンドウで、[データ準備] > [FeatureStore] を選択します。

    2. FeatureStoreページで、[ワークスペースの選択] ドロップダウンリストからワークスペースを選択し、[FeatureStoreの入力] をクリックします。

  2. [プロジェクトの作成] をクリックします。 [プロジェクトの作成] ページで、パラメーターを設定します。

    次の表に、主要なパラメーターを示します。

    パラメーター

    説明

    オフラインストア

    作成したオフラインデータストアを選択します。

    オンラインストア

    作成したオンラインデータストアを選択します。

    オフラインテーブルのライフサイクル

    FeatureStoreによって自動的に作成され、オフラインのMaxComputeデータストアに保存されるテーブルのライフサイクルを指定します。

  3. [送信] をクリックします。

フィーチャエンティティの作成

特徴エンティティは、オブジェクトに関する情報を提供する意味的に関連する特徴の集合である。 たとえば、レコメンデーションシステムのuserとitemという名前の2つのエンティティを作成できます。

  1. プロジェクトリストで、プロジェクトの名前をクリックして、[プロジェクトの詳細] ページに移動します。

  2. [フィーチャーエンティティ] タブで、[フィーチャーエンティティの作成] をクリックします。 表示される右側のパネルでパラメーターを設定します。

    次の表に、主要なパラメーターを示します。

    パラメーター

    説明

    機能エンティティ名

    フィーチャーエンティティの名前。 たとえば、レコメンデーションシステムのuserとitemという名前の2つのエンティティを作成できます。

    参加ID

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

    説明

    各フィーチャビューには、フィーチャを取得するために使用できる主キー (インデックス) があります。 主キーは、結合IDの名前とは異なる場合があります。

    たとえば、推奨システムの結合IDとして、user_id (ユーザーテーブルの主キー) とitem_id (アイテムテーブルの主キー) を設定できます。

  3. [送信] をクリックします。

フィーチャビューの作成

フィーチャビューには、フィーチャとその派生フィーチャの論理コレクションが含まれます。 機能ビューは、機能エンティティのサブセットであり、オフライン機能とオンライン機能の一貫性を確保するのに役立ちます。

  1. [プロジェクトの詳細] ページで、[機能ビュー] タブをクリックし、[機能ビューの作成] をクリックします。

  2. 表示される右側のパネルでパラメーターを設定し、[送信] をクリックします。

    • オフラインフィーチャビューを作成して、オフラインフィーチャデータを登録できます。

    • リアルタイムフィーチャビューを作成して、リアルタイムフィーチャデータを登録できます。

      リアルタイム機能の詳細については、このトピックの「リアルタイム機能の概要」を参照してください。

    次の表に、オフラインおよびリアルタイムの機能ビューの主要なパラメーターを示します。

オフライン機能ビューの作成

次の表に、オフラインフィーチャビューの主要なパラメーターを示します。

パラメーター

説明

データ型

作成するフィーチャビューのタイプ。 オフラインフィーチャビューを作成するには、このパラメーターをofflineに設定します。

書き込みモード

  • オフラインテーブルの使用: フィーチャビューは、オフラインデータストア内のフィーチャテーブルのスキーマを使用します。

    このモードを選択する場合は、使用するフィーチャテーブルと、テーブルが格納されているデータストアを指定する必要があります。

  • テーブルスキーマのカスタマイズ: 機能ビューでは、カスタムテーブルスキーマが使用されます。

    このモードを選択する場合は、フィールドを追加し、フィールド属性を設定する必要があります。

次のフィールド属性を設定します。

  • プライマリキー: フィーチャビューのプライマリキーとして使用されるフィールド。

  • Event TimeおよびPartition Field: イベントのタイムスタンプを含むフィールド。 イベント時間フィールドまたはパーティションフィールドとして少なくとも1つのフィールドを追加します。

オンライン機能テーブルの同期

フィーチャビューのデータを同じプロジェクトのオンラインデータストアに同期するかどうかを指定します。

機能エンティティ

フィーチャビューに関連付けるフィーチャエンティティを選択します。

説明

特徴エンティティは、複数の特徴ビューに関連付けることができます。

機能ライフサイクル

機能ビューのライフサイクルを指定します。 ライフサイクルは、オンラインデータストアに書き込まれた機能が保持される期間を決定します。

リアルタイムフィーチャビューの作成

次の表に、リアルタイムフィーチャビューの主要なパラメーターを示します。

パラメーター

説明

表示名

ヒントに従ってカスタム名を指定します。

データ型

作成するフィーチャビューのタイプ。 リアルタイムフィーチャビューを作成するには、このパラメーターをリアルタイムに設定します。

機能エンティティ

フィーチャビューに関連付けるフィーチャエンティティを選択します。

説明

特徴エンティティは、複数の特徴ビューに関連付けることができます。

書き込みモード

テーブルスキーマのカスタマイズのみがサポートされています。 機能ビューでは、カスタムテーブルスキーマを使用します。

このモードを選択する場合は、フィールドを追加し、フィールド属性を設定する必要があります。

次のフィールド属性を設定します。

  • プライマリキー: フィーチャビューのプライマリキーとして使用されるフィールド。

  • Event TimeおよびPartition Field: イベントのタイムスタンプを含むフィールド。 イベント時間フィールドまたはパーティションフィールドとして少なくとも1つのフィールドを追加します。

Featureフィールド

要件に基づいて機能フィールドを指定します。

  • FeatureDBを使用する場合は、[イベント時間] を指定する必要はありません。 FeatureDBはデフォルトでEvent Timeフィールドを作成し、その値をフィーチャの実際の書き込み時間に設定します。 [イベント時間] フィールドを設定し、フィーチャの書き込み時に値を設定することもできます。

  • FeatureDBを使用しない場合は、[イベント時間] を指定し、後でサンプルのオフラインエクスポートの値を設定する必要があります。

機能ライフサイクル

機能ビューのライフサイクルを指定します。 値を1より大きい数値に設定することを推奨します。 デフォルト値:30。 単位:日

詳細設定

JSONメッセージを使用して高度なオプションを設定できます。 save_original_fieldフィールドのみがサポートされています。

  • {" save_original_field ":" true "} は、MaxComputeデータストアのテーブルがGraphComputeデータストアのテーブルと同じスキーマを持つことを示します。

  • {" save_original_field ":" false "} は、FeatureStoreを使用したスキーママッピングが必要であることを示します。

説明

GraphComputeデータストアでは、フィールド名の長さは30文字を超えることはできません。 MaxComputeデータストアに名前が30文字を超えるフィールドが含まれている場合、スキーマをマップするには {"save_original_field ":" false "} を指定する必要があります。

ラベルテーブルの作成

ラベルテーブルには、モデルトレーニングに使用するラベルが格納されます。 モデルトレーニングのターゲット属性と、フィーチャーエンティティの結合IDが含まれます。 推奨システムの場合、ラベルテーブルは、一般に、user_id、item_id、またはrequest_idに基づいて挙動テーブル内のデータをグループ化することによって生成される。

  1. [プロジェクトの詳細] ページで、[ラベルテーブル] タブをクリックし、[ラベルテーブルの作成] をクリックします。

  2. 表示される右側のパネルで、使用するラベルテーブルが保存されているデータストアを選択し、テーブルを選択します。

  3. ラベルテーブルのフィールドを設定し、[送信] をクリックします。 次の表に、設定できるフィールド属性を示します。

    属性

    説明

    Featureフィールド

    ラベルテーブルのフィーチャデータを含むフィールド。

    FG予約済みフィールド

    設定は必要ありません。

    イベント時間

    ラベルテーブル内のイベントのタイムスタンプを含むフィールド。

    ラベルフィールド

    ラベルテーブル内のラベルを含むフィールド。

    Partitionフィールド

    ラベルテーブルをセグメント化するパーティションフィールド。

モデルフィーチャーの作成

モデル特徴は、モデルがトレーニングおよび提供に使用する入力である。 選択したフィーチャに基づいてモデルを構築した後、FeatureStoreはオフライントレーニング用にMaxComputeデータストアにトレーニングデータセットを作成します。 モデルフィーチャをElastic Algorithm Service (EAS) で指定するか、モデル推論のためにFeatureStoreからフィーチャデータを自動的にプルするPAI-RECができます。

  1. [プロジェクトの詳細] ページで、[モデル機能] タブをクリックし、[モデル機能の作成] をクリックします。

  2. 表示される右側のパネルで、パラメーターを設定し、[送信] をクリックします。

    次の表に、主要なパラメーターを示します。

    パラメーター

    説明

    フィーチャーの選択

    バッチフィーチャビューでフィーチャを選択し、エイリアスを指定します。

    ラベルテーブル名

    作成したラベルテーブルを選択します。

    エクスポートテーブル名

    デフォルトでは、自動作成が選択されています。これは、オフライントレーニング用にトレーニングデータセットがMaxComputeデータストアに自動的に作成されることを示しています。

リアルタイム機能とは

条件

リアルタイム機能は、ミリ秒以内であってもリアルタイムで変化する機能です。 リアルタイム機能は、通常、サーバなどのシステムで生成または更新され、処理および意思決定のために直ちに使用されます。 リアルタイム特徴の生成および使用は、通常、リアルタイムのデータストリーム分析またはシステムにおいて行われ、高い適時性および迅速な応答によって特徴付けられます。

リアルタイム特徴は、通常、データストリームから抽出されます。 Flinkなどのデータストリームシステムは、現在のステータスを最もよく反映するリアルタイムの機能を計算して判断できます。 リアルタイム機能では、リンク全体に高いパフォーマンスと低いレイテンシが必要です。 リアルタイム特徴は動的に更新されるので、システムは特徴を連続的に再計算する必要があります。

シナリオ

リアルタイム機能は、次の一般的なシナリオで使用されます。

  • オンライン広告: ユーザーの現在のブラウジング行動に基づいて、リアルタイムで広告コンテンツを調整します。

  • 不正検出: 金融取引の疑わしい動作をリアルタイムで検出し、アラートをトリガーしたり、取引をブロックしたりします。

  • パーソナライズされた推奨: ユーザーの現在のアクティビティと履歴データに基づいて、推奨リストをリアルタイムで更新します。

  • IoTシステム: IoTシステムでデバイスをリアルタイムで監視および制御します。 リアルタイム特徴が生成され、環境の変化に対する応答として使用されます。

レコメンデーションおよび広告システムでリアルタイム機能を使用

リアルタイム機能の作成

FeatureStoreでリアルタイムフィーチャビューを作成すると、リアルタイムフィーチャの書き込みと読み取りのために、同じスキーマを持つテーブルがオンラインデータエンジンに自動的に作成されます。 FeatureDB、TableStore、Hologres、GraphComputeなどのデータソースを使用する場合、バックエンドはDataHubメッセージキューに接続できます。 データは、DataHubを介してFlinkに送信できます。 Flinkはリアルタイムの特徴を処理して計算し、その特徴をオンラインデータソースの対応するテーブルに書き込みます。 リアルタイムフィーチャビューの詳細ページで、特定のテーブル名を表示できます。

オンライン機能を読む

  • EasyRecプロセッサを使用する場合、EasyRecプロセッサは組み込みのFeatureStore SDK for Cppを提供します。 リアルタイムフィーチャを識別して読み取るには、モデルフィーチャ名 (fs_model) を指定するだけです。

  • FeatureStore SDK for GoまたはFeatureStore SDK for Javaを使用している場合、SDKの設定に基づいてリアルタイム機能を読み取ることができます。

オフラインサンプルのエクスポート

FeatureStoreは、フィーチャビューに対応するオフラインデータエンジンのテーブルを自動的に結合およびエクスポートします。

リアルタイムの機能ビューの場合:

  • FeatureDBを使用する場合、FeatureDBはオンラインで書き込まれたデータをオフラインデータエンジンの対応するオフラインテーブルに自動的に書き込みます。

  • FeatureDBを使用しない場合は、オフラインデータエンジンの対応するオフラインテーブルにデータを書き込むタスクを作成する必要があります。 PAI-Recの推奨ソリューションのカスタマイズ機能を使用して、対応するオフラインテーブルのデータとして機能するリアルタイムデータをオフラインでシミュレートすることもできます。

FeatureStoreのリアルタイム機能ビュー

プロセスの申请

image

FeatureStoreのリアルタイムフィーチャビューは、リアルタイムで変化するフィーチャを処理するように設計されています。 DataHubメッセージキューとFlinkを介してオンライン機能をリアルタイムで書き込みます。 次に、EasyRecプロセッサを使用して、FeatureStore SDKを使用して、リアルタイムで機能をポーリングおよび読み取り、またはリアルタイムで機能を読み取ります。

エクスポート手順

複数のリアルタイムフィーチャビューとオフラインフィーチャビューを選択して、エクスポートするモデルフィーチャを作成できます。 FeatureStoreは自動エクスポートをサポートしています。 次の表は、さまざまなシナリオのリアルタイム機能ビューに対応するオフラインテーブルのソースを示しています。

オンラインデータソース

FeatureDB

Hologres/TableStore/GraphCompute

推奨エンジン

関係ありません

PAI-REC (カスタマイズ推奨ソリューションを使用)

その他

エクスポート手順

FeatureStoreを介して直接エクスポートします。

推奨アルゴリズムによってシミュレートされたデータを対応するオフラインテーブルにインポートします。 次に、FeatureStoreを通じてエクスポートします。

対応するオフラインテーブルを手動でエクスポートします。 次に、FeatureStoreを通じてエクスポートします。

同期プロシージャ

同期操作は、次の2つのタイプに分類できます。

次に何をすべきか

FeatureStoreプロジェクトを設定したら、FeatureStoreを使用してレコメンデーションシステムの機能を管理できます。