여러 반복에서 진행 상황 모니터링
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 AWS CLI를 통해 작업 제출
AWS 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) 시도
-
목표 지표 달성: 성공 기준을 충족함
-
회귀 감지: 새 반복은 성능을 저하시킴(아래 롤백 절차 참조)
자세한 평가 절차는 평가 섹션을 참조하세요.