Amazon Bedrock에서 모델 평가 작업 생성 - Amazon Bedrock

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

Amazon Bedrock에서 모델 평가 작업 생성

AWS Management Console, AWS CLI또는 지원되는 를 사용하여 모델 평가 작업을 생성할 수 있습니다 AWS SDK. 평가를 위한 지표를 생성하는 자동 모델 평가 작업을 생성할 수 있습니다. 또한 인적 작업자 팀을 활용하여 평가에 대한 의견을 평가하고 제공하는 인적 기반 모델 평가 작업을 생성할 수 있습니다.

다음 예제에서는 Python AWS CLI SDK용 Amazon Bedrock 콘솔을 사용하여 자동 및 인간 기반 모델 평가 작업을 생성하는 방법을 보여줍니다.

Amazon Bedrock 콘솔을 사용하여 모델 평가 작업 결과 보기

모델 평가 작업이 완료되면 지정한 Amazon S3 버킷에 결과가 저장됩니다. 어떤 식으로든 결과 위치를 수정하면 콘솔에 모델 평가 보고서 카드가 더 이상 표시되지 않습니다.

자동 모델 평가 작업

모든 자동 모델 평가 작업에서는 IAM 서비스 역할을 생성해야 합니다. 모델 평가 작업 설정 요구 IAM 사항에 대한 자세한 내용은 섹션을 참조하세요모델 평가 작업의 서비스 역할 요구 사항.

다음 예제에서는 자동 모델 평가 작업을 생성하는 방법을 보여줍니다. 에서는 modelIdentifier 필드에 를 지정하여 작업에 추론 프로파일을 포함할 API수도 ARN 있습니다.

Amazon Bedrock console

다음 절차에 따라 Amazon Bedrock 콘솔을 사용하여 모델 평가 작업을 생성합니다. 이 절차를 성공적으로 완료하려면 IAM 사용자, 그룹 또는 역할에 콘솔에 액세스할 수 있는 충분한 권한이 있는지 확인합니다. 자세한 내용은 Amazon Bedrock 콘솔을 사용한 모델 평가에 필요한 권한을 참조하십시오.

또한 모델 평가 작업에서 지정하려는 사용자 지정 프롬프트 데이터 세트에는 Amazon S3 버킷에 필요한 CORS 권한이 추가되어야 합니다. 필요한 CORS 권한 추가에 대한 자세한 내용은 섹션을 참조하세요S3 버킷에 대한 원본 간 리소스 공유 (CORS) 권한이 필요합니다..

자동 모델 평가 작업을 생성하려면
  1. Amazon Bedrock 콘솔을 엽니다. https://console.aws.amazon.com/bedrock/

  2. 탐색 창에서 모델 평가를 선택합니다.

  3. 평가 작성하기 카드의 자동에서 자동 평가 생성을 선택합니다.

  4. 자동 평가 생성 페이지에서 다음 정보를 입력합니다.

    1. 평가 이름 - 모델 평가 작업에 작업을 설명하는 이름을 지정합니다. 이 이름이 모델 평가 작업 목록에 표시됩니다. 이름은 AWS 리전리전의 계정 내에서 중복되지 않아야 합니다.

    2. 설명(선택 사항) - 필요에 따라 설명을 입력합니다.

    3. 모델 - 모델 평가 작업에 사용하려는 모델을 선택합니다.

      사용 가능한 모델과 Amazon Bedrock에서 모델에 액세스하는 방법에 대한 자세한 내용은 섹션을 참조하세요Amazon Bedrock 파운데이션 모델 액세스.

    4. (선택 사항) 추론 구성을 변경하려면 업데이트를 선택합니다.

      추론 구성을 변경하면 선택한 모델에서 생성된 응답이 변경됩니다. 사용 가능한 추론 파라미터에 대한 자세한 내용은 파운데이션 모델의 추론 요청 파라미터 및 응답 필드 섹션을 참조하세요.

    5. 작업 유형 - 모델 평가 작업 중에 모델이 수행하려고 시도할 작업 유형을 선택합니다.

    6. 지표 및 데이터 세트 - 사용 가능한 지표 및 내장형 프롬프트 데이터 세트 목록은 선택한 작업에 따라 달라집니다. 사용 가능한 기본 제공 데이터 세트 목록에서 선택하거나 자체 프롬프트 데이터 세트 사용을 선택할 수 있습니다. 자체 프롬프트 데이터 세트를 사용하도록 선택한 경우 프롬프트 데이터 세트 파일의 정확한 S3URI를 입력하거나 S3 찾아보기를 선택하여 프롬프트 데이터 세트를 검색합니다.

    7. >평가 결과 - 결과를 저장할 디렉터리URI의 S3를 지정합니다. S3 찾아보기를 선택하여 Amazon S3에서 위치를 검색합니다.

    8. (선택 사항) 고객 관리형 키 사용을 활성화하려면 암호화 설정 사용자 지정(고급)을 선택합니다. 그런 다음 사용하려는 AWS KMS 키ARN의 를 제공합니다.

    9. Amazon Bedrock IAM 역할 - 기존 역할 사용을 선택하여 필요한 권한이 이미 있는 IAM 서비스 역할을 사용하거나 새 역할 생성을 선택하여 새 IAM 서비스 역할을 생성합니다.

  5. 그다음에 생성을 선택합니다.

