Amazon Nova 모델에 대한 미세 조정 작업 생성 및 관리 - Amazon Bedrock

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

Amazon Nova 모델에 대한 미세 조정 작업 생성 및 관리

Amazon Bedrock 콘솔 또는 API를 사용하여 강화 미세 조정(RFT) 작업을 생성할 수 있습니다. RFT 작업은 훈련 데이터의 크기, epoch 수, 보상 함수의 복잡성에 따라 몇 시간이 걸릴 수 있습니다.

사전 조건

  • 필요한 권한을 가진 IAM 서비스 역할을 생성합니다. RFT별 권한을 포함한 포괄적인 보안 및 권한 정보는 섹션을 참조하세요Amazon Nova 모델의 액세스 및 보안.

  • (선택 사항) 사용자 지정 모델에 대한 입력 및 출력 데이터, RFT 작업 또는 추론 요청을 암호화합니다. 자세한 내용은 사용자 지정 모델 암호화를 참조하세요.

RFT 작업 생성

원하는 방법의 탭을 선택한 후 다음 단계를 따릅니다.

Console

콘솔에서 RFT 작업을 제출하려면 다음 단계를 수행합니다.

  1. Amazon Bedrock 콘솔을 열고 튜닝 아래의 사용자 지정 모델로 이동합니다.

  2. 생성을 선택한 다음 강화 미세 조정 작업 생성을 선택합니다.

  3. 모델 세부 정보 섹션에서 Amazon Nova 2 Lite를 기본 모델로 선택합니다.

  4. 사용자 지정 세부 정보 섹션에서 사용자 지정 이름을 입력합니다.

  5. 훈련 데이터 섹션에서 데이터 소스를 선택합니다. Amazon S3에 저장된 사용 가능한 호출 로그 중에서 선택하거나 훈련 데이터 세트 파일의 Amazon S3 위치를 선택하거나 디바이스에서 직접 파일을 업로드합니다.

    참고

    훈련 데이터 세트는 OpenAI Chat Completions 데이터 형식이어야 합니다. Amazon Bedrock 호출 또는 대화 형식으로 호출 로그를 제공하면 Amazon Bedrock이 자동으로 이를 채팅 완료 형식으로 변환합니다.

  6. 보상 함수 섹션에서 보상 메커니즘을 설정합니다.

    • 판단형 모델(RLAIF) - Bedrock 호스팅 기본 모델을 판단형으로 선택하고 평가 지침을 구성합니다. 콘텐츠 조정과 같은 주관적 작업에 사용합니다.

      참고

      콘솔의 판단형 모델 옵션은 훈련 중에 구성을 Lambda 함수로 자동 변환합니다.

    • 사용자 지정 코드(RLVR) - Lambda 함수를 통해 실행되는 Python 코드를 사용하여 사용자 지정 보상 함수를 생성합니다. 코드 생성과 같은 목표 작업에 사용합니다.

    자세한 내용은 Amazon Nova 모델에 대한 보상 함수 설정 단원을 참조하십시오.

  7. (선택 사항) 하이퍼파라미터 섹션에서 훈련 파라미터를 조정하거나 기본값을 사용합니다.

  8. 출력 데이터 섹션에서 Amazon Bedrock이 작업 출력을 저장해야 하는 Amazon S3 위치를 입력합니다.

  9. 역할 구성 섹션의 드롭다운 목록에서 기존 역할을 선택하거나 생성할 서비스 역할의 이름을 입력합니다.

  10. (선택 사항) 추가 구성 섹션에서 Amazon S3 버킷, KMS 암호화 설정, 작업 및 모델 태그를 가리켜 검증 데이터를 구성합니다.

  11. 강화 미세 조정 작업 생성을 선택하여 작업을 시작합니다.

API

를 로 customizationType 설정하여 CreateModelCustomizationJob 요청을 보냅니다REINFORCEMENT_FINE_TUNING.

필수 필드: roleArn, baseModelIdentifier, customModelName, jobName, trainingDataConfig, outputDataConfig, rftConfig

요청 예제:

{ "roleArn": "arn:aws:iam::123456789012:role/BedrockRFTRole", "baseModelIdentifier": "amazon.nova-2.0", "customModelName": "my-rft-model", "jobName": "my-rft-job", "customizationType": "REINFORCEMENT_FINE_TUNING", "trainingDataConfig": { "s3Uri": "s3://my-bucket/training-data.jsonl" }, "customizationConfig": { "rftConfig" : { "graderConfig": { "lambdaGrader": { "lambdaArn": "arn:aws:lambda:us-east-1:123456789012:function:function-name" } }, "hyperParameters": { "batchSize": 64, "epochCount": 2, "evalInterval": 10, "inferenceMaxTokens": 8192, "learningRate": 0.00001, "maxPromptLength": 4096, "reasoningEffort": "high", "trainingSamplePerPrompt": 4 } } }, "outputDataConfig": { "s3Uri": "s3://my-bucket/rft-output/" } }

