SageMaker XGBoost용 디버거 인터랙티브 리포트 - 아마존 SageMaker

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

SageMaker XGBoost용 디버거 인터랙티브 리포트

Debugger에서 자동 생성된 훈련 보고서를 받을 수 있습니다. Debugger 보고서는 훈련 작업에 대한 인사이트를 제공하고 모델 성능을 개선하기 위한 권장 사항을 제안합니다.

참고

훈련 작업이 실행 중이거나 작업이 완료된 후에 Debugger 보고서를 다운로드할 수 있습니다. 훈련 중에 디버거는 현재 규칙의 평가 상태를 반영하여 보고서를 동시에 업데이트합니다. Debugger 보고서 전문은 훈련 작업이 완료된 후에만 다운로드할 수 있습니다.

중요

이 보고서에서 도표 및 권장 사항은 정보 제공 목적으로 제공되며, 확정적이지는 않습니다. 사용자는 정보를 독립적으로 평가할 책임이 있습니다.

SageMaker 디버거 XGBoost 교육 보고서

SageMaker XGBoost 훈련 작업의 경우 디버거 CreateXgboostReport 규칙을 사용하여 훈련 진행 상황 및 결과에 대한 포괄적인 훈련 보고서를 받으십시오. 이 가이드에 따라 XGBoost 추정기를 구성하는 동안 CreateXgboostReport 규칙을 지정하고, Amazon SageMaker Python SDK 또는 Amazon S3 콘솔을 사용하여 보고서를 다운로드하고, 교육 결과에 대한 통찰력을 얻으십시오.

중요

보고서에서 플롯과 권장 사항은 정보 제공 목적으로 제공되며 확정적이지는 않습니다. 사용자는 정보를 독립적으로 평가할 책임이 있습니다.

디버거 XGBoost 보고서 규칙을 사용하여 SageMaker XGBoost 추정기를 구성하십시오.

CreateXgboostReport 규칙은 훈련 작업에서 다음 출력 텐서를 수집합니다.

  • hyperparameters – 첫 단계에서 저장합니다.

  • metrics - 5단계마다 손실 및 정확도를 저장합니다.

  • feature_importance - 5단계마다 저장합니다.

  • predictions - 5단계마다 저장합니다.

  • labels - 5단계마다 저장합니다.

출력 텐서는 기본 S3 버킷에 저장됩니다. 예를 들어 s3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/debug-output/입니다.

XGBoost 훈련 작업에 사용할 SageMaker 추정기를 구성할 때는 다음 예제 코드에 표시된 대로 규칙을 지정하십시오.

