

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 사용자 지정 지표를 사용하여 모델 평가 작업 생성
<a name="model-evaluation-custom-metrics-create-job"></a>

사용자 지정 지표를 사용하는 평가 작업을 생성하려면 다음을 제공해야 합니다.
+ 평가자 모델이 사용할 자세한 지침이 포함된 프롬프트
+ 사용자 지정 지표에 사용할 평가자 모델

또한 평가자 모델이 생성기 모델의 응답을 평가하는 데 사용할 수 있는 등급 척도(출력 스키마)를 지정할 수 있습니다.

AWS Management Console, AWS Command Line Interface(AWS CLI) 또는 Amazon Bedrock API를 사용하여 사용자 지정 지표로 평가 작업을 생성할 수 있습니다. 다음 지침에 따라 평가 작업을 생성합니다. 지표에 대한 프롬프트를 생성하고 생성 중에 지정하는 등급 척도를 정의하는 방법에 대한 지침과 지침은 [사용자 지정 지표에 대한 프롬프트 생성](model-evaluation-custom-metrics-prompt-formats.md) 섹션을 참조하세요.

하나 이상의 사용자 지정 지표를 사용하여 평가 작업을 생성하면 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) 섹션을 참조하세요.

다음 지침에 따라 하나 이상의 사용자 지정 지표를 사용하여 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 모델 평가 도구 세트를 사용하면 [프롬프트 데이터세트](model-evaluation-prompt-datasets-judge.md)에 자체 추론 응답 데이터를 제공하여 Amazon Bedrock 모델 또는 다른 모델의 성능을 평가할 수 있습니다. 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. **지표 이름**에서 지표의 이름을 입력합니다.

1. 지표를 지정하는 JSON 파일을 제공하거나 템플릿에서 기존 내장 지표 프롬프트를 편집하거나, 평가자 모델이 사용할 프롬프트를 콘솔에 직접 입력하여 지표를 구성할 수 있습니다.

   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-as-a-judge 평가 작업에 필요한 프롬프트 데이터세트 형식의 정의를 보려면 [모델을 평가자로 사용하는 모델 평가 작업에 대한 프롬프트 데이터세트 생성](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 키를 사용하여 평가 데이터를 암호화하려면 **KMSkey - *선택 사항***에서 **암호화 설정 사용자 지정(고급)**을 선택하고 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 AWS CLI Amazon Bedrock 모델에 대한 사용자 지정 지표를 사용하여 평가 작업을 생성하는 명령 및 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 파일에는 두 개의 `evaluatorModelConfig` 객체가 포함되어 있습니다. `customMetricConfig` 객체 내부의 객체는 사용자 지정 지표와 함께 사용할 평가자 모델을 지정합니다. 다른 인스턴스는 기본 제공 지표에 사용할 모델을 지정합니다. 이 두 객체를 올바르게 지정하도록 주의하세요.

**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 파일에는 두 개의 `evaluatorModelConfig` 객체가 포함되어 있습니다. `customMetricConfig` 객체 내부의 객체는 사용자 지정 지표와 함께 사용할 평가자 모델을 지정합니다. 다른 인스턴스는 기본 제공 지표에 사용할 모델을 지정합니다. 이 두 객체를 올바르게 지정하도록 주의하세요.

------