PAI-ABTest は、すぐに使用できる汎用モデルサービス テストを提供します。大規模言語モデル(LLM)サービス、およびインテリジェント検索、レコメンデーション、広告などのモデルサービス関連のシナリオでは、オンライン パフォーマンスに基づいてモデル サービスを変更し、モデル サービス間のトラフィック分散を調整して、費用対効果の高い低コストの短期モデル サービス テストを実施する必要がある場合があります。
制限事項
PAI-ABTest は、中国(北京)、中国(上海)、中国(杭州)、中国(深圳)のリージョンでのみ使用できます。
PAI-ABTest は、ロールベースのシングルサインオン(SSO)を使用したアクセスをサポートしていません。 RAM ユーザーを使用してのみ PAI-ABTest にアクセスできます。
課金方法
PAI-ABTest は招待プレビュー中で、無料でご利用いただけます。Platform for AI(PAI)の Elastic Algorithm Service(EAS)や MaxCompute など、他の Alibaba Cloud サービスを使用する場合、PAI-ABTest の使用時に消費されたリソースに対して課金されます。詳細については、「EAS の課金」および「MaxCompute 課金の概要」をご参照ください。
用語
実験管理
実験: AB テストが必要な異なる実験バージョンの組み合わせ。 1 つの実験で複数のバージョンと組み合わせを構成できます。実験トラフィックは、複数の実験を含む実験レイヤーから取得されます。同じレイヤーの実験のトラフィックは相互排他的です。実験には、実験プロセスを制御するパラメーターの組み合わせが含まれます。各実験バージョンのトラフィックはランダムに割り当てられます。異なるパラメーターとその効果を比較できます。
実験プロジェクト: ビジネス ロジックの集約。同様のビジネス シナリオのサービスは、同じプロジェクトにグループ化できます。
実験ドメイン: トラフィックの集合。トラフィックは、特定のビジネスに基づいて、またはビジネス属性に基づくフィルター条件を使用して、ランダムに割り当てることができます。カスタム割り当てポリシーに基づいてトラフィックを割り当てることができます。
実験レイヤー: 実験ドメインには、1 つ以上の実験レイヤーが含まれます。各実験レイヤーのトラフィックは直交しています。各レイヤーは、ドメインのトラフィックの 100% を使用できます。
トラフィック管理
ユーザー グループ: 実験内の特定のトラフィック ID(ユーザー UID)の集合。
メトリック管理
メトリック: 実験を評価するために使用されるパフォーマンス、サービス、および品質メトリック。
データ テーブル: 実験に必要なデータ ソースと関連フィールドなどの情報が含まれています。
グローバル構成
公開管理: すべてのユーザー グループに最適な実験構成をデプロイします。
アーキテクチャ
ABTest のアーキテクチャ
Platform for AI(PAI)コンソールで Alibaba Cloud ABTest サービスを使用して、実験と実験メトリックを構成できます。
ABTest は、Go および Java 用の SDK を提供します。 ABTest サーバーで SDK を参照できます。 SDK は、ラウンドロビン方式で実験関連のメタデータをプルします。 SDK を使用すると、SDK はアクセス コンテキストに基づいてトラフィックを割り当て、実験関連の構成を取得します。次に、SDK は返された構成に基づいて関連するビジネス ロジックを実行します。
MaxCompute ログ テーブルをソース データ テーブルとして登録できます。システムは ABTest サーバーにテーブルを登録します。アプリケーションが動作ログを生成すると、アプリケーションはイベント トラッキングに基づいて MaxCompute ログ テーブルにデータを送り返します。 ABTest で実験メトリックを構成する場合、ログ テーブルの内容がほぼリアルタイムで生成されると、時間別および日別の実験メトリックが同時に生成され、ABTest の Hologres ストレージに保存されます。
PAI コンソールの ABTest で、実験に関連するレポートを表示できます。
実験の実装
単一レイヤー実験: プロジェクトを作成すると、システムはデフォルトのドメインとレイヤーを自動的に作成します。デフォルト レイヤーで実験を作成できます。実験は、レイヤーのすべてのトラフィック、またはランダム割り当てに基づいてレイヤーのトラフィックの特定の部分を取得できます。実験には複数のバージョンが含まれます。各実験バージョンに割り当てるトラフィックの割合を構成できます。
複数レイヤー実験: 単一レイヤー実験を複数レイヤーに拡張できます。各レイヤーのトラフィックは直交しています。各レイヤーで実験を作成できます。
レイヤーとドメインの組み合わせ: レイヤーには複数のドメインを含めることができ、次の図に示すように、ドメインに複数のレイヤーを作成できます。複数レイヤー実験のシナリオでは、単一レイヤーで実験を実施することも、レイヤー全体で統合実験を実施することもできます。次の図は、設定例を示しています。
権限
RAM ユーザーにアクセス権限を付与する
ABTest のフルアクセス権限を RAM ユーザーに付与します。
Alibaba Cloud アカウントを使用して RAM コンソール にログオンします。
左側のナビゲーション ウィンドウで、 を選択します。
[ポリシーの作成] をクリックします。表示されるページで、[JSON] を選択し、次のサンプル ポリシーを入力します。ポリシーの名前を
pai_abtest_full_accessに設定します。詳細については、「カスタム ポリシーの作成」をご参照ください。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "paiabtest:*", "Resource": "*" } ] }[権限の付与] をクリックし、
pai_abtest_full_access権限を RAM ユーザーに付与します。詳細については、「RAM ユーザーへの権限の付与」をご参照ください。
ABTest が他のサービスにアクセスすることを承認する
ABTest には、サービスロール(SLR)の承認が必要です。 SLR の名前は AliyunServiceRoleForPAIABTest です。サンプル ポリシー:
{
"Version": "1",
"Statement": [
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "abtest.pai.aliyuncs.com"
}
}
},
{
"Effect": "Allow",
"Action": [
"odps:ActOnBehalfOfAnotherUser",
"odps:ListProjects",
"odps:ListTables"
],
"Resource": "acs:odps:*:*:users/*"
}
]
}