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

Artificial Intelligence Recommendation:用語

最終更新日:Jan 11, 2025

PAI-Recでは、各サービスと実験は、ホームページのウォーターフォールレコメンデーション、カート内の「おすすめ」レコメンデーション、詳細ページの関連レコメンデーションなど、レコメンデーションシナリオに関連付けられている必要があります。次のセクションでは、関連用語について説明します。

レコメンデーションシナリオ

レコメンデーションシナリオを作成する場合は、レコメンデーションシナリオのページ位置を示す名前を使用することをお勧めします。たとえば、次の図では、シナリオの説明「ホームページのウォーターフォールレコメンデーション」に含まれる「ホームページ」という言葉はシナリオの位置を示し、「ウォーターフォール」はユーザーがホームページをスクロールダウンしてレコメンデーションを参照できることを示します。

「トラフィックコード」フィールドは、PAI-Recシステムにルーティングされないレコメンデーションリクエスト用に予約されています。これは一般的なシナリオです。セルフマネージドのレコメンデーションシステムがある場合は、最初に作成したシナリオのレコメンデーショントラフィックの10%~20%をPAI-Recシステムに切り替えることができます。PAI-Recシステムが目的の効果を達成したら、徐々にPAI-Recシステムにより多くのトラフィックを切り替えることができます。次の例では、HomePageRecシナリオのトラフィックはデフォルトでPAI-Recシステムにルーティングされます。「トラフィックコード」列の値 selfhold は、セルフマネージドのレコメンデーションシステムにルーティングされるトラフィックを示し、値 thirdparty は、サードパーティのレコメンデーションシステムにルーティングされるトラフィックを示します。

image.png

次の図は、6 人のユーザーのトラフィック構成を示しています。ユーザー定義のトラフィック割り当てロジックに従って、「トラフィックコード」フィールドはユーザー a とユーザー b に対して selfhold に設定されています。これは、2 人のユーザーのレコメンデーション結果がセルフマネージドのレコメンデーションシステムから取得されることを意味します。「トラフィックコード」フィールドはユーザー c とユーザー d に対して PAI-REC に設定されています。これは、2 人のユーザーのレコメンデーション結果がPAI-Recシステムから取得されることを意味します。「トラフィックコード」フィールドはユーザー e とユーザー f に対して thirdparty に設定されています。これは、2 人のユーザーのレコメンデーション結果がサードパーティのレコメンデーションシステムから取得されることを意味します。

image.png

ラボと実験レイヤー

ユーザーのレコメンデーションリクエストがPAI-Recシステムにルーティングされると、PAI-Recシステムはこれらのレコメンデーションリクエストをバケットに分割します。Alibaba CloudのPAIチームは、業界の一般的なA/Bテストスキームに基づいて、ラボ、実験レイヤー、実験グループ、および実験を設計します。ラボには実験レイヤーが含まれ、実験レイヤーには実験グループが含まれ、実験グループには実験が含まれます。

ラボはトラフィックの集合です。1 つ以上のラボを作成できますが、ベースラボは必須です。ラボを 1 つだけ作成する場合、このラボはフォールバックのベースラボとして使用する必要があります。トラフィックは優先的にベース以外のラボと照合され、ルーティングされます。一致するラボがない場合、トラフィックはベースラボにルーティングされます。したがって、フォールバック用のラボは 1 つだけ作成できます。

比較的単純なリコールとランキングロジックを持つフォールバックラボと、一般的に使用される複雑なリコールとランキングロジックを持つベース以外のラボを作成できます。このようにして、トラフィックが急増した場合、一部のトラフィックをベースラボにルーティングして、レコメンデーションシステムの安定性を確保できます。

image.png

前の図は、ベースラボの構成を示しています。次のセクションでは、パラメーターについて説明します。

  • ラボ名: カスタムラボ名。

  • 説明: ラボの詳細な説明。

  • ラボタイプ:

    • ベースラボ: ベースラボは必須ですが、ベース以外のラボはオプションです。

    • ベース以外のラボ: トラフィックは優先的にベース以外のラボと照合され、ルーティングされます。ベースラボのモデルが単純だが、ベース以外のラボのモデルが複雑な場合は、2 つのラボを作成できます。ベースラボは、一般的なランダムフォールバックロジックを使用して実装することもできます。

  • ランタイム環境: レコメンデーションエンジンのランタイム環境。有効な値: Daily、Staging、および Production。

  • バケット分割方法:

    • UID ベースのバケット分割: UID の最後の桁に基づいてバケット分割が実行されます。

    • ハッシュ化された UID ベースのバケット分割: UID のハッシュ値に基づいてバケット分割が実行されます。

    • 条件ベースのバケット分割: gender=man などのキーと値の式に基づいてバケット分割が実行されます。

  • バケット: このラボのバケット数。この例では値は 100 です。

  • トラフィック割り当て: このラボに割り当てられたバケットの数。0~99 に設定できます。

  • レイヤリング: 実験レイヤー。ほとんどの場合、recall、filter、coarse_rank、および rank のレイヤーが構成されます。

  • テストユーザー: テストユーザーのトラフィックは、照合なしでこのラボに直接ルーティングできます。

    • 手動入力: 複数のユーザー ID を入力し、コンマ (,) で区切ることができます。

    • ユーザーグループ ID: [ユーザーグループ管理] ページで作成されたユーザーグループを選択します。

実験グループと実験

実験レイヤーごとに複数の実験グループを作成し、実験グループごとに複数の実験を作成できます。複数のアルゴリズムエンジニアがリコールまたはランキング実験を実行する必要がある場合は、複数の実験グループを作成してこれらの実験を分離できます。

ほとんどの場合、実験グループには複数の実験が含まれています。次の図に示す例では、 swing と etrec の 2 つの実験が構成されており、実験 dssm はテスト中です。 dssm のトラフィック比率は 0% に設定されており、この実験はオンライン状態です。この構成は、構成済みのホワイトリストを使用してレコメンデーション効果を得るのに役立ちます。

image.png