Python API 샘플 요청:

import boto3 bedrock = boto3.client(service_name='bedrock') # Set parameters customizationType = "REINFORCEMENT_FINE_TUNING" baseModelIdentifier = "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-2-lite-v1:0:256k" roleArn = "${your-customization-role-arn}" jobName = "MyFineTuningJob" customModelName = "MyCustomModel" customizationConfig = { 'rftConfig' : { 'graderConfig': { 'lambdaGrader': { 'lambdaArn': 'arn:aws:lambda:us-east-1:123456789012:function:function-name' } }, 'hyperParameters': { 'batchSize': 64, 'epochCount': 2, 'evalInterval': 10, 'inferenceMaxTokens': 8192, 'learningRate':0.00001, 'maxPromptLength': 4096, 'reasoningEffort': 'high', 'trainingSamplePerPrompt':4 } } } trainingDataConfig = {"s3Uri": "s3://${training-bucket}/myInputData/train.jsonl"} outputDataConfig = {"s3Uri": "s3://${output-bucket}/myOutputData"} # Create job response_ft = bedrock.create_model_customization_job( jobName=jobName, customModelName=customModelName, roleArn=roleArn, baseModelIdentifier=baseModelIdentifier, customizationConfig=customizationConfig, trainingDataConfig=trainingDataConfig, outputDataConfig=outputDataConfig, customizationType=customizationType ) jobArn = response_ft['jobArn']

RFT 훈련 작업 모니터링

Amazon Bedrock은 RFT 훈련 중에 시각적 그래프 및 지표를 사용하여 실시간 모니터링을 제공합니다. 이러한 지표는 모델이 제대로 수렴되는지 여부와 보상 함수가 학습 프로세스를 효과적으로 안내하는지 이해하는 데 도움이 됩니다.

작업 상태 추적

Amazon Bedrock 콘솔의 검증 및 훈련 단계를 통해 RFT 작업 상태를 모니터링할 수 있습니다.

완료 지표:

  • 훈련이 성공적으로 완료되면 작업 상태가 완료됨으로 변경됩니다.

  • 사용자 지정 모델 ARN 배포 가능

  • 훈련 지표가 수렴 임계값에 도달

실시간 훈련 지표

Amazon Bedrock은 훈련 및 검증 지표를 표시하는 시각적 그래프를 사용하여 RFT 훈련 중에 실시간 모니터링을 제공합니다.

핵심 훈련 지표

  • 훈련 손실 - 모델이 훈련 데이터에서 얼마나 잘 학습하고 있는지 측정합니다.

  • 훈련 보상 통계 - 보상 함수에서 할당한 보상 점수를 표시합니다.

  • 보상 마진 - 좋은 대응 보상과 나쁜 대응 보상의 차이를 측정합니다.

  • 훈련 및 검증 세트의 정확도 - 훈련 및 홀드아웃 데이터 모두에 대한 모델 성능을 보여줍니다.

세부 지표 범주

  • 보상 지표 - critic/rewards/mean, critic/rewards/max, critic/rewards/min (보상 배포) 및 val-score/rewards/mean@1 (검증 보상)

  • 모델 동작 - actor/entropy (정책 변형, 높을수록 더 탐색적임)

  • 훈련 상태 - actor/pg_loss (정책 그라데이션 손실), actor/pg_clipfrac (클리핑된 업데이트 빈도) 및 actor/grad_norm (완전한 크기)

  • 응답 특성 - prompt_length/mean, prompt_length/max, prompt_length/min (입력 토큰 통계), response_length/mean, response_length/max, response_length/min (출력 토큰 통계) 및 response/aborted_ratio (미완료 생성 속도, 0은 모두 완료됨)

  • 성능 - perf/throughput (훈련 처리량), perf/time_per_step (훈련 단계당 시간) 및 timing_per_token_ms/* (토큰당 처리 시간)

  • 리소스 사용량 - perf/max_memory_allocated_gb, perf/max_memory_reserved_gb (GPU 메모리) 및 perf/cpu_memory_used_gb (CPU 메모리)

훈련 진행 상황 시각화

콘솔에는 RFT 작업이 진행됨에 따라 실시간으로 업데이트되는 대화형 그래프가 표시됩니다. 이러한 시각화는 다음과 같은 이점을 제공합니다.

  • 최적의 성능을 향한 수렴 추적

  • 잠재적 훈련 문제를 조기에 식별

  • 최적의 중지 지점 결정

  • 다양한 에포크의 성능 비교

추론 설정

작업 완료 후 온디맨드 추론을 위해 RFT 모델을 배포하거나 일관된 성능을 위해 프로비저닝된 처리량을 사용합니다. 추론 설정은 섹션을 참조하세요사용자 지정 모델의 추론 설정.

플레이그라운드에서 테스트를 사용하여 응답을 평가하고 기본 모델과 비교합니다. 완료된 RFT 모델을 평가하려면 섹션을 참조하세요RFT 모델 평가.