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

Platform For AI:ファインランク構成

最終更新日:Jun 25, 2026

モデル構成

ファインランク段階では、PAI-Rec は Elastic Algorithm Service (EAS) 上のアルゴリズムモデルサービスを呼び出してスコアを取得します。EAS では、PAI-Rec が呼び出すことができる様々なモデルタイプ (EasyRec、TorchEasyRec、TensorFlow、PMML、PS、Alink など) をデプロイできます。

EasyRec のコードはオープンソースです。PAI-Rec でスコアリングを行うには、EasyRec ドキュメントに従ってモデルをトレーニングし、モデルをエクスポートして、EasyRec プロセッサを使用して EAS サービスとしてデプロイします。

TorchEasyRec は EasyRec の Torch バージョンです。PAI-Rec でスコアリングに使用するには、TorchEasyRec ドキュメントに従ってモデルをトレーニングし、モデルをエクスポートして、EasyRec プロセッサを使用して EAS サービスとしてデプロイします。

構成例

{
    "AlgoConfs": [
        {
            "Name": "room3_mt_v2",
            "Type": "EAS",
            "EasConf": {
                "Processor": "EasyRec",
                "Timeout": 300,
                "ResponseFuncName": "easyrecMutValResponseFunc",
                "Url": "http:xxx.pai-eas.aliyuncs.com/api/predict/xxx",
                "EndpointType": "DIRECT",
                "Auth": ""
            }
        },
        {
            "Name": "room3_mt_v2_torch",
            "Type": "EAS",
            "EasConf": {
                "Processor": "EasyRec",
                "Timeout": 300,
                "ResponseFuncName": "torchrecMutValResponseFunc",
                "Url": "http:xxx.pai-eas.aliyuncs.com/api/predict/xxx",
                "EndpointType": "DIRECT",
                "Auth": ""
            }
        },
        {
            "Name": "tf",
            "Type": "EAS",
            "EasConf": {
                "Processor": "TensorFlow",
                "ResponseFuncName": "tfMutValResponseFunc",
                "Url": "http:xxx.pai-eas.aliyuncs.com/api/predict/xxx",
                "Auth": ""
            }
        },
        {
            "Name": "ps_smart",
            "Type": "EAS",
            "EasConf": {
                "Processor": "PMML",
                "ResponseFuncName": "pssmartResponseFunc",
                "Url": "http:xxx.pai-eas.aliyuncs.com/api/predict/xxx",
                "Auth": ""
            }
        },
        {
            "Name": "fm",
            "Type": "EAS",
            "EasConf": {
                "Processor": "ALINK_FM",
                "ResponseFuncName": "alinkFMResponseFunc",
                "Url": "http:xxx.pai-eas.aliyuncs.com/api/predict/xxx",
                "Auth": ""
            }
        }
    ]
}

パラメーター

タイプ

必須

説明

Name

string

はい

モデル情報のカスタム名です。この名前は RankConf で参照されます。

Type

string

はい

モデルデプロイタイプです。

EasConf

パラメーター

タイプ

必須

説明

Processor

string

はい

モデルタイプです。有効な値:

  • EasyRec

  • TensorFlow

  • ALINK_FM

  • PMML

  • TFServing

Timeout

int

いいえ

モデルリクエストのタイムアウト時間 (ミリ秒単位) です。

ResponseFuncName

string

はい

レスポンスデータを解析するために使用される関数です。この関数は Processor タイプに対応している必要があります。

  • EasyRec

    • TensorFlow バージョンの場合は、easyrecMutValResponseFunc を使用します。

    • Torch バージョンの場合は、torchrecMutValResponseFunc を使用します。

  • TensorFlowtfMutValResponseFunc

  • ALINK_FMalinkFMResponseFunc

  • PMMLpssmartResponseFunc

  • TFServingtfServingResponseFunc

Url

string

はい

モデルのエンドポイント URL です。

EndpointType

string

いいえ

エンドポイントタイプです。有効な値:DOCKER および DIRECT

エンジンとモデルの両方が EAS にデプロイされている場合は、このパラメーターを DIRECT に設定すると、モデルに直接接続してパフォーマンスを向上させることができます。

Auth

string

いいえ

モデル認証用のトークンです。認証が必要なサービスの場合にのみ設定します。

