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

:ファインランク設定

最終更新日:Jun 22, 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": "dbmtl_v1",
            "Type": "EAS",
            "EasConf": {
                "Processor": "EasyRec",
                "Timeout": 300,
                "ResponseFuncName": "easyrecMutValResponseFunc",
                "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

文字列

はい

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

Type

文字列

はい

モデルデプロイタイプ。

EasConf

パラメーター

データ型

必須

説明

Processor

文字列

はい

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

  • EasyRec

  • TensorFlow

  • ALINK_FM

  • PMML

  • TFServing

Timeout

int

いいえ

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

ResponseFuncName

文字列

はい

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

  • EasyRec

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

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

  • TensorFlowtfMutValResponseFunc

  • ALINK_FMalinkFMResponseFunc

  • PMMLpssmartResponseFunc

  • TFServingtfServingResponseFunc

Url

文字列

はい

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

EndpointType

文字列

いいえ

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

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

Auth

文字列

はい

モデル認証用のトークン。

easyrecMutValResponseFunctorchrecMutValResponseFunctfMutValResponseFunc 関数は、複数のターゲット予測値を返すことができます。PAI-Rec ではこれらの値を処理する操作を設定できます。たとえば、返されたすべての値を合計して、最終的なランキングスコアを生成できます。

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

PAI-EAS コンソールで、 [Inference Service] ページに移動します。対象のサービスを見つけ、 [Invocation Information] リンクをクリックします。表示されるダイアログボックスで、 [VPC Address Call] タブを選択して 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

文字列

はい

モデル融合式。

Processor

文字列

いいえ

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 個のアイテムが含まれます。モデル推論サービスのリソースに基づいて、このパラメーターを調整してください。