상태가 완료됨으로 변경되면 작업의 보고서 카드를 볼 수 있습니다.

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":"{\"temperature\":\"0.0\", \"topP\":\"1\", \"maxTokenCount\":\"512\"}" } } ] }, outputDataConfig={ "s3Uri":"s3://model-evaluations/outputs/" }, evaluationConfig={ "automated": { "datasetMetricConfigs": [ { "taskType": "QuestionAndAnswer", "dataset": { "name": "Builtin.BoolQ" }, "metricNames": [ "Builtin.Accuracy", "Builtin.Robustness" ] } ] } } ) print(job_request)
AWS CLI

에서 help 명령을 사용하여 에 지정할 때 필요한 파라미터와 선택 사항인 파라미터를 확인할 AWS CLI수 create-evaluation-job 있습니다 AWS CLI.

aws bedrock create-evaluation-job help
aws 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":"{\"temperature\":\"0.0\", \"topP\":\"1\", \"maxTokenCount\":\"512\"}"}}]}' \ --output-data-config '{"s3Uri":"s3://automatic-eval-jobs/outputs"}'

인적 기반 모델 평가 작업

다음 예제에서는 작업자를 사용하는 모델 평가 작업을 생성하는 방법을 보여줍니다. 에서는 modelIdentifier 필드에 를 지정하여 작업에 추론 프로파일을 포함할 API수도 ARN 있습니다.

콘솔