Using the SageMaker generic estimator
import boto3 import sagemaker from sagemaker.estimator import Estimator from sagemaker import image_uris from sagemaker.debugger import Rule, rule_configs rules=[ Rule.sagemaker(rule_configs.create_xgboost_report()) ] region = boto3.Session().region_name xgboost_container=sagemaker.image_uris.retrieve("xgboost", region, "1.2-1") estimator=Estimator( role=sagemaker.get_execution_role() image_uri=xgboost_container, base_job_name="debugger-xgboost-report-demo", instance_count=1, instance_type="ml.m5.2xlarge", # Add the Debugger XGBoost report rule rules=rules ) estimator.fit(wait=False)

Debugger XGBoost 훈련 보고서를 다운로드하세요.

Amazon SageMaker Python SDK 및 ( AWS Command Line Interface CLI) 를 사용하여 교육 작업이 실행 중이거나 작업이 끝난 후에 디버거 XGBoost 교육 보고서를 다운로드하십시오.

Download using the SageMaker Python SDK and AWS CLI
  1. 현재 작업의 기본 S3 출력 기본 URI를 확인하세요.

    estimator.output_path
  2. 현재 작업 이름을 확인하세요.

    estimator.latest_training_job.job_name
  3. Debugger XGBoost 보고서는 <default-s3-output-base-uri>/<training-job-name>/rule-output에 저장됩니다. 규칙 출력 경로를 다음과 같이 구성하세요.

    rule_output_path = estimator.output_path + "/" + estimator.latest_training_job.job_name + "/rule-output"
  4. 보고서가 생성되었는지 확인하려면 --recursive 옵션으로 aws s3 ls을(를) 사용하여 rule_output_path 하위에 디렉터리 및 파일을 반복적으로 나열하세요.

    ! aws s3 ls {rule_output_path} --recursive

    그러면 이름이 CreateXgboostReportProfilerReport-1234567890인 자동 생성 폴더들 하위에 파일의 전체 목록이 반환됩니다. XGBoost 훈련 보고서는 CreateXgboostReport에 저장되고 프로파일링 보고서는 ProfilerReport-1234567890 폴더에 저장됩니다. XGBoost 훈련 작업에서 기본적으로 생성되는 프로파일링 보고서에 대한 자세한 내용은 SageMaker 디버거 프로파일링 보고서을(를) 참조하세요.

    규칙 출력 예제.

    xgboost_report.html은(는) Debugger에서 자동 생성되는 XGBoost 훈련 보고서입니다. xgboost_report.ipynb은(는) 훈련 결과를 보고서로 집계하는 데 사용되는 Jupyter notebook입니다. 이 노트북을 사용하면 모든 파일을 다운로드하고, HTML 보고서 파일을 찾아보고, 보고서를 수정할 수 있습니다.

  5. aws s3 cp을(를) 사용하여 파일을 반복적으로 다운로드하세요. 다음 명령은 모든 규칙 출력 파일을 현재 작업 디렉터리 하위의 ProfilerReport-1234567890 폴더에 저장합니다.

    ! aws s3 cp {rule_output_path} ./ --recursive
    작은 정보

    Jupyter notebook 서버를 사용하려는 경우 !pwd을(를) 실행하여 현재 작업 디렉터리를 확인하세요.

  6. /CreateXgboostReport 디렉터리 하위에서 xgboost_report.html을(를) 여세요. 를 사용하는 JupyterLab 경우 [Trust HTML] 을 선택하면 자동 생성된 디버거 교육 보고서를 볼 수 있습니다.

    규칙 출력 예제.
  7. xgboost_report.ipynb 파일을 열어 보고서 생성 방법을 확인하세요. Jupyter notebook 파일을 사용하여 훈련 보고서를 사용자 지정하고 확장할 수 있습니다.

Download using the Amazon S3 console
  1. AWS Management Console 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 엽니다.

  2. 기본 S3 버킷을 검색합니다. 예를 들어 기본 작업 이름을 지정하지 않은 경우 기본 S3 버킷 이름은 sagemaker-<region>-111122223333 형식이어야 합니다. 이름으로 버킷 찾기 필드를 통해 기본 S3 버킷을 조회하세요.

    Amazon S3 콘솔의 이름으로 버킷 찾기 필드.
  3. 기본 S3 버킷에서 접두사로 객체 찾기에 작업 이름 접두사를 입력한 다음, 훈련 작업 이름을 선택하여 훈련 작업 이름을 조회하세요.

    Amazon S3 콘솔의 접두사로 객체 찾기 필드.
  4. 훈련 작업의 S3 버킷에서 rule-output/ 하위 폴더를 선택하세요. Debugger에서 수집되는 훈련 데이터의 하위 폴더는 debug-output/, profiler-output/, rule-output/ 3개여야 합니다.

    규칙 출력 S3 버킷 URI 예제.
  5. rule-output/ 폴더에서 보고서/ 폴더를 선택합니다. CreateXgboost 이 폴더에는 xbgoost_report.html(html 형식으로 자동 생성되는 보고서) 및 xbgoost_report.ipynb(보고서 생성에 사용될 스크립트가 포함된 Jupyter notebook)가 들어 있습니다.

  6. xbgoost_report.html 파일을 선택하고 작업 다운로드를 선택한 다음 다운로드를 선택하세요.

    규칙 출력 S3 버킷 URI 예제.
  7. 다운로드한 xbgoost_report.html 파일을 웹 브라우저로 여세요.

Debugger XGBoost 훈련 보고서 안내서

이 섹션에서는 Debugger XGBoost 훈련 보고서를 단계별로 안내합니다. 이 보고서는 출력 텐서 정규식에 따라 자동으로 집계되며 훈련 작업의 유형이 바이너리 분류, 멀티클래스 분류, 회귀 중 어디에 해당하는지를 파악합니다.

중요

이 보고서에서 도표 및 권장 사항은 정보 제공 목적으로 제공되며, 확정적이지는 않습니다. 사용자는 이러한 정보를 직접 독립적으로 평가할 책임이 있습니다.

데이터 세트의 실제 레이블 분포

이 히스토그램은 원본 데이터 세트 내 레이블이 지정된 클래스(분류용) 또는 값(회귀용)의 분포를 보여줍니다. 데이터 세트 내 왜곡은 부정확성의 원인이 될 수 있습니다. 이 시각화는 바이너리 분류, 다중 분류, 회귀 등의 모델 유형에 사용할 수 있습니다.

데이터 세트의 실제 레이블 분포 그래프에 관한 예제.

손실-단계 비교 그래프

이 꺾은선형 차트는 훈련 단계 전반에 걸친 훈련 데이터 및 검증 데이터의 손실 경과를 보여줍니다. 손실은 목표 함수(예: 평균제곱오차)에서 정의된 값입니다. 이 도표를 통해 모델이 과적합인지, 아니면 과소적합인지 파악할 수 있습니다. 이 섹션에서는 과적합 및 과소적합 문제를 해결하는 방법을 파악하는 데 활용할 수 있는 인사이트도 제시합니다. 이 시각화는 바이너리 분류, 다중 분류, 회귀 등의 모델 유형에 사용할 수 있습니다.

손실-단계 비교 그래프 예제.

기능 중요도

기능 중요도 시각화는 3가지 유형, 즉 가중치, 증가, 적용 범위로 제공됩니다. 이 세 유형의 각각에 대한 정의는 해당 보고서에 나와 있습니다. 기능 중요도 시각화를 사용하면 훈련 데이터 세트의 어떤 기능이 예측에 기여했는지를 알 수 있습니다. 기능 중요도 시각화는 바이너리 분류, 다중 분류, 회귀 등의 모델 유형에 사용할 수 있습니다.

기능 중요도 그래프 예제.

혼동 행렬

이 시각화는 바이너리 분류 모델과 멀티클래스 분류 모델에만 적용할 수 있습니다. 정확도 하나만으로는 모델 성능을 평가하기에 부족할 수 있습니다. 의료, 사기 탐지 등 일부 사용 사례에서는 거짓 긍정 비율 및 거짓 부정 비율을 파악하는 것 역시 중요합니다. 혼동 행렬은 모델 성능을 평가하기 위한 추가 차원을 제공합니다.

혼동 행렬 예제.

혼동 행렬 평가

이 섹션에서는 모델의 정밀도, 재현율, F1 점수에 관한 미시적 지표, 거시적 지표, 가중치 지표에 대해 자세한 인사이트를 제공합니다.

혼동 행렬 평가.

각 대각선 요소의 반복 대비 정확도 비율

이 시각화는 바이너리 분류 모델과 멀티클래스 분류 모델에만 적용할 수 있습니다. 이 꺾은선형 차트는 각 클래스의 훈련 단계 전반에 걸친 혼동 행렬의 대각선 값을 나타냅니다. 이 도표는 훈련 단계 전반에 걸쳐 각 클래스의 정확도가 어떻게 발전하는지를 보여줍니다. 이 도표를 통해 성능이 저조한 클래스를 식별할 수 있습니다.

각 대각선 요소의 반복 대비 정확도 비율 그래프에 관한 예제.

수신기 작동 특성 곡선

이 시각화는 바이너리 분류 모델에만 적용할 수 있습니다. 수신기 작동 특성 곡선은 일반적으로 바이너리 분류 모델 성능을 평가하는 데 사용됩니다. 이 곡선의 Y축은 참 긍정 비율(TPR)이고 X축은 거짓 긍정 비율(FPR)입니다. 이 도표에는 곡선하면적(AUC)의 값도 표시됩니다. AUC 값이 높을수록 분류자의 예측 가능성도 높아집니다. ROC 곡선을 사용하여 TPR과 FPR 간의 균형을 이해하고, 사용 사례에 맞는 최적의 분류 임곗값을 식별할 수도 있습니다. 분류 임곗값을 조정하여 모델의 동작을 튜닝하면 한 유형 또는 다른 유형의 오류(FP/FN)를 더 많이 줄일 수 있습니다.

수신기 작동 특성 곡선 그래프 예제.

마지막 저장 단계의 잔차 분포

이 시각화는 Debugger가 캡처한 마지막 단계의 잔차 분포를 보여주는 막대형 차트입니다. 이 시각화에서는 잔차 분포가 중심이 0인 정규 분포에 가까운지 여부를 확인할 수 있습니다. 잔차가 왜곡되어 있으면 기능으로 레이블을 예측하기에 부족할 수 있습니다.

마지막 저장 단계의 잔차 분포 그래프에 관한 예제.

반복 대비 레이블 빈당 절대 검증 오차

이 시각화는 회귀 모델에만 적용할 수 있습니다. 실제 대상 값은 10개 구간으로 분할됩니다. 이 시각화는 훈련 단계 전반에 걸쳐 각 구간의 검증 오차가 어떻게 진행되는지를 선 도표로 보여줍니다. 절대 검증 오차는 검증 과정에서 예측과 실제 사이에 발생하는 차이의 절댓값입니다. 이 시각화를 통해 성능이 저조한 구간을 식별할 수 있습니다.

반복 대비 레이블 빈당 절대 검증 오차 그래프에 관한 예제.