

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

# カスタムメトリクスを使用してモデル評価ジョブを作成する
<a name="model-evaluation-custom-metrics-create-job"></a>

カスタムメトリクスを使用する評価ジョブを作成するには、以下を指定する必要があります。
+ ジャッジモデルが使用する詳細な指示を含むプロンプト
+ カスタムメトリクスに使用する評価者モデル

また、ジャッジモデルがジェネレーターモデルのレスポンスを評価するために使用できる評価スケール (出力スキーマ) を指定することもできます。

カスタムメトリクスを使用して評価ジョブを作成するには AWS マネジメントコンソール、AWS Command Line Interface (AWS CLI)、または Amazon Bedrock API を使用します。評価ジョブを作成するには、次の手順に従います。メトリクスのプロンプトを作成する手順とガイダンス、および作成時に指定する評価スケールの定義方法については、「[カスタムメトリクスのプロンプトを作成する](model-evaluation-custom-metrics-prompt-formats.md)」を参照してください。

1 つ以上のカスタムメトリクスを使用して評価ジョブを作成すると、Amazon Bedrock は指定された出力 S3 バケットにメトリクス定義を JSON ファイルとして保存します。これらのファイルにアクセスするには、`s3://S3-output-bucket-name/job-name/job-uuid/custom_metrics` に移動します。カスタムメトリクスの JSON 定義の形式については、「[カスタムメトリクスを作成するための JSON ファイルの作成](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-json)」を参照してください。

次の手順を使用してジョブを作成するには、プロンプトデータセットも必要です。まだ作成していない場合は、「[ジャッジとしてのモデルを使用するモデル評価ジョブのプロンプトデータセットを作成する](model-evaluation-prompt-datasets-judge.md)」を参照してください。

以下の手順に従って、1 つ以上のカスタムメトリクスを使用して model-as-a-judge 評価ジョブを作成します。

------
#### [ Console ]

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

1. 左側のペインの **[推論と評価]** で、**[評価]** を選択します。

1. **[モデル評価]** ペインで、**[作成]** を選択し、**[自動: ジャッジとしてのモデル]** を選択します。

1. 以下を実行して、モデル評価の詳細を入力します。

   1. **[モデル評価の詳細]** ペインの **[評価名]** に、評価ジョブの名前を入力します。選択する名前は、AWS リージョン内で一意でなければなりません。

   1. オプションで、**[説明 - *オプション*]** に評価ジョブの説明を入力します。

   1. **[評価者モデル]** で、**[モデルを選択]** を選択し、評価を実行するジャッジモデルを選択します。ここで選択したモデルは、選択した組み込みメトリクスに対してジェネレータモデルを評価するために使用されることに注意してください。後のステップで、カスタムメトリクスに使用する別の評価者モデルを選択できます。

1. 評価ジョブの推論ソースを入力します。Amazon Bedrock モデル評価では、Amazon Bedrock モデルのパフォーマンスを評価することも、[プロンプトデータセット](model-evaluation-prompt-datasets-judge.md)に独自の推論レスポンスデータを指定して他のモデルのパフォーマンスを評価することもできます。Amazon Bedrock モデルを選択するには、次の手順を実行します。

   1. **[推論ソース]** ペインの **[ソースを選択]** で、**[Bedrock モデル]** を選択します。

   1. **[モデルを選択]** で、**[モデルを選択]** を選択します。

   1. ポップアップで、評価するモデルを選択し、**[適用]** を選択します。

   1. (オプション) モデルの推論パラメータを変更するには、**[推論の設定]** で **[更新]** を選択します。