작업자를 사용하는 모델 평가 작업을 생성하려면 다음을 수행하세요.
  1. Amazon Bedrock 콘솔을 엽니다. https://console.aws.amazon.com/bedrock/

  2. 탐색 창에서 모델 평가를 선택합니다.

  3. 평가 카드 빌드인적: 팀 가져오기에서 인적 기반 평가 생성을 선택합니다.

  4. 작업 세부 정보 지정 페이지에서 다음을 제공합니다.

    1. 평가 이름 - 모델 평가 작업에 작업을 설명하는 이름을 지정합니다. 이 이름이 모델 평가 작업 목록에 표시됩니다. 이름은 AWS 리전리전의 계정 내에서 중복되지 않아야 합니다.

    2. 설명(선택 사항) - 필요에 따라 설명을 입력합니다.

  5. 그리고 다음을 선택합니다.

  6. 평가 설정 페이지에서 다음을 제공합니다.

    1. 모델 - 모델 평가 작업에 사용하려는 두 모델을 선택합니다.

      Amazon Bedrock의 사용 가능한 모델에 대해 알아보려면 Amazon Bedrock 파운데이션 모델 액세스 섹션을 참조하세요.

    2. (선택 사항) 선택한 모델에 대한 추론 구성을 변경하려면 업데이트를 선택합니다.

      추론 구성을 변경하면 선택한 모델에서 생성된 응답이 변경됩니다. 사용 가능한 추론 파라미터에 대한 자세한 내용은 파운데이션 모델의 추론 요청 파라미터 및 응답 필드 섹션을 참조하세요.

    3. 작업 유형 - 모델 평가 작업 중에 모델이 수행하려고 시도할 작업 유형을 선택합니다. 모델에 대한 모든 지침은 프롬프트 자체에 포함되어야 합니다. 작업 유형은 모델의 응답을 제어하지 않습니다.

    4. 평가 지표 - 권장 지표 목록은 선택한 작업에 따라 달라집니다. 각 권장 지표의 등급 지정 방법을 선택해야 합니다. 모델 평가 작업당 최대 10개의 평가 지표를 보유할 수 있습니다.

    5. (선택 사항) 지표 추가를 선택하여 지표를 추가합니다. 지표, 설명, 등급 지정 방법을 정의해야 합니다.

    6. 데이터 세트 카드에서 다음을 제공해야 합니다.

      1. 프롬프트 데이터 세트 선택 - 프롬프트 데이터 세트 파일의 S3URI를 지정하거나 S3 찾아보기를 선택하여 사용 가능한 S3 버킷을 확인합니다. 사용자 지정 프롬프트 데이터 세트에 최대 1,000개의 프롬프트를 포함할 수 있습니다.

      2. 평가 결과 대상 - 모델 평가 작업의 결과를 저장할 디렉터리URI의 S3를 지정하거나 S3 찾아보기를 선택하여 사용 가능한 S3 버킷을 확인해야 합니다.

    7. (선택 사항) AWS KMS 키 - 모델 평가 작업을 암호화하는 데 사용할 고객 관리형 키ARN의 를 제공합니다.

    8. Amazon Bedrock IAM 역할 - 권한 카드에서 다음을 수행해야 합니다. 모델 평가의 필수 권한에 대해 알아보려면 Amazon Bedrock에서의 모델 평가에 필요한 권한 및 IAM 서비스 역할 섹션을 참조하세요.

      1. 기존 Amazon Bedrock 서비스 역할을 사용하려면 기존 역할 사용을 선택합니다. 그렇지 않으면 새 역할 생성을 사용하여 새 IAM 서비스 역할의 세부 정보를 지정합니다.

      2. 서비스 역할 이름 에서 IAM 서비스 역할의 이름을 지정합니다.

      3. 준비가 되면 역할 생성을 선택하여 새 IAM 서비스 역할을 생성합니다.

  7. 그리고 다음을 선택합니다.

  8. 권한 카드에 다음을 지정합니다. 모델 평가의 필수 권한에 대해 알아보려면 Amazon Bedrock에서의 모델 평가에 필요한 권한 및 IAM 서비스 역할 섹션을 참조하세요.

  9. 인적 워크플로 IAM 역할 - 필요한 권한이 있는 서비스 역할을 지정합니다 SageMaker.

  10. 작업 팀 카드에 다음을 지정합니다.

    작업자 알림 요건

    모델 평가 작업에 새 작업자를 추가하면 자동으로 모델 평가 작업에 참여하도록 초대하는 이메일이 발송됩니다. 모델 평가 작업에 기존 작업자를 추가할 때는 모델 평가 작업에 URL 대한 작업자 포털을 알리고 제공해야 합니다. 기존 작업자에게는 새 모델 평가 작업에 추가되었다는 이메일 알림이 자동으로 전송되지 않습니다.

    1. 팀 선택 드롭다운을 사용하여 새 작업팀 생성 또는 기존 작업 팀 이름을 지정합니다.

    2. (선택 사항) 프롬프트당 작업자 수 - 각 프롬프트를 평가하는 작업자 수를 업데이트합니다. 선택한 작업자 수를 기준으로 각 프롬프트에 대한 응답을 검토한 후에는 프롬프트와 해당 응답이 작업 팀의 계산에서 제외됩니다. 최종 결과 보고서에는 각 작업자의 모든 등급이 포함됩니다.

    3. (선택 사항) 기존 작업자 이메일 - 작업자 포털이 포함된 이메일 템플릿을 복사하려면 선택합니다URL.

    4. (선택 사항) 새 작업자 이메일 - 새 작업자에게 자동으로 받는 이메일을 보려면 이 옵션을 선택합니다.

      중요

      대규모 언어 모델은 때때로 거짓 정보를 제공하고 유해하거나 불쾌감을 주는 콘텐츠를 생성하는 것으로 알려져 있습니다. 이 평가 과정에서 작업자에게 유해하거나 불쾌한 내용이 나타날 수 있습니다. 적절한 조치를 취해 훈련을 실시하고 평가 작업을 시작하기 전에 이를 알리도록 합니다. 평가 중에 인적 평가 도구에 액세스하는 동안 작업을 거절하고 취소하거나 휴식을 취할 수 있습니다.

  11. 그리고 다음을 선택합니다.

  12. 지침 제공 페이지에서 텍스트 편집기를 사용하여 작업 완료 지침을 제공합니다. 작업 팀이 지표, 등급 지정 방법, 지침 등 응답을 평가하는 데 사용하는 평가 UI를 미리 볼 수 있습니다. 이 미리 보기는 이 작업을 위해 만든 구성을 기반으로 합니다.

  13. 그리고 다음을 선택합니다.

  14. 검토 및 생성 페이지에서 이전 단계에서 선택한 옵션의 요약을 볼 수 있습니다.

  15. 모델 평가 작업을 시작하려면 생성을 선택합니다.

    참고

    작업이 성공적으로 시작되면 상태가 진행 중으로 바뀝니다. 작업이 완료되면 이 상태는 완료됨으로 바뀝니다. 모델 평가 작업이 아직 진행 중인 동안 작업 팀이 모든 모델의 응답을 평가하기 전에 작업을 중지하도록 선택할 수 있습니다. 이렇게 하려면 모델 평가 랜딩 페이지에서 평가 중지를 선택합니다. 그러면 모델 평가 작업의 상태가 중지 중으로 변경됩니다. 모델 평가 작업이 성공적으로 중지되면 모델 평가 작업을 삭제할 수 있습니다.

