Amazon Bedrock で自動モデル評価ジョブを開始する
自動モデル評価ジョブは、AWS マネジメントコンソール、AWS CLI、またはサポートされている AWS SDK を使用して作成できます。自動モデル評価ジョブでは、選択したモデルは、サポートされている組み込みデータセットまたは独自のカスタムプロンプトデータセットからのプロンプトを使用して推論を実行します。各ジョブでは、タスクタイプも選択する必要があります。タスクタイプには、いくつかの推奨メトリクスと組み込みプロンプトデータセットが用意されています。使用可能なタスクタイプとメトリクスの詳細については、「Model evaluation task types in Amazon Bedrock」を参照してください。
次の例は、Amazon Bedrock コンソール、AWS CLI、SDK for Python を使用して自動モデル評価ジョブを作成する方法について説明します。
すべての自動モデル評価ジョブでは、IAM サービスロールを作成する必要があります。モデル評価ジョブを設定するための IAM 要件の詳細については、「モデル評価ジョブのサービスロール要件」を参照してください。
次の例は、自動モデル評価ジョブを作成する方法を示しています。API では、[modelIdentifier] フィールドに ARN を指定することで、推論プロファイルをジョブに含めることもできます。
- Amazon Bedrock console
-
Amazon Bedrock コンソールを使用してモデル評価ジョブを作成するには、次の手順を実行します。この手順を正常に完了するには、IAM ユーザー、グループ、またはロールにコンソールにアクセスするための十分なアクセス許可がが付与されていることを確認します。詳細については自動モデル評価ジョブの作成に必要なコンソールアクセス許可を参照してください。
また、モデル評価ジョブで指定するカスタムプロンプトデータセットには、Amazon S3 バケットに必要な CORS アクセス許可を追加する必要があります。必要な CORS アクセス許可の追加に関しては、「S3 バケットに必要なクロスオリジンリソース共有 (CORS) のアクセス許可」を参照してください。
自動モデル評価ジョブを作成する
-
Amazon Bedrock コンソール (https://console.aws.amazon.com/bedrock/
) を開きます。 -
ナビゲーションペインで、[モデル評価] を選択します。
-
[評価を構築] カードの [自動] で、[自動評価を作成] を選択します。
-
[自動評価を作成] ページに次の情報を入力します。
-
評価名 — モデル評価ジョブを説明する名前を付けます。この名前はモデル評価ジョブリストに表示されます。この名前は、AWS リージョン のアカウントで一意である必要があります。
-
説明 (オプション) — オプションで説明を入力します。
-
モデル — モデル評価ジョブで使用するモデルを選択します。
Amazon Bedrock で使用可能なモデルとモデルへのアクセスの詳細については、「Access Amazon Bedrock foundation models」を参照してください。
-
(オプション) 推論設定を変更するには、[更新] を選択します。
推論設定を変更すると、選択したモデルによって生成されるレスポンスが変わります。使用可能な推論パラメータの詳細については、「Inference request parameters and response fields for foundation models」を参照してください。
-
タスクタイプ — モデル評価ジョブ中にモデルに実行させるタスクタイプを選択します。
-
メトリクスとデータセット — 使用可能なメトリクスと組み込みのプロンプトデータセットのリストは、選択したタスクに応じて変わります。[使用可能な組み込みデータセット] のリストから選択することも、[独自のプロンプトデータセットを使用] を選択することもできます。独自のプロンプトデータセットを使用する場合は、プロンプトデータセットファイルの正確な S3 URI を入力するか、[S3 を参照] を選択してプロンプトデータセットを検索します。
-
評価結果 — 結果を保存するディレクトリの S3 URI を指定します。Amazon S3 ロケーションを検索するには、[S3 を参照] を選択します。
-
カスタマーマネージドキーを使用するには、[暗号化設定をカスタマイズ (詳細)] チェックボックスをオンにします。次に、使用する AWS KMS キーの ARN を指定します。
-
Amazon Bedrock IAM ロール — 既存のロールを使用して、必要なアクセス許可が既に付与されている IAM サービスロールを使用するか、[新しいロールを作成] を選択して新しい IAM サービスロールを作成します。
-
-
続いて、[作成] を選択します。
状態が [完了] に変わったら、ジョブのレポートカードを表示できます。
-
- SDK for Python
-
次の例では、Python を使用して自動評価ジョブを作成します。
import boto3 client = boto3.client('bedrock') job_request = client.create_evaluation_job( jobName="api-auto-job-titan", jobDescription="two different task types", roleArn="arn:aws:iam::111122223333:role/role-name", inferenceConfig={ "models": [ { "bedrockModel": { "modelIdentifier":"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-text-lite-v1", "inferenceParams":"{\"inferenceConfig\":{\"maxTokens\": 512,\"temperature\":0.7,\"topP\":0.9}}" } } ] }, outputDataConfig={ "s3Uri":"s3://amzn-s3-demo-bucket-model-evaluations/outputs/" }, evaluationConfig={ "automated": { "datasetMetricConfigs": [ { "taskType": "QuestionAndAnswer", "dataset": { "name": "Builtin.BoolQ" }, "metricNames": [ "Builtin.Accuracy", "Builtin.Robustness" ] } ] } } ) print(job_request) - AWS CLI
-
AWS CLI で、
helpコマンドを使用すると、AWS CLI でcreate-evaluation-jobを指定する際の必要なパラメータおよびオプションのパラメータを確認できます。aws bedrock create-evaluation-job helpaws bedrock create-evaluation-job \ --job-name 'automatic-eval-job-cli-001' \ --role-arn 'arn:aws:iam::111122223333:role/role-name' \ --evaluation-config '{"automated": {"datasetMetricConfigs": [{"taskType": "QuestionAndAnswer","dataset": {"name": "Builtin.BoolQ"},"metricNames": ["Builtin.Accuracy","Builtin.Robustness"]}]}}' \ --inference-config '{"models": [{"bedrockModel": {"modelIdentifier":"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-text-lite-v1","inferenceParams":"{\"inferenceConfig\":{\"maxTokens\": 512,\"temperature\":0.7,\"topP\":0.9}}"}}]}' \ --output-data-config '{"s3Uri":"s3://automatic-eval-jobs/outputs"}'