easyrecMutValResponseFunctorchrecMutValResponseFunc、および tfMutValResponseFunc 関数は、複数の目標予測値を返すことができます。PAI-Rec でこれらの値を処理する操作を構成できます。たとえば、返されたすべての値を合計して最終的なランキングスコアを生成できます。

モデルが EAS にデプロイされている場合、PAI-EAS コンソールで UrlAuth の値を確認できます。

PAI-EAS コンソールで、[Inference Service] ページに移動します。対象のサービスを見つけて、[呼び出し情報] リンクをクリックします。表示されるダイアログボックスで、[VPC アドレス呼び出し] タブを選択して Url を取得します。Auth の値は [token] フィールドに対応しています。

アルゴリズム構成

アルゴリズム構成は、構成概要の RankConf に対応しています。RankConfMap[string]object 構造です。キーはシナリオ名で、例では ${scene_name1} や ${scene_name2} などです。AlgoConfs で定義されたカスタムモデル名を使用して、各シナリオに異なるモデルを選択できます。

構成例

{
    "RankConf": {
        "${scene_name1}": {
            "RankAlgoList": [
                "fm"
            ],
            "RankScore": "${fm}"
        },
        "${scene_name2}": {
            "RankAlgoList": [
                "dbmtl_v1"
            ],
            "RankScore": "${dbmtl_v1_probs_ctr} * (${dbmtl_v1_probs_view} + ${dbmtl_v1_y_view_time} + 0.5 * ${dbmtl_v1_probs_on_wheat} + 0.5 * ${dbmtl_v1_y_on_wheat_time} + 0.25 * ${dbmtl_v1_y_gift} + 0.25 * ${dbmtl_v1_probs_add_friend} + 0.1)",
            "Processor": "EasyRec"
        }
    }
}

パラメーター

タイプ

必須

説明

RankAlgoList

[]string

はい

AlgoConfs で定義されたモデル名の配列です。このシナリオでスコアリングに使用するモデルを指定します。

RankScore

string

はい

モデル融合式です。

Processor

string

いいえ

RankAlgoList 内のいずれかのモデルが EasyRec プロセッサを使用している場合は必須で、EasyRec に設定する必要があります。

BatchCount

int

いいえ

モデルへの 1 回のバッチリクエストで送信するアイテムの数です。デフォルト値は 100 です。

ContextFeatures

[]string

いいえ

プロセッサに渡すコンテキスト特徴のリストです。このパラメーターは EasyRec プロセッサにのみ適用されます。

ItemFeatures

[]string

いいえ

EasyRec プロセッサに渡すアイテム特徴のリストで、プロセッサ内のキャッシュされたアイテム特徴を上書きします。このパラメーターは EasyRec プロセッサにのみ適用されます。すべてのアイテム特徴を渡すには、値を ["*"] に設定します。特定の特徴を渡すには、["feature1", "feature2"] のように名前をリストします。このパラメーターは ContextFeatures と組み合わせて使用できます。

RankScore は、複数の目標予測値のためのモデル融合式です。たとえば、dbmtl_v1_probs_ctr では、dbmtl_v1 はモデル構成名を指し、probs_ctr は多目的モデルの目標の 1 つを指します。

RankScore は、次の算術演算子をサポートしています:加算 (+)、減算 (-)、乗算 (*)、除算 (/)、べき乗 (^)、剰余 (%)。たとえば、${dbmtl_v1_probs_ctr} % 2 は剰余演算を実行し、${dbmtl_v1_probs_ctr} ^ 2 はべき乗演算を実行します。

複数のモデルのスコアを融合する場合も同様のパターンに従います。たとえば、dbmtl_v1dbmtl_v2 という 2 つのモデルがある場合、RankAlgoList["dbmtl_v1", "dbmtl_v2"] に設定します。その後、RankScore を ${dbmtl_v1_probs_ctr} + ${dbmtl_v2_probs_y_gift} のような式に設定できます。式の各部分は、モデル名とその目標の 1 つを組み合わせたものです。この例では、probs_ctry_gift はデモンストレーション目的で使用されています。

BatchCount は、PAI-Rec が 1 回のバッチリクエストで送信するアイテムの数を指定します。たとえば、ランキング用の候補セットに 1,000 個のアイテムが含まれており、BatchCount100 に設定した場合、PAI-Rec は 10 個の個別のバッチリクエストを送信し、それぞれに 100 個のアイテムが含まれます。モデル推論サービスのリソースに基づいて、このパラメーターを調整してください。