リコール、フィルタリング、きめ細かいソート、再ソートをすでに処理している成熟した推薦システムをお持ちの場合、既存のリコール結果を維持したまま、きめ細かいソートと再ソートの段階のみを PAI-Rec に置き換えることができます。PAI-Rec のきめ細かいソートモデルが実験で大幅な向上を示したら、リコールポリシーを PAI-Rec エンジンに段階的に移行できます。
前提条件
開始する前に、以下が完了していることを確認してください。
PAI-FeatureStore でユーザー特徴量とアイテム特徴量が設定されていること
EasyRec プロセッサ (TensorFlow) または TorchEasyRec プロセッサ (PyTorch) を介して、きめ細かいソートモデルがデプロイされていること
特徴量エンジニアリングとモデルデプロイのコードが生成され、DataWorks にデプロイされていること
アーキテクチャ概要

既存のシステムでリコールとフィルタリングを処理し、候補リストを PAI-Rec に渡します。PAI-Rec はきめ細かいソートを実行し、ランク付けされたリストをシステムに返します。
リコールとフィルタリング:既存のシステムでリコールとフィルタリングを実行し、アイテムの候補リストを生成します。
トラフィック分割と API コール:ユーザー ID または他の方法でトラフィックの一部を分割し、PAI-Rec 推薦エンジン API を呼び出します。候補のアイテムリストを
item_listパラメーターで渡します。PAI-Rec によるきめ細かいソート:PAI-Rec は
item_listをリコールソースとして使用します。エンジンはユーザーとアイテムの特徴量を取得し、デプロイされたきめ細かいソートモデルを使用してアイテムのスコアリングとソートを行い、その後、再ソートを適用することもできます。結果の返却とロギング:PAI-Rec はソートされたアイテムリストを、実験 ID (
exp_id) とリクエスト ID (request_id) とともに返します。クライアント側で両方の値を記録してください。exp_id:結果がどの実験に属するかを識別します。実験アトリビューションとパフォーマンス分析に必要です。request_id:リクエストを一意に識別します。データ診断とトラブルシューティングに必要です。
PAI-Rec の設定
PAI-FeatureStore を使用して特徴量を管理する PAI-Rec ソリューションでは、以下を設定します。
モデルスコアリングサービス
モデルのフレームワークに一致するプロセッサを選択します。
| フレームワーク | プロセッサ | リファレンス |
|---|---|---|
| TensorFlow | EasyRec プロセッサ | EasyRec Processor |
| PyTorch | TorchEasyRec プロセッサ | TorchEasyRec Processor |
PAI-Rec エンジンの設定
PAI-Rec エンジンで以下を設定します。
ユーザー特徴量:FeatureStore からユーザー特徴量を取得するように設定します。詳細については、「PAI-FeatureStore feature configuration」をご参照ください。
ContextItemRecall:エンジン設定で ContextItemRecall を設定します。この機能が設定されると、エンジンは API を介して渡された
item_listをリコールソースとして使用します。{ "SceneConfs": { "${scene_name}": { "default": { "RecallNames": [ "ContextItemRecall" ] } } } }きめ細かいソートモデル:エンジン設定ファイルで、きめ細かいソートモデルの呼び出しを設定します。詳細については、「Fine-grained sorting configuration」をご参照ください。
A/B テスト:A/B テストサービスを使用して、内部の A/B テストを管理します。ユーザー ID によるバケット化を使用して、複数のソートモデルを設定します。
ユーザー側の変更
既存のシステムは、すべてのリコール、フィルタリング、および露出の操作を保持します。PAI-Rec と連携するには、以下の 2 つの変更が必要です。
1. PAI-Rec エンジン API の呼び出し
推薦リクエストのロジックを修正して、PAI-Rec エンジン API を呼び出してください。リクエストで、以下を渡してください。
item_list:リコールおよびフィルタリング段階からのアイテム IDユーザー ID とユーザー特徴量
フィルタリングルール
2. ログフィールドの記録
露出・行動ログに、各 PAI-Rec の API レスポンスから以下のフィールドを記録してください。
| フィールド | 目的 | 欠落した場合の影響 |
|---|---|---|
exp_id | 実験を識別します。実験アトリビューションとパフォーマンス分析に使用されます。 | トラフィックのアトリビューションや、実験結果の評価ができなくなります。 |
request_id | リクエストを一意に識別します。データ診断とトラブルシューティングに使用されます。 | 事後にデータの問題を追跡または診断できません。 |