RFT 훈련 모니터링
훈련 중 주요 지표를 모니터링하여 효과적인 학습을 보장하고 잠재적 문제를 조기에 식별합니다.
추적할 주요 지표
훈련 중에 MlFlow를 사용하여 다음 지표를 모니터링합니다.
보상 지표:
-
평균 보상 점수: 모델 응답의 전반적인 품질(시간 경과에 따라 증가해야 함)
-
보상 분포: 높음, 중간, 낮음 수준의 보상을 받는 응답 비율
-
훈련 및 검증 보상 비교: 과적합 감지와 비교
훈련 지표:
-
정책 업데이트: 성공적인 가중치 업데이트 수
-
롤아웃 완료율: 성공적으로 평가된 샘플 비율
우려되는 패턴:
-
보상 정체(열악한 수준의 학습을 나타냄)
-
훈련 보상이 증가하는 동안 검증 보상 삭제(과적합)
-
시간 경과에 따라 크게 증가하는 보상 분산(불안정성)
-
높은 비율의 보상 함수 오류(구현 문제)
훈련을 중지하는 경우:
-
목표 성능 지표를 달성함
-
보상 정체 및 더 이상 개선되지 않음
-
검증 성능이 저하됨(과적합 감지됨)
-
최대 훈련 예산에 도달함
RFT 이후 평가
훈련이 완료되면 미세 조정된 모델을 평가하여 성능 개선을 평가합니다.
-
RFT 평가 작업 실행: RFT 훈련의 체크포인트를 모델로 사용
-
기준과 비교: 동일한 테스트 세트에서 기본 모델과 미세 조정된 모델 모두 평가
-
지표 분석: 태스크별 지표(정확도, 보상 점수 등) 검토
-
정성적 검토 수행: 샘플 출력의 품질을 수동으로 검사
자세한 평가 절차는 평가 섹션을 참조하세요.
미세 조정 모델 사용
체크포인트에 액세스:
훈련이 완료되면 체크포인트를 찾습니다.
-
S3에서
output_path로 이동 -
output.tar.gz다운로드 및 추출 -
manifest.json를 엽니다. -
checkpoint_s3_bucket값 복사
추론에 대한 배포:
추론 또는 추가 훈련을 위해 체크포인트 S3 경로를 사용합니다.
run: model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"
배포 및 추론 지침은 추론 섹션을 참조하세요.
제한 사항 및 모범 사례
현재 제한 사항:
베타 제한 사항:
-
RFT에 대한 새 RIG 그룹을 생성해야 합니다. 이 제한 사항은 GA에서 해결될 예정입니다.
-
인스턴스 유형 요구 사항: P5 인스턴스(최소 8x P5.48xlarge)만 지원됩니다. 출시 예정: 더 작은 인스턴스 유형에 대한 지원(ETA: 2025년 1월 중순).
기능 제한 사항:
-
15분의 Lambda 제한 시간: 보상 함수는 15분 이내에 완료되어야 함
-
싱글턴만 - 멀티턴 대화는 지원되지 않음
-
검증 데이터세트: 훈련 중에는 지원되지 않습니다. 별도의 평가 작업을 사용하여 훈련 진행 상황을 평가합니다.
훈련 고려 사항:
-
낮은 보상 시나리오: 5% 미만의 예제에서 긍정적인 보상을 받을 때 어려움을 겪을 수 있음 - SFT 우선 고려
-
데이터 요구 사항: 효과적으로 학습하려면 충분한 다양성이 필요함
-
컴퓨팅 비용: 지도 미세 조정보다 비용이 많이 발생함
Nova Forge에서는 다음과 같은 제한 사항 중 일부가 제거되었습니다.
-
멀티턴 대화 지원
-
15분 제한 시간을 초과하는 보상 함수 허용
-
고급 알고리즘 및 조정 옵션 제공
-
복잡한 엔터프라이즈 사용 사례를 위해 설계되었으며, 특히 프론티어 모델을 빌드하도록 조정됨
모범 사례:
작게 시작한 다음 규모 조정:
-
최소 데이터세트(100~200개의 예제)와 소수의 훈련 에포크로 시작
-
스케일 업하기 전에 접근 방식 검증
-
결과를 기반으로 점진적으로 데이터세트 크기 및 훈련 단계 증가
SFT 우선 시 기준:
-
보상 점수가 지속적으로 낮은 경우(예: 항상 0) RFT 전에 SFT 수행
-
효과적으로 개선하려면 RFT에 합리적인 기준 성능이 필요함
효율적인 보상 함수 설계:
-
분이 아닌 초 단위 내 실행
-
외부 API 직접 호출 최소화
-
효율적인 알고리즘 및 데이터 구조 사용
-
적절한 오류 처리 구현
-
훈련 전에 철저하게 테스트
-
Lambda의 병렬 조정 기능 활용
적극적으로 훈련 모니터링:
-
시간 경과에 따른 평균 보상 점수 추적
-
여러 샘플에서 보상 분포 감시
-
훈련 보상 및 검증 보상 비교
-
우려되는 패턴(정체, 과적합, 불안정) 감지
결과를 기반으로 반복:
-
여러 번 반복 후에도 보상이 개선되지 않으면 보상 함수 설계 조정
-
데이터세트 다양성을 늘려 더 명확한 학습 신호 제공
-
보상이 계속 0 근처로 유지되는 경우 SFT로 전환 고려
-
여러 하이퍼파라미터(학습 속도, 배치 크기)로 실험
데이터 품질 최적화:
-
다양한 대표 예제 보장
-
엣지 케이스 및 어려운 샘플 포함
-
보상 함수가 모든 예제 유형의 점수를 올바르게 매기는지 확인
-
보상 함수를 혼동하는 샘플 제거 또는 수정
문제 해결
보상 함수 오류:
증상: 훈련 중 보상 함수 직접 호출에서 높은 오류 비율
문제 |
증상 |
해결 방법 |
|---|---|---|
Lambda 제한 시간 |
15분 후 빈번한 제한 시간 초과 |
함수 성능 최적화, 복잡한 평가에 Nova Forge 고려 |
동시성 부족 |
Lambda 스로틀링 오류 |
lambda_concurrency_limit 증가 또는 할당량 증가 요청 |
휴효하지 않은 반환 형식 |
형식 오류와 함께 훈련 실패 |
반환 구조가 필수 인터페이스 형식과 일치하는지 확인 |
처리되지 않은 예외 |
간헐적 오류 |
포괄적인 오류 처리 및 로깅 추가 |
외부 API 실패 |
일관되지 않은 점수 |
재시도 로직 및 대체 전략 구현 |
훈련 성능 저하:
증상: 보상이 개선되지 않거나 낮은 값으로 정체됨
해결 방법:
-
보상 함수 정확성 확인: 알려진 좋은 예제 및 잘못된 예제로 테스트
-
기준 성능 확인: 기본 모델 평가, 정확도가 거의 0에 가까우면 SFT 우선 수행
-
데이터 다양성 증가: 여러 시나리오를 다루는 다양한 예제 더 추가
-
하이퍼파라미터 조정: 여러 학습률 또는 배치 크기 시도
-
보상 신호 품질 검토: 보상에서 좋은 응답과 나쁜 응답을 구별하는지 확인
과적합:
증상: 훈련 보상은 증가하지만 검증 보상은 감소함
해결 방법:
-
훈련 단계 축소: 조기에 훈련 중지
-
데이터세트 크기 증가: 훈련 예제 더 추가
-
정규화 추가:
weight_decay또는entropy_coeff조정 -
데이터 다양성 증가: 훈련 세트가 전체 분산을 나타내도록 보장