API 및 AWS CLI

Amazon Bedrock 콘솔 외부에서 인적 기반 모델 평가 작업을 생성할 때는 Amazon SageMaker 흐름 정의 를 생성해야 합니다ARN.

흐름 정의ARN는 모델 평가 작업의 워크플로가 정의된 곳입니다. 흐름 정의는 작업에 할당하고 Amazon Bedrock에 연결하려는 작업자 인터페이스와 작업 팀을 정의하는 데 사용됩니다.

Amazon Bedrock API 작업을 사용하여 시작된 모델 평가 작업의 경우 AWS CLI 또는 지원되는 를 ARN 사용하여 흐름 정의를 생성해야 합니다 AWS SDK. 흐름 정의의 작동 방식과 프로그래밍 방식으로 생성하는 방법에 대한 자세한 내용은 SageMaker 개발자 안내서인적 검토 워크플로 생성(API)을 참조하세요.

에서 에 대한 입력AWS/Bedrock/Evaluation으로 를 지정해야 CreateFlowDefinition 합니다AwsManagedHumanLoopRequestSource. Amazon Bedrock 서비스 역할에는 흐름 정의의 출력 버킷에 액세스할 수 있는 권한도 있어야 합니다.

다음은 AWS CLI을 사용한 요청 예시입니다. 요청에서 HumanTaskUiArn는 SageMaker 소유 입니다ARN. 에서는 만 수정할 ARN수 있습니다 AWS 리전.

aws sagemaker create-flow-definition --cli-input-json ' { "FlowDefinitionName": "human-evaluation-task01", "HumanLoopRequestSource": { "AwsManagedHumanLoopRequestSource": "AWS/Bedrock/Evaluation" }, "HumanLoopConfig": { "WorkteamArn": "arn:aws:sagemaker:AWS 리전:111122223333:workteam/private-crowd/my-workteam", ## The Task UI ARN is provided by the service team, you can only modify the AWS Region. "HumanTaskUiArn":"arn:aws:sagemaker:AWS Region:394669845002:human-task-ui/Evaluation" "TaskTitle": "Human review tasks", "TaskDescription": "Provide a real good answer", "TaskCount": 1, "TaskAvailabilityLifetimeInSeconds": 864000, "TaskTimeLimitInSeconds": 3600, "TaskKeywords": [ "foo" ] }, "OutputConfig": { "S3OutputPath": "s3://your-output-bucket" }, "RoleArn": "arn:aws:iam::111122223333:role/SageMakerCustomerRoleArn" }'

흐름 정의 를 생성한 후 다음 예제를 ARN사용하여 AWS CLI 또는 지원되는 를 사용하여 인간 기반 모델 평가 작업을 생성합니다 AWS SDK.

SDK for Python

다음 코드 예제에서는 SDK SDK for Python용 를 통해 인적 작업자를 사용하는 모델 평가 작업을 생성하는 방법을 보여줍니다.

import boto3 client = boto3.client('bedrock') job_request = client.create_evaluation_job( jobName="111122223333-job-01", jobDescription="two different task types", roleArn="arn:aws:iam::111122223333:role/example-human-eval-api-role", inferenceConfig={ ## You must specify and array of models "models": [ { "bedrockModel": { "modelIdentifier":"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-text-lite-v1", "inferenceParams":"{\"temperature\":\"0.0\", \"topP\":\"1\", \"maxTokenCount\":\"512\"}" } }, { "bedrockModel": { "modelIdentifier": "anthropic.claude-v2", "inferenceParams": "{\"temperature\":\"0.25\",\"top_p\":\"0.25\",\"max_tokens_to_sample\":\"256\",\"top_k\":\"1\"}" } } ] }, outputDataConfig={ "s3Uri":"s3://job-bucket/outputs/" }, evaluationConfig={ "human": { "humanWorkflowConfig": { "flowDefinitionArn": "arn:aws:sagemaker:us-west-2:111122223333:flow-definition/example-workflow-arn", "instructions": "some human eval instruction" }, "customMetrics": [ { "name": "IndividualLikertScale", "description": "testing", "ratingMethod": "IndividualLikertScale" } ], "datasetMetricConfigs": [ { "taskType": "Summarization", "dataset": { "name": "Custom_Dataset1", "datasetLocation": { "s3Uri": "s3://job-bucket/custom-datasets/custom-trex.jsonl" } }, "metricNames": [ "IndividualLikertScale" ] } ] } } ) print(job_request)