

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ヒューマンワーカーを使用するモデル評価ジョブを作成する
<a name="clarify-foundation-model-evaluate-human"></a>

**重要**  
Amazon SageMaker Studio または Amazon SageMaker Studio Classic に Amazon SageMaker リソースの作成を許可するカスタム IAM ポリシーでは、これらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要になります。IAM ポリシーで Studio と Studio Classic によるリソースの作成が許可されていても、タグ付けが許可されていない場合は、リソースを作成しようとしたときに「AccessDenied」エラーが発生する可能性があります。詳細については、「[SageMaker AI リソースにタグ付けのアクセス許可を付与する](security_iam_id-based-policy-examples.md#grant-tagging-permissions)」を参照してください。  
SageMaker リソースを作成するためのアクセス許可を付与する [AWS Amazon SageMaker AI の マネージドポリシー](security-iam-awsmanpol.md) には、それらのリソースの作成中にタグを追加するためのアクセス許可もあらかじめ含まれています。

ヒューマンワーカーを使用するモデル評価ジョブを作成するには、適切なアクセス許可が付与された環境を設定する必要があります。次に、Studio のモデル評価ジョブウィザードで使用するモデルを選択し、モデル評価ジョブで使用するパラメータとワークフォースを定義できます。

ジョブが完了したら、レポートを表示して、選択したモデルをワークフォースがどのように評価したかを確認できます。結果は、`jsonlines` 出力ファイルとして Amazon S3 にも保存されます。

ヒューマンワーカーを使用するモデル評価ジョブでは、SageMaker AI の外部でホストされるモデルや AWSの外部でホストされるモデルから推論データを使用できます。詳細については[ヒューマンワーカーを使用するモデル評価ジョブでの独自の推論データの使用](#outside-inference-studio)を参照してください。

ジョブが完了すると、ジョブの作成時に指定した Amazon S3 バケットに結果が保存されます。結果を解釈する方法については、「[モデル評価ジョブの結果を理解する](clarify-foundation-model-evaluate-results.md)」を参照してください。

## 環境をセットアップする
<a name="clarify-foundation-model-evaluate-human-setup"></a>

### 前提条件
<a name="clarify-foundation-model-evaluate-human-setup-prereq"></a>

Amazon SageMaker Studio UI でモデル評価を実行するには、 AWS Identity and Access Management (IAM) ロールと入力データセットに適切なアクセス許可が必要です。SageMaker AI ドメインまたは IAM ロールがない場合は、「[Amazon SageMaker AI のセットアップガイド](gs.md)」のステップを実行します。

### アクセス許可の設定
<a name="clarify-foundation-model-evaluate-human-setup-perm"></a>

次のセクションでは、Amazon S3 バケットを作成する方法と、適切なクロスオリジンリソース共有 (CORS) アクセス許可を指定する方法を説明します。

**Amazon S3 バケットを作成し、CORS アクセス許可を指定するには**

1. Amazon SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. ナビゲーションペインで、ページ上部の検索バーに「**S3**」と入力します。

1. **[サービス]** で **[S3]** を選択します。

1. ナビゲーションペインで **[バケット]** を選択します。

1. **[汎用バケット]** セクションの **[名前]** で、モデルの入出力をコンソールに保存するために使用する S3 バケットの名前を選択します。S3 バケットがない場合は、以下を実行します。

   1. **[バケットを作成]** を選択して、新しい **[バケットの作成]** ページを開きます。

   1. **[一般的な設定]** セクションの **[AWS リージョン]** で、基盤モデルが配置されている AWS リージョンを選択します。

   1. **[バケット名]** の下の入力ボックスで S3 バケットに名前を付けます。

   1. デフォルトの選択肢をすべて受け入れます。

   1. **[Create bucket]** (バケットの作成) を選択します。

   1. **[汎用バケット]** セクションの **[名前]** で、作成した S3 バケットの名前を選択します。

1. **[アクセス許可]** タブを選択します。

1. ウィンドウの下部にある **[クロスオリジンリソース共有 (CORS)]** セクションまでスクロールします。**[編集]** を選択します。

1. Amazon S3 バケットに最低限追加する*必要*がある CORS ポリシーは、以下のとおりです。以下をコピーしてテキストボックスに貼り付けます。

   ```
   [
   {
       "AllowedHeaders": ["*"],
       "AllowedMethods": [
           "GET",
           "HEAD",
           "PUT"
       ],
       "AllowedOrigins": [
           "*"
       ],
       "ExposeHeaders": [
         "Access-Control-Allow-Origin"
       ],
       "MaxAgeSeconds": 3000
   }
   ]
   ```

1. **[Save changes]** (変更の保存) をクリックします。

**IAM ポリシーにアクセス許可を追加するには**

IAM ロールにアタッチするアクセス許可のレベルを検討することもできます。
+ このサービスに合わせて最低限必要なアクセス許可を許可するカスタム IAM ポリシーを作成できます。
+ 既存の [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) ポリシーと [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonS3FullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonS3FullAccess.html) ポリシーを既存の IAM ロールにアタッチできます。これはより許容範囲が広い選択肢です。`AmazonSageMakerFullAccess` ポリシーの詳細については、「[AmazonSageMakerFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSageMakerFullAccess)」を参照してください。

既存のポリシーを IAM ロールにアタッチする場合、ここに記載の手順をスキップして、「**IAM ロール にアクセス許可を追加するには**」の手順に引き続き従ってください。

次の手順では、このサービスに合わせて最小限のアクセス許可でカスタマイズしたカスタム IAM ポリシーを作成します。

1. Amazon SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. ページ上部の検索バーに、「**IAM**」と入力します。

1. **[サービス]** で、**[Identity and Access Management (IAM)]** を選択します。

1. ナビゲーションペインから **[ポリシー]** を選択します。

1. [**Create policy**] (ポリシーの作成) を選択します。**[ポリシーエディタ]** が開いたら、**[JSON]** を選択します。

1. **[ポリシーエディタ]** で、以下のアクセス許可が表示されることを確認します。以下をコピーして、**[ポリシーエディタ]** に貼り付けます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::{input_bucket}/*",
                   "arn:aws:s3:::{input_bucket}",
                   "arn:aws:s3:::{output_bucket}/*",
                   "arn:aws:s3:::{output_bucket}",
                   "arn:aws:s3:::jumpstart-cache-prod-{region}/*",
                   "arn:aws:s3:::jumpstart-cache-prod-{region}"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:CreateEndpoint",
                   "sagemaker:DeleteEndpoint",
                   "sagemaker:CreateEndpointConfig",
                   "sagemaker:DeleteEndpointConfig"
               ],
               "Resource": [
                   "arn:aws:sagemaker:us-east-1:111122223333:endpoint/sm-margaret-*",
                   "arn:aws:sagemaker:us-east-1:111122223333:endpoint-config/sm-margaret-*"
               ],
               "Condition": {
                   "ForAnyValue:StringEquals": {
                       "aws:TagKeys": "sagemaker-sdk:jumpstart-model-id"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:DescribeProcessingJob",
                   "sagemaker:DescribeEndpoint",
                   "sagemaker:InvokeEndpoint"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:DescribeInferenceComponent",
                   "sagemaker:AddTags",
                   "sagemaker:CreateModel",
                   "sagemaker:DeleteModel"
               ],
               "Resource": "arn:aws:sagemaker:us-east-1:111122223333:model/*",
               "Condition": {
                   "ForAnyValue:StringEquals": {
                       "aws:TagKeys": "sagemaker-sdk:jumpstart-model-id"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:DescribeFlowDefinition",
                   "sagemaker:StartHumanLoop",
                   "sagemaker:DescribeHumanLoop"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogStream",
                   "logs:PutLogEvents",
                   "logs:CreateLogGroup",
                   "logs:DescribeLogStreams"
               ],
               "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/ProcessingJobs:*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "cloudwatch:PutMetricData"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ecr:GetAuthorizationToken",
                   "ecr:BatchCheckLayerAvailability",
                   "ecr:GetDownloadUrlForLayer",
                   "ecr:BatchGetImage"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:DescribeKey",
                   "kms:GetPublicKey",
                   "kms:Decrypt",
                   "kms:Encrypt"
               ],
               "Resource": [
                   "arn:aws:kms:us-east-1:111122223333:key/{kms-key-id}"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::111122223333:role/{this-role-created-by-customer}",
               "Condition": {
                   "StringEquals": {
                       "aws:PrincipalAccount": [
                           "111122223333"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. [**次へ**] を選択します。

1. **[ポリシーの詳細]** セクションの **[ポリシー名]** に、ポリシー名を入力します。オプションとして説明を入力することもできます。ロールに割り当てる際は、このポリシー名を検索します。

1. [**Create policy**] (ポリシーの作成) を選択します。

**IAM ロールにアクセス許可を追加するには**

1. Amazon SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. ページ上部の検索バーに、「**IAM**」と入力します。

1. **[サービス]** で、**[Identity and Access Management (IAM)]** を選択します。

1. ナビゲーションペインで **[ロール]** を選択します。

1. 新しいロールを作成する場合:

   1. [**ロールの作成**] を選択してください。

   1. **[信頼されたエンティティを選択]** ステップの **[信頼されたエンティティタイプ]** で、**[カスタム信頼ポリシー]** を選択します。

   1. **[カスタム信頼ポリシー]** エディタで、**[プリンシパルを追加]** の横にある **[追加]** をクリックします。

   1. **[プリンシパルの追加]** ポップアップボックスの **[プリンシパルタイプ]** で、オプションのドロップダウンリストから **[AWS サービス]** を選択します。

   1. **[ARN]** の **\$1ServiceName\$1** は **sagemaker** に置き換えます。

   1. **[プリンシパルを追加]** を選択します。

   1. [**次へ**] を選択します。

   1. (オプション) **[アクセス許可ポリシー]** で、ロールに追加するポリシーを選択します。

   1. (オプション) **[アクセス許可の境界を設定 - *オプション*]** で、アクセス許可の境界設定を選択します。

   1. [**次へ**] を選択します。

   1. **[名前、レビュー、作成]** ステップで、**[ロールの詳細]** に **[ロール名]** と **[説明]** を入力します。

   1. (オプション) **[タグを追加 - *オプション*]** で、**[新しいタグを追加]** をクリックして、**[キー]** と **[値 - *オプション]*** のペアを入力します。

   1. 設定を確認します。

   1. [**ロールの作成**] を選択してください。

1. 既存のロールにポリシーを追加する場合:

   1. **[ロール名]** で、ロールの名前を選択します。メインウィンドウが変化し、ロールに関する情報が表示されます。

   1. **[アクセス許可]** ポリシーセクションで、**[アクセス許可を追加]** をクリックします。

   1. 表示されるオプションから、**[ポリシーをアタッチ]** を選択します。

   1. 表示されるポリシーのリストから、「**To add permissions to your IAM policy**」で作成したポリシーを検索して選択し、ポリシー名の横にあるボックスをオンにします。カスタム IAM ポリシーを作成しなかった場合は、 AWS 提供する [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) ポリシーと [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonS3FullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonS3FullAccess.html) ポリシーの横にあるチェックボックスをオンにします。IAM ロールにアタッチするアクセス許可のレベルを検討することもできます。このカスタム IAM ポリシーの手順はアクセス許可が低く、後者は許可範囲が広くなります。`AmazonSageMakerFullAccess` ポリシーの詳細については、「[AmazonSageMakerFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSageMakerFullAccess)」を参照してください。

   1. [**Add permissions (許可の追加)**] を選択します。完了すると、ページ上部のバナーには、**[ポリシーがロールに正常にアタッチされました]** と表示されるはずです。

**IAM ロールに信頼ポリシーを追加するには**

次の信頼ポリシーを使用すると、管理者は SageMaker AI がロールを引き受けられるように設定できます。このポリシーを IAM ロールに追加する必要があります。このためには、以下の手順を実行します。

1. Amazon SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. ページ上部の検索バーに、「**IAM**」と入力します。

1. **[サービス]** で、**[Identity and Access Management (IAM)]** を選択します。

1. ナビゲーションペインで **[ロール]** を選択します。

1. **[ロール名]** で、ロールの名前を選択します。メインウィンドウが変化し、ロールに関する情報が表示されます。

1. **[信頼関係]** タブをクリックします。

1. **[Edit trust policy]** (信頼ポリシーを編集) を選択します。

1. 次のポリシーが **[信頼ポリシーの編集]** に表示されていることを確認します。以下をコピーして、エディタに貼り付けることもできます。

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Sid": "",
           "Effect": "Allow",
           "Principal": {
               "Service": [
                   "sagemaker.amazonaws.com"
               ]
           },
           "Action": "sts:AssumeRole"
       }
   ]
   }
   ```

------

1. [**ポリシーの更新**] を選択してください。完了すると、ページ上部のバナーには、**[信頼ポリシーを更新しました]** と表示されるはずです。

## ヒューマンワーカーによるモデル評価ジョブの作成
<a name="clarify-foundation-model-evaluate-human-run"></a>

JumpStart で利用可能なテキストベースのモデルを使用して、人間による評価ジョブを作成することも、以前にエンドポイントにデプロイした JumpStart モデルを使用することもできます。

**JumpStart を起動するには**

1. Amazon SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) を開きます。

1. ページ上部の検索バーに、「**SageMaker AI**」と入力します。

1. **[サービス]** で、**[Amazon SageMaker AI]** を選択します。

1. ナビゲーションペインから **[Studio]** を選択します。

1. **[ドメインを選択]** の下の下矢印を展開した後、**[使用を開始]** セクションからドメインを選択します。

1. **[ユーザープロファイルを選択]** の下の下矢印を展開した後、**[使用を開始]** セクションからユーザープロファイルを選択します。

1. **[Studio を開く]** をクリックすると、Studio のランディングページが開きます。

1. ナビゲーションペインから **[ジョブ]** を選択します。

**評価ジョブを設定するには**

1. モデル評価ホームページで、**[モデル評価]** を選択します。

1. ジョブ詳細を指定する

   1.  モデル評価の **[評価名]** を入力します。この名前は、送信後にモデル評価ジョブを識別するのに役立ちます。

   1. 名前にさらにコンテキストを追加するには、**[説明]** を入力します。

   1. [**次へ**] を選択します。

1. 評価を設定する

   1. **[評価タイプの選択]** で、**[ヒューマン]** の横にあるラジオボタンをオンにします。

   1. **[評価するモデルの選択]** で、**[モデルを評価に追加]** をクリックします。各評価で最大 2 つのモデルを評価できます。

      1. 事前トレーニング済みの JumpStart モデルを使用するには、**[事前トレーニング済み]** の **[JumpStart 基盤モデル]** を選択します。エンドポイントにデプロイ済みの JumpStart モデルを使用する場合は、**[JumpStart 基盤モデルがあるエンドポイント]** を選択します。

      1. モデルに法的アグリーメントが必要な場合は、同意を確認するチェックボックスをオンにします。

      1.  別のモデルを追加する場合は、以前のステップを繰り返します。

   1. 推論中のモデルの動作を変更するには、**[パラメータを設定]** をクリックします。

      [パラメータを設定] には、モデルの出力のランダム性の程度、モデルの出力の長さ、モデルが次に選択する単語に影響する推論パラメータのリストが表示されています。

   1. 次に、**[タスクタイプ]** を選択します。以下のいずれかを選択できます。
      + **テキスト要約**
      + **質問への回答 (Q&A)**
      + **テキスト分類**
      + **オープンエンド生成**
      + **カスタム**

   1. **[評価メトリクス]** セクションで、**[評価ディメンション]** をクリックして、**[説明]** テキストボックスにディメンションに関する追加のコンテキストを入力します。次のディメンションから選択できます。
      + **流暢さ** – 生成されたテキストの言語の質を評価します。
      + **コヒーレンス** – 生成されたテキストの秩序と構造を評価します。
      + **毒性** – 生成されたテキストの言語の有害性を評価します。
      + **精度さ** – 生成されたテキストの言語の精度を評価します。
      + 作業チームの名前と説明を定義できるカスタム評価ディメンション

        カスタム評価ディメンションを追加するには、以下を実行します。
        + **[評価ディメンションを追加]** をクリックします。
        + **[評価ディメンションを提供する]** と入力されたテキストボックスに、カスタムディメンションの名前を入力します。
        + 作業チームがカスタムディメンションを評価する方法を理解できるように、**[この評価ディメンションの説明を提供する]** と入力されたテキストボックスに説明を入力します。

      これらの各メトリクスの下には、**[メトリクスタイプを選択]** の下矢印から選択できるレポートメトリクスがあります。評価するモデルが 2 つある場合は、比較レポートメトリクスまたは個別レポートメトリクスを選択できます。評価するモデルが 1 つの場合は、個別レポートメトリクスのみを選択できます。上記の各メトリクスについて、以下のレポートメトリクスタイプを選択できます。
      + (比較) **リッカート尺度 - 比較** – 人間の評価者は、指示に従って 5 段階のリッカート尺度で 2 つの応答についての優先順位を示します。最終レポートの結果は、データセット全体における評価者による回答のヒストグラムとして表示されます。評価者が期待される応答の評価方法を理解できるように、指示には必ず 5 段階尺度の重要点を定義します。Amazon S3 に保存されている JSON 出力では、この選択は `ComparisonLikertScale`、キー値ペア `"evaluationResults":"ComparisonLikertScale"` として示されます。
      + (比較) **選択ボタン** – 人間の評価者は、別の応答よりも優先する応答を 1 つ指定します。評価者は、指示に従ってラジオボタンを使用して 2 つの回答のどちらを優先するかを示します。最終レポートの結果は、各モデルでワーカーがより適切であると回答した割合として表示されます。指示では評価方法について明確に説明する必要があります。Amazon S3 に保存されている JSON 出力では、この選択は `ComparisonChoice`、キー値ペア `"evaluationResults":"ComparisonChoice"` として示されます。
      + (比較) **順序ランク** – 人間の評価者が、指示に従って、プロンプトに対してする応答で優先するものを、`1` から順にランク付けできます。最終レポートの結果は、データセット全体における評価者による回答のランキングとして表示されます。指示では、ランク `1` が何を意味するかを定義する必要があります。Amazon S3 に保存されている JSON 出力では、この選択は `ComparisonRank`、キー値ペア `"evaluationResults":"ComparisonRank"` として示されます。
      + (個別) **親指を上げる/下げる** – 人間の評価者が、指示に従って、モデルからの各応答について、許容できるか、許容できないかを評価します。最終レポートの結果は、評価総数に対する各モデルについて高く評価した評価者の割合として表示されます。この評価方法は、1 つまたは複数のモデルの評価に使用できます。この評価方法を 2 つのモデルを含む評価で使用すると、作業チームには各モデル応答について、[親指を上げる/下げる] が提示され、最終レポートには各モデルの集計結果が個別に表示されます。手順で、親指を上げる/下げるの評価として許容される内容を定義する必要があります。Amazon S3 に保存されている JSON 出力では、この選択は `ThumbsUpDown`、キー値ペア `"evaluationResults":"ThumbsUpDown"` として示されます。
      + (個別) **リッカート尺度 - 個別** – 人間の評価者が、指示に基づいて、5 段階のリッカート尺度でモデルの応答をどの程度承認するかを示すことができます。最終レポートの結果は、データセット全体に対する評価者からの 5 段階評価のヒストグラムとして表示されます。この尺度は、単一または複数のモデルを含む評価に使用できます。この評価方法を複数のモデルを含む評価で使用すると、作業チームには各モデル応答について、5 段階のリッカート尺度が提示され、最終レポートには各モデルの集計結果が個別に表示されます。評価者が期待される応答の評価方法を理解できるように、指示では 5 段階評価の重要点を定義する必要があります。Amazon S3 に保存されている JSON 出力では、この選択は `IndividualLikertScale`、キー値ペア `"evaluationResults":"IndividualLikertScale"` として示されます。

   1. **[プロンプトデータセット]** を選択します。このデータセットは必須であり、人間による作業チームがモデルからの応答を評価するために使用します。**[入力データファイルの S3 URI]** の下にあるテキストボックスで、プロンプトデータセットを含む Amazon S3 バケットへの S3 URI を指定します。このデータセットは、`jsonlines` 形式で、、UI がモデル評価に使用するデータセットの部分を識別できるように、次のキーを含める必要があります。
      + `prompt` – モデルが応答を生成する必要があるリクエスト
      + (オプション) `category` – - プロンプトのカテゴリラベル。後で評価結果をカテゴリ別にフィルタリングして、評価結果をより詳細に把握できるようにするため、`category` キーをプロンプトを分類するために使用します。これは評価の対象にはならず、評価 UI ではワーカーに表示されることはありません。
      + (オプション) `referenceResponse` – 人間の評価者向けの参照回答。参照回答はワーカーが評価することはなく、指示に基づいてどのような応答が許容可能または許容不可能かを把握するために使用できます。
      + (オプション) `responses` – SageMaker AI 以外または AWS以外のモデルからの推論を指定するために使用されます。

        このオブジェクトには、モデルを識別する文字列である `"modelIdentifier` とモデルの推論である `"text"` という 2 つの追加のキー値のペアが*必要*です。

        カスタムプロンプトデータセットのいずれかの入力で `"responses"` キーを指定する場合は、すべての入力で指定する必要があります。
      + 次の `json` コード例は、カスタムプロンプトデータセットで受け入れられるキー値のペアを説明しています。応答キーが指定されている場合は、**[独自の推論を使用]** チェックボックスをオンにする必要があります。オンにした場合、`responses` キーは常に各プロンプトで指定する必要があります。次の例は、質問と回答のシナリオで使用できます。

        ```
        {
            "prompt": {
                "text": "Aurillac is the capital of"
            },
            "category": "Capitals",
            "referenceResponse": {
                "text": "Cantal"
            },
            "responses": [
                // All responses must come from a single model. If specified it must be present in all JSON objects. modelIdentifier and text are then also required.
                {
                    "modelIdentifier": "meta-textgeneration-llama-codellama-7b",
                    "text": "The capital of Aurillac is Cantal."
                }
            ]
        }
        ```

   1. **[評価結果を保存する S3 の場所を選択]** の下のテキストボックスに、出力評価結果を保存する S3 バケットの場所を入力します。この S3 ロケーションに書き込まれる出力ファイルは、`.json` 拡張子が末尾に付いた `JSON` 形式になります。

   1. 
**注記**  
モデル評価ジョブに独自の推論データを含める場合は、単一のモデルのみを使用できます。

      (オプション) プロンプトデータセットに `responses` キーが含まれていることを示すには、**[独自の推論を使用]** の下のチェックボックスをオンにします。*いずれかの*プロンプトの一部に `responses` キーを指定する場合は、すべてのプロンプトに応答キーが含まれている必要があります。

   1. **[プロセッサ設定]** セクションで、次のパラメータを使用してプロセッサを設定します。
      + **[インスタンス数]** を使用して、モデルの実行に使用するコンピューティングインスタンスの数を指定します。`1` 以上のインスタンスを使用する場合は、モデルは並列インスタンスで実行されます。
      + **インスタンスタイプ**を使用して、モデルの実行に使用するコンピューティングインスタンスの種類を選択します。 AWS には、コンピューティングとメモリ用に最適化された一般的なコンピューティングインスタンスとインスタンスがあります。インスタンスタイプの詳細については、「[Amazon SageMaker Studio Classic ノートブックで使用できるインスタンスタイプ](notebooks-available-instance-types.md)」を参照してください。
      + SageMaker AI でデフォルトの AWS マネージドサービスキーの代わりに独自の AWS Key Management Service (AWS KMS) 暗号化キーを使用する場合は、**ボリューム KMS キー**で**オン**を選択し、 AWS KMS キーを入力します。SageMaker AI は、 AWS KMS キーを使用してストレージボリューム上のデータを暗号化します。キーの詳細については、「[AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)」を参照してください。
      + SageMaker AI でデフォルトの AWS マネージドサービスキーの代わりに独自の AWS Key Management Service (AWS KMS) 暗号化キーを使用する場合は、**出力 KMS キー**で**オン**を選択し、 AWS KMS キーを入力します。SageMaker AI は AWS KMS キーを使用して処理ジョブの出力を暗号化します。
      + IAM ロールを使用して、デフォルトのプロセッサのアクセスとアクセス許可を指定します。この **[人間による評価の実行]** セクションの **[IAM ロールを設定]** セクションでの「IAM ロールの設定」セクションで設定した IAM ロールを入力します。

   1. モデルと条件を指定したら、**[次へ]** をクリックします。

作業チームは、モデルを評価するユーザーで構成されます。作業チームを作成すると、無期限に保持されるため、属性を変更することはできません。以下では、作業チームのの使用を開始する方法を説明します。

**作業チームを設定する**

1. **[チームを選択]** 入力テキストボックスで、既存のチームを選択するか、**[新しいチームを作成]** をクリックします。

1. **[組織名]** で、組織の名前を指定します。このフィールドは、アカウントで最初の作業チームを作成する場合にのみ表示されます。

1. **[連絡先メールアドレス]** を指定します。ワーカーは、この E メールアドレスを使用して、提供される評価タスクに関する連絡を行います。このフィールドは、アカウントで最初の作業チームを作成する場合にのみ表示されます。

1. **[チーム名]** を指定します。この名前は後で変更できません。

1. 大規模言語モデル (LLM) を評価する各ヒューマンワーカーの **[E メールアドレス]** のリストを指定します。チームの E メールアドレスを指定すると、新しいジョブが作業チームに新しく追加された場合にのみ通知が送信されます。後続のジョブに同じチームを使用する場合は、手動で通知を行う必要があります。

1. 次に、**[プロンプト別ワーカー数]** を指定します。

**作業チームに指示を提供する**

1. ヒューマンワークフォースがモデルをメトリクスと標準に従って評価できるように、詳細な手順を提供します。メインウィンドウのテンプレートには、提供可能なサンプル手順が表示されます。指示を提供する方法の詳細については、「[Creating good worker instructions](https://docs.aws.amazon.com/bedrock/latest/userguide/worker-job.html)」を参照してください。

1. 人間による評価のバイアスを最小限に抑えるには、**[応答ポジションをランダム化]** の横にあるチェックボックスをオンにします。

1. **[次へ]** を選択してください。

ヒューマンジョブに対して行った選択の概要を確認できます。ジョブを変更する必要がある場合は、**[戻る]** をクリックして以前の選択に戻ります。

**評価ジョブリクエストを送信してジョブの進行状況を表示する**

1. 評価ジョブリクエストを送信するには、**[リソースを作成]** をクリックします。

1. すべてのジョブのステータスを表示するには、ナビゲーションペインの **[ジョブ]** を選択します。次に、**[モデル評価]** を選択します。評価ステータスは、**[完了]**、**[失敗]**、または **[進行中]** として表示されます。

   以下も表示されます。
   + SageMaker AI と Amazon Bedrock でモデル評価を実行するサンプルノートブック
   + モデル評価プロセスに関するドキュメント、動画、ニュース、ブログなどの追加情報へのリンク
   + **[プライベートワーカーポータル]** の URL も利用できます。

1. 評価の概要を表示するには、**[名前]** でモデル評価を選択します。
   + 概要には、ジョブのステータス、どのモデルに対してどのような評価タスクを実行したか、いつ実行したかに関する情報が表示されます。概要の後には、人間による評価スコアがメトリクス別に並べ替えられ、要約されています。

**ヒューマンワーカーを使用するモデル評価ジョブのレポートカードを表示する**

1. ジョブのレポートを表示するには、ナビゲーションペインで **[ジョブ]** を選択します。

1. 次に、**[モデル評価]** を選択します。**[モデル評価]** ホームページのテーブルを使用して、モデル評価ジョブを検索します。ジョブのステータスが **[完了]** に変わると、レポートカードを表示できます。

1. レポートカードのモデル評価ジョブの名前を選択します。

## ヒューマンワーカーを使用するモデル評価ジョブでの独自の推論データの使用
<a name="outside-inference-studio"></a>

ヒューマンワーカーを使用するモデル評価ジョブを作成する場合、独自の推論を使用し、この推論データを別の単一の JumpStart モデルまたはエンドポイントにデプロイした JumpStart モデルが生成したデータと比較するオプションが提供されています。

このトピックでは、推論データに必要な形式と、そのデータをモデル評価ジョブに追加する簡素化された手順について説明します。

**[プロンプトデータセット]** を選択します。このデータセットは必須であり、人間による作業チームがモデルからの応答を評価するために使用します。**[評価結果を保存する S3 の場所を選択]** の下にあるテキストボックスで、プロンプトデータセットを含む Amazon S3 バケットへの S3 URI を指定します。このデータセットは `.jsonl` 形式である必要があります。各レコードは有効な JSON オブジェクトで、以下の必須キーが含まれている必要があります。
+ `prompt` – モデルに渡されるテキストを含む JSON オブジェクト
+ (オプション) `category` – - プロンプトのカテゴリラベル。後で評価結果をカテゴリ別にフィルタリングして、評価結果をより詳細に把握できるようにするため、`category` キーをプロンプトを分類するために使用します。これは評価の対象にはならず、評価 UI ではワーカーに表示されることはありません。
+ (オプション) `referenceResponse` – 人間の評価者向けの参照回答を含む JSON オブジェクト。参照回答はワーカーが評価することはなく、指示に基づいてどのような応答が許容可能または許容不可能かを把握するために使用できます。
+ `responses` – SageMaker AI 以外または AWS以外のモデルからの個々の推論を指定するために使用されます。

  このオブジェクトには、モデルを識別する文字列である `"modelIdentifier` とモデルの推論である `"text"` の追加のキー値のペアが必要です。

  カスタムプロンプトデータセットのいずれかの入力で `"responses"` キーを指定する場合は、すべての入力で指定する必要があります。

次の `json` コード例は、独自の推論データを含むカスタムプロンプトデータセットで受け入れられるキー値のペアを説明しています。

```
{
    "prompt": {
        "text": "Who invented the airplane?"
    },
    "category": "Airplanes",
    "referenceResponse": {
        "text": "Orville and Wilbur Wright"
    },
    "responses":
        // All inference must come from a single model
        [{
            "modelIdentifier": "meta-textgeneration-llama-codellama-7b" ,
            "text": "The Wright brothers, Orville and Wilbur Wright are widely credited with inventing and manufacturing the world's first successful airplane."
        }]

}
```

使用を開始するには、Studio を起動して、プライマリナビゲーションの **[ジョブ]** で **[モデル評価]** をクリックします。

**独自の推論データをヒューマンモデル評価ジョブに追加するには**

1. **[ステップ 1: ジョブの詳細を指定]** で、モデル評価ジョブ名とオプションの説明を追加します。

1. **[ステップ 2: 評価を設定]** で、**[ヒューマン]** を選択します。

1. 次に、**[評価するモデルを選択]** で、使用するモデルを選択できます。既にデプロイされている JumpStart モデルを使用するか、**[事前にトレーニングされた Jumpstart 基盤モデル]** を選択できます。

1. 次に、**[タスクタイプ]** を選択します。

1. 次に、**[評価メトリクス]** を追加できます。

1. 次に、**[プロンプトデータセット]** の **[独自の推論を使用]** チェックボックスをオンにして、プロンプトに応答キーがあることを示します。

1. その後、モデル評価ジョブの設定を続行します。

ヒューマンワーカーを使用するモデル評価ジョブからの応答を保存する方法の詳細については、「[人間による評価ジョブの結果を理解する](clarify-foundation-model-evaluate-results-human.md)」を参照してください。