1. 独自の推論レスポンスデータを使用するには、以下を実行します。

   1. **[推論ソース]** ペインの **[ソースを選択]** で、**[独自の推論レスポンスを使用]** を選択します。

   1. **[ソース名]** に、応答データの作成に使用したモデルの名前を入力します。入力する名前は、[プロンプトデータセット](model-evaluation-prompt-datasets-judge.md#model-evaluation-prompt-datasets-judge-byoir)の `modelIdentifier` パラメータと一致している必要があります。

1. **[メトリクス]** ペインで、評価者モデルがジェネレーターモデルの応答を評価する際に使用する組み込みメトリクスを選択します。

1. カスタムメトリクスをもう 1 つ追加するには、まずメトリクスの評価に使用する評価者モデルを選択します。**[カスタムメトリクス]** ペインで、次の手順を実行します。

   1. **[モデルを選択]** を選択します。

   1. ポップアップで、使用するモデルを選択します。

   1. **[Apply]** (適用) を選択します。

1. **[メトリクス名]** で、メトリクスの名前を入力します。

1. メトリクスは、メトリクスを指定する JSON ファイルを指定する方法、テンプレートからの既存の組み込みメトリクスプロンプトを編集する方法、または評価者モデルが使用するプロンプトをコンソールに直接入力する方法の 3 つの方法で設定できます。

   JSON ファイルからメトリクスを作成するには、次の手順を実行します。

   1. **[メトリクスタイプを選択]** で、**[JSON ファイルをインポート]** を選択します。

   1. **[JSON ファイルをインポート]** で、**[ファイルを選択]** を選択します。

   1. ファイルピッカーを使用して、カスタムメトリクス定義で JSON ファイルを選択し、**[開く]**を選択します。JSON ファイルを使用してカスタムメトリクスを指定するためのスキーマの詳細と、いくつかのサンプルファイルについてには、「[カスタムメトリクスを作成するための JSON ファイルの作成](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-json)」を参照してください。

   1. (オプション) 別のメトリクスを作成するには、**[カスタムメトリクスを追加]** を選択します。評価ジョブごとに最大 10 個のカスタムメトリクスを作成できます。

      カスタムメトリクスの作成が完了したら、ステップ 13 に進み、評価ジョブのデータセットを設定します。

1. 組み込みテンプレートからカスタムメトリクスを作成するには、次の手順を実行します。

   1. **[メトリクスタイプを選択]** で、**[テンプレートを使用]** を選択します。

   1. **[テンプレートを選択]** で、ドロップダウンリストから、カスタムメトリクスの開始点として使用する既存の組み込みメトリクスプロンプトを選択します。

   1. **[手順]** で、独自のユースケースに合わせて選択したプロンプトを編集します。カスタムメトリクスプロンプトを作成する際のベストプラクティスと必須要素のリストについては、「[カスタムメトリクスのプロンプトを作成する](model-evaluation-custom-metrics-prompt-formats.md)」を参照してください。

   1. 評価ジョブで、ランク付けされたスコアを含む構造化出力を出力する場合は、**[出力スキーマを有効化 (推奨)]** にチェックを入れたままにしておきます。メトリクス設定には出力スキーマを含める必要はありませんが、スキーマを定義することをお勧めします。スキーマを使用しない場合、表示する結果には、スコアやデータが視覚化されずに説明のみが含まれます。

   1. **[スケールタイプ]** で、ユースケースに合わせて **[数値]** または **[文字列]** を選択し、テキストボックスにスケールと説明の定義を入力します。出力スケールの定義に関するガイダンスとベストプラクティスについては、「[出力スキーマの指定 (評価スケール)](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-schema)」を参照してください。

   1. (オプション) 別のメトリクスを作成するには、**[カスタムメトリクスを追加]** を選択します。評価ジョブごとに最大 10 個のカスタムメトリクスを作成できます。

      カスタムメトリクスの作成が完了したら、ステップ 13 に進み、評価ジョブのデータセットを設定します。

1. コンソールでカスタムメトリクスを最初から作成するには、次の手順を実行します。

   1. **[メトリクスタイプを選択]** で、**[カスタム]** を選択します。

   1. **[手順]** で、カスタムメトリクスのプロンプトをテキストボックスに直接入力します。カスタムメトリクスプロンプトを作成する際のベストプラクティスと必須要素のリストについては、「[プロンプトの構成とベストプラクティス](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-create)」を参照してください。

   1. 評価ジョブで、ランク付けされたスコアを含む構造化出力を出力する場合は、**[出力スキーマを有効化 (推奨)]** にチェックを入れたままにしておきます。メトリクス設定には出力スキーマを含める必要はありませんが、スキーマを定義することをお勧めします。スキーマを使用しない場合、表示する結果には、スコアやデータが視覚化されずに説明のみが含まれます。

   1. **[スケールタイプ]** で、ユースケースに合わせて **[数値]** または **[文字列]** を選択し、テキストボックスにスケールと説明の定義を入力します。出力スケールの定義に関するガイダンスとベストプラクティスについては、「[出力スキーマの指定 (評価スケール)](model-evaluation-custom-metrics-prompt-formats.md#model-evaluation-custom-metrics-prompt-formats-schema)」を参照してください。

   1. (オプション) 別のメトリクスを作成するには、**[カスタムメトリクスを追加]** を選択します。評価ジョブごとに最大 10 個のカスタムメトリクスを作成できます。

      カスタムメトリクスの作成が完了したら、次のステップに進み、評価ジョブのデータセットを設定します。

1. 以下を実行して、データセットの入力場所と結果の出力場所を定義します。

   1. **[データセット]** ペインの **[プロンプトデータセットを選択]** で、プロンプトデータセットの Amazon S3 URI を入力するか、**[S3 を参照]** を選択してファイルを選択します。ジャッジとしてのモデル評価ジョブに必要なプロンプトデータセット形式の定義を確認するには、「[ジャッジとしてのモデルを使用するモデル評価ジョブのプロンプトデータセットを作成する](model-evaluation-prompt-datasets-judge.md)」を参照してください。

   1. **[評価結果]** で、Amazon Bedrock が結果を保存する Amazon S3 の場所を入力するか、**[S3 を参照]** を選択して場所を選択します。

1. **[Amazon Bedrock IAM ロール - アクセス許可]** で、**[新しいサービスロールを作成して使用]** を選択して Amazon Bedrock で評価ジョブ用の新しい IAM ロールを作成するか、**[既存のサービスロールを使用]** を選択して既存の IAM ロールを選択します。評価ジョブを作成して実行するために必要なアクセス許可のリストについては、「[前提条件](model-evaluation-judge-create.md#model-evaluation-judge-create-prereqs)」を参照してください。

1. (オプション) 独自の KMS キーを使用して評価データを暗号化するには、**[KMS キー - *オプション*]** で、**[暗号化設定をカスタマイズ (高度)]** のチェックボックスをオンにして、AWS KMS キーを選択します。デフォルトでは、Amazon Bedrock は評価ジョブデータを AWS 所有の KMS キーで暗号化します。

1. **[作成]** を選択して、評価ジョブの作成を完了します。

------
#### [ AWS CLI ]

次の例は、カスタムメトリクスを含むジョブの AWS CLI を使用して `create-evaluation-job` リクエストを行う方法を示しています。`applicationType` が `ModelEvaluation` に指定されていることを確認します。

Amazon Bedrock でモデルのパフォーマンスを評価したり、プロンプトデータセットの一部として独自の推論レスポンスデータを提供することで他のモデルを評価したりできます。独自の推論レスポンスを使用してプロンプトデータセットを作成する方法の詳細については、「[ジャッジとしてのモデルを使用するモデル評価ジョブのプロンプトデータセットを作成する](model-evaluation-prompt-datasets-judge.md)」を参照してください。

**Example Amazon Bedrock モデルのカスタムメトリクスを使用して評価ジョブを作成する AWS CLI コマンドと JSON ファイル**  

```
aws bedrock create-evaluation-job --cli-input-json file://my_eval_job.json
```

```
{
    "jobName": "custom-metrics-maaj",
    "applicationType": "ModelEvaluation",
    "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-Custom-Metric",
    "evaluationConfig": {
        "automated": {
            "datasetMetricConfigs": [{
                "taskType": "General",
                "dataset": {
                    "name": "text_dataset",
                    "datasetLocation": {
                        "s3Uri": "s3://amzn-s3-demo-bucket/input_datasets/text_dataset_input.jsonl"
                    }
                },
                 "metricNames": [
                        "CustomMetric-Correctness-FloatRatingScale"
                    ]
            }],
            "customMetricConfig": {
                "customMetrics": [{
                        "customMetricDefinition": {
                            "name": "CustomMetric-Correctness-FloatRatingScale",
                            "instructions": "<Your complete custom metric prompt including at least one {{input variable}}>",
                            "ratingScale": [{
                                    "definition": "Not at all",
                                    "value": {
                                        "floatValue": 0
                                    }
                                },
                                {
                                    "definition": "Somewhat",
                                    "value": {
                                        "floatValue": 1
                                    }
                                },
                                {
                                    "definition": "Mostly",
                                    "value": {
                                        "floatValue": 2
                                    }
                                }
                            ]
                        }
                    }
                ],
                "evaluatorModelConfig": {
                    "bedrockEvaluatorModels": [{
                        "modelIdentifier": "anthropic.claude-3-haiku-20240307-v1:0"
                    }]
                }
            },
            "evaluatorModelConfig": {
                "bedrockEvaluatorModels": [{
                    "modelIdentifier": "mistral.mistral-large-2402-v1:0"
                }]
            }
        }
    },
    "inferenceConfig": {
        "models": [{
            "bedrockModel": {
                "modelIdentifier": "anthropic.claude-v2",
                "inferenceParams": "{\"textGenerationConfig\":{\"maxTokenCount\":256,\"temperature\":0.25,\"topP\":0.25}}"
            }
        }]
    },
    "outputDataConfig": {
        "s3Uri": "s3://amzn-s3-demo-destination-bucket/output/"
    }
}
```
サンプル JSON ファイルには 2 つの `evaluatorModelConfig` オブジェクトが含まれています。`customMetricConfig` オブジェクト内のインスタンスは、カスタムメトリクスで使用する評価者モデルを指定します。もう 1 つのインスタンスは、組み込みメトリクスに使用するモデルを指定します。これら 2 つのオブジェクトを正しく指定してください。

**Example 独自の推論レスポンスデータを指定するカスタムメトリクス付きの評価ジョブを作成するための AWS CLI コマンドと JSON ファイル**  

```
aws bedrock create-evaluation-job --cli-input-json file://my_eval_job.json
```

```
{
    "jobName": "custom-metrics-maaj",
    "applicationType": "ModelEvaluation",
    "roleArn": "arn:aws:iam::111122223333:role/service-role/Amazon-Bedrock-Custom-Metric",
    "evaluationConfig": {
        "automated": {
            "datasetMetricConfigs": [{
                "taskType": "General",
                "dataset": {
                    "name": "text_dataset",
                    "datasetLocation": {
                        "s3Uri": "s3://amzn-s3-demo-bucket/input_datasets/text_dataset_input.jsonl"
                    }
                },
                "metricNames": [
                        "CustomMetric-Correctness-FloatRatingScale"
                    ]
            }],
            "customMetricConfig": {
                "customMetrics": [{
                        "customMetricDefinition": {
                            "name": "CustomMetric-Correctness-FloatRatingScale",
                            "instructions": "<Your complete custom metric prompt including at least one {{input variable}}>",
                            "ratingScale": [{
                                    "definition": "Not at all",
                                    "value": {
                                        "floatValue": 0
                                    }
                                },
                                {
                                    "definition": "Somewhat",
                                    "value": {
                                        "floatValue": 1
                                    }
                                },
                                {
                                    "definition": "Mostly",
                                    "value": {
                                        "floatValue": 2
                                    }
                                }
                            ]
                        }
                    }
                ],
                "evaluatorModelConfig": {
                    "bedrockEvaluatorModels": [{
                        "modelIdentifier": "anthropic.claude-3-haiku-20240307-v1:0"
                    }]
                }
            },
            "evaluatorModelConfig": {
                "bedrockEvaluatorModels": [{
                    "modelIdentifier": "mistral.mistral-large-2402-v1:0"
                }]
            }
        }
    },
     "inferenceConfig": {
        "models": [
            {
                "precomputedInferenceSource": {
                    "inferenceSourceIdentifier": "my_model"
                }
            }
        ]
    },
    "outputDataConfig": {
        "s3Uri": "s3://amzn-s3-demo-destination-bucket/output/"
    }
}
```
サンプル JSON ファイルには 2 つの `evaluatorModelConfig` オブジェクトが含まれています。`customMetricConfig` オブジェクト内のインスタンスは、カスタムメトリクスで使用する評価者モデルを指定します。もう 1 つのインスタンスは、組み込みメトリクスに使用するモデルを指定します。これら 2 つのオブジェクトを正しく指定してください。

------