여러 반복에서 진행 상황 모니터링
MLflow를 통해 지표를 추적할 수 있습니다.
Nova 사용자 지정 - SageMaker HyperPod에 대한 MLFlow 설정
SageMaker HyperPod 환경이 지표를 MLFlow에 출력하도록 하려면 몇 가지 추가 설정을 수행해야 합니다.
-
Amazon SageMaker AI 열기
-
SageMaker Studio 선택
-
이미 생성된 프로필이 있는 경우 'Studio 열기' 선택
-
프로필이 생성되지 않은 경우 'SageMaker 도메인 생성'을 선택하여 설정
-
-
MLFlow를 선택하세요. 생성된 MLFlow 앱이 없는 경우 'MLFlow 앱 생성'을 선택하세요.
-
ML Flow 앱에서 복사/붙여넣기 버튼 또는 '세부 정보 보기' 메뉴 항목을 클릭하여 ARN을 가져오세요. 훈련 작업을 제출할 때 이 정보가 필요합니다.
-
HyperPod 클러스터 실행 역할에서 다음 정책을 추가하세요. 그러면 HyperPod 클러스터가 MLFlow API를 직접 호출하여 지표를 게시할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker-mlflow:*", "Resource": [ "arn:aws:sagemaker:us-east-1:372836560492:mlflow-app/*" ] }, { "Effect": "Allow", "Action": [ "sagemaker:ListMlflowTrackingServers", "sagemaker:CallMlflowAppApi" ], "Resource": "*" } ] }
CLI를 통해 작업 제출
명령줄 또는 레시피 yaml에서 4개의 새 재정의 파라미터를 지정합니다.
-
mlflow_tracking_uri: MLFlow 앱의 ARN -
mlflow_experiment_name: 실험에 대한 이 실행의 이름 -
mlflow_experiment_name: 지표가 MLFlow에 저장되는 실험 이름 -
mlflow_run_name: 이 실험의 이름
명령줄
--override-parameters '{"recipes.run.mlflow_tracking_uri": "arn:aws:sagemaker:us-east-1:925548216816:mlflow-app/app-B6XOUNCHQM4W", "recipes.run.mlflow_experiment_name": "myuser-sft-lora-exp1", "recipes.run.mlflow_run_name": "myuser-sft-lora-exp1-202512181940"}'
yaml:
## Run config run: mlflow_tracking_uri: "arn:aws:sagemaker:us-east-1:925548216816:mlflow-app/app-B6XOUNCHQM4W" mlflow_experiment_name: "myuser-sft-lora-exp1" mlflow_run_name: "myuser-sft-lora-exp1-202512181940"
SageMaker Studio UI를 통해 작업 제출
MLFlow 통합은 SageMaker Studio UI 환경에 이미 빌드되어 있습니다. 훈련 작업을 제출할 때 사용할 MLFlow 앱 인스턴스를 표시하기만 하면 됩니다.
-
SageMaker Studio에서 모델 > Nova 2.0 Lite > 사용자 지정 > UI로 사용자 지정으로 이동하세요.
-
고급 구성 섹션 확장
-
훈련 지표를 전송할 MLFlow 앱을 선택하세요. 여기에서 실험 이름과 실험 실행을 설정할 수도 있습니다.
AWS CLI 를 통해 작업 제출
AWS CLI를 사용하는 경우 MLflow 앱을 생성하고 이를 훈련 작업 API 요청에 대한 입력으로 전달해야 합니다.
mlflow_app_name="<enter your MLflow app name>" role_arn="<enter your role ARN>" bucket_name="<enter your bucket name>" region="<enter your region>" mlflow_app_arn=$(aws sagemaker create-mlflow-app \ --name $mlflow_app_name \ --artifact-store-uri "s3://$bucket_name" \ --role-arn $role_arn \ --region $region)
MLflow 앱 생성
Studio UI 사용: Studio UI를 통해 훈련 작업을 생성하는 경우 기본 MLflow 앱이 자동으로 생성되고 고급 옵션에서 기본적으로 선택됩니다.
CLI 사용: CLI를 사용하는 경우 MLflow 앱을 생성하고 이를 훈련 작업 API 요청에 대한 입력으로 전달해야 합니다.
mlflow_app_name="<enter your MLflow app name>" role_arn="<enter your role ARN>" bucket_name="<enter your bucket name>" region="<enter your region>" mlflow_app_arn=$(aws sagemaker create-mlflow-app \ --name $mlflow_app_name \ --artifact-store-uri "s3://$bucket_name" \ --role-arn $role_arn \ --region $region)
MLflow 앱에 액세스
CLI 사용: 미리 서명된 URL을 생성하여 MLflow 앱 UI에 액세스합니다.
aws sagemaker create-presigned-mlflow-app-url \ --arn $mlflow_app_arn \ --region $region \ --output text
Studio UI 사용: Studio UI는 MLflow에 저장된 주요 지표를 표시하고 MLflow 앱 UI에 대한 링크를 제공합니다.
추적할 주요 지표
여러 반복에서 이러한 지표를 모니터링하여 개선 사항을 평가하고 작업 진행 상황을 추적합니다.
SFT의 경우
-
훈련 손실 곡선
-
소비된 샘플 수 및 샘플 처리 시간
-
홀드아웃 테스트 세트의 성능 정확도
-
형식 규정 준수(예: 유효한 JSON 출력 비율)
-
도메인별 평가 데이터의 퍼플렉시티
RFT의 경우
-
훈련 대비 평균 보상 점수
-
보상 분포(높은 보상 응답의 백분율)
-
검증 보상 추세(과적합 감시)
-
태스크별 성공률(예: 코드 실행 통과 비율, 수학 문제 정확도)
일반
-
반복 간 벤치마크 성능 델타
-
대표 샘플에 대한 인적 평가 점수
-
프로덕션 지표(반복적으로 배포하는 경우)
중지 시점 결정
다음과 같은 경우 반복을 중지합니다.
-
성능 정체: 추가 훈련으로도 대상 지표가 더 이상 유의미하게 개선되지 않음
-
기법 전환 지원: 한 기법이 정체된 경우 성능 상한을 깨뜨리려면 전환(예: SFT → RFT → SFT) 시도
-
목표 지표 달성: 성공 기준을 충족함
-
회귀 감지: 새 반복은 성능을 저하시킴(아래 롤백 절차 참조)
자세한 평가 절차는 평가 섹션을 참조하세요.