View a markdown version of this page

디버거 가용성 변경 - Amazon SageMaker AI

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

디버거 가용성 변경

참고

Amazon SageMaker Debugger는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 서비스를 정상적으로 계속 사용할 수 있습니다.는 AWS Debugger의 보안 및 가용성 개선에 계속 투자하지만 새로운 기능을 도입할 계획은 없습니다.

Amazon SageMaker Debugger 교체

이 가이드에 따라 대체 서비스로 전환합니다.

개요

Amazon SageMaker Debugger는 기본 제공 SageMaker 기능으로 훈련 관찰성, 모델 디버깅 및 시스템 프로파일링을 제공했습니다. 이제 이러한 기능은 훈련 관찰성, 모델 디버깅 및 시스템 성능 모니터링을 위해 Amazon SageMaker AI MLflow, SageMaker의 TensorBoard 및 Amazon CloudWatch의 조합으로 더 잘 제공됩니다. 이러한 도구는 파운데이션 모델을 미세 조정하든, 사용자 지정 아키텍처를 훈련하든, 분산 워크로드를 실행하든 관계없이 특정 훈련 워크플로에 적응하는 유연한 기능을 제공합니다.

기능 매핑

디버거 기능 대체 제공하는 내용
훈련 지표 로깅 MLflow/TensorBoard 훈련 실행 전반의 지표 로깅, 시각화 및 비교
모델 및 파라미터 추적 MLflow 완전한 재현성을 갖춘 하이퍼파라미터, 모델 버전 및 아티팩트 추적
그라데이션, 활성화 및 가중치 분석 TensorBoard 훈련 단계에서 모델 내부를 검사하기 위한 히스토그램 및 배포 플러그인
시스템 리소스 프로파일링(CPU, GPU, 메모리, 디스크) Amazon CloudWatch 구성 가능한 대시보드를 사용한 실시간 사용률 지표
자동 훈련 진단 Amazon CloudWatch 경보 + MLflow 손실 수렴, 그라데이션 규범, 리소스 사용률 및 임계값 위반에 대한 알림과 같은 로깅된 지표를 모니터링합니다. MLflow 실행 비교는 실험 전반의 회귀를 식별합니다.

1단계: 디버거 구성 제거

예측기에서 DebuggerHookConfig 제거

훈련 스크립트 또는 SageMaker 예측기에 DebuggerHookConfig, 디버거별 TensorBoardOutputConfig또는 rules 구성이 포함된 경우 제거합니다. 그러면 자동 텐서 캡처 및 규칙 평가가 비활성화됩니다.

참고

SageMaker Python SDK v2 Estimator 클래스를 사용하는 경우 예측기는 레거시 구성이므로 최신 SageMaker Python SDK 훈련 APIs 또는 직접 Boto3 CreateTrainingJob 호출로 전환하는 것도 고려해 보세요.

Amazon S3에서 디버거 출력 삭제

Debugger는 텐서 데이터를 저장하고 S3의 출력을 다음과 같은 경로로 프로파일링합니다.

s3://<bucket>/<training-job-name>/debug-output/ s3://<bucket>/<training-job-name>/profiler-output/

기록 데이터가 더 이상 필요하지 않은 경우 이러한 접두사를 삭제합니다. S3의 훈련 작업 로그 및 모델 아티팩트는 영향을 받지 않습니다.

사용자 지정 디버거 규칙 삭제(사용된 경우)

사용자 지정 규칙 컨테이너를 정의한 경우:

  • 사용자 지정 Debugger 규칙 평가에 사용되는 Amazon ECR 이미지 삭제

  • 더 이상 필요하지 않은 규칙 정의 스크립트 또는 JSON 구성 제거

CloudWatch 로그 그룹 삭제(선택 사항)

디버거는 규칙 평가를 /aws/sagemaker/TrainingJobs 위해에서 로그 그룹을 생성했습니다. 로그 스토리지 비용을 줄이기 위해 더 이상 필요하지 않은 경우 이를 삭제합니다.

IAM 정책 검토

Debugger 사용에 대한 액세스 권한을 부여한 IAM 정책을 제거합니다.

  • s3:GetObject / 디버거 출력 경로 s3:PutObject 범위 지정

  • logs:PutLogEvents Debugger별 로그 그룹의 경우

  • 디버거 규칙 컨테이너 실행에 대한 권한

훈련 작업, MLflow 또는 CloudWatch에 여전히 필요한 모든 정책을 보관합니다.

2단계: 대체 구성

실험 추적을 위한 MLflow 통합

Amazon SageMaker AI는 추가 비용 없이 AI 모델 개발 작업을 지원하도록 동적으로 확장되는 서버리스 MLflow 기능을 제공합니다. 시작 블로그를 참조하세요.

MLflow를 사용하여 다음을 수행합니다.

  • 로그 하이퍼파라미터, 훈련 지표 및 모델 아티팩트

  • 실행을 side-by-side 비교하여 회귀 또는 개선 사항 식별

  • 실험에서 프로덕션에 이르기까지 모델 버전 및 계보 추적

시작하기: MLflow와 함께 Amazon SageMaker AI를 사용한 기계 학습 실험 - 설정, 추적 서버 생성 및 훈련 코드와의 통합을 다룹니다.

모델 내부 검사에 TensorBoard 사용

Amazon SageMaker AI의 TensorBoard는 훈련 중에 모델 내부를 심층적으로 파악할 수 있습니다.

  • 여러 단계에서 그라데이션 분포 및 가중치 히스토그램 시각화

  • 활성화 패턴 및 계층 동작 모니터링

  • 스칼라 지표, 이미지 및 사용자 지정 시각화 추적

TensorBoard를 사용하는 경우와 MLflow를 사용하는 경우: MLflow는 스칼라 지표를 추적하고 실행 비교를 위한 기본 시각화를 지원합니다. TensorBoard는 그라데이션 히스토그램, 가중치 분포, 계산 그래프, 임베딩 프로젝션 등 다차원 모델 내부 검사에서 뛰어납니다. 실험 관리를 위한 MLflow, 심층 디버깅 세션을 위한 TensorBoard를 함께 사용합니다.

시작하기: Amazon SageMaker AI의 TensorBoard

시스템 모니터링 및 알림에 Amazon CloudWatch 사용

Amazon CloudWatch는 훈련 작업에 대한 리소스 사용률 지표를 캡처하고 구성 가능한 경보를 지원합니다.

  • CPU, GPU, 메모리 및 디스크 사용률을 실시간으로 모니터링

  • 훈련 지표에 대한 경보를 설정하여 손실 고원, 리소스 병목 현상 또는 예상치 못한 지표 동작과 같은 이상을 탐지합니다.

  • 통합 가시성을 위한 시스템 지표와 훈련 지표를 결합한 대시보드 구축

시작하기: 훈련 작업 모니터링 및 분석을 위한 Amazon CloudWatch 지표

기존 데이터는 어떻게 되나요?

  • S3의 훈련 로그: 훈련 작업 출력, 모델 아티팩트 및 로그는 계속 액세스할 수 있습니다. 이는 Debugger와 독립적입니다.

  • 디버거 텐서 데이터: 디버거가 저장한 기록 텐서 컬렉션은 삭제할 때까지 위에 나열된 경로의 S3에 남아 있습니다. smdebug 클라이언트 라이브러리는 여전히이 데이터를 참조용으로 읽을 수 있습니다.

  • CloudWatch 지표: CloudWatch에 이미 있는 과거 훈련 지표는 계정의 로그 보존 설정에 따라 보존됩니다.