쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Amazon SageMaker AI를 사용한 XGBoost 알고리즘

포커스 모드
Amazon SageMaker AI를 사용한 XGBoost 알고리즘 - Amazon SageMaker AI

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

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

XGBoost(eXtreme Gradient Boosting)는 그라디언트 부스팅 트리 알고리즘에서 유명하고 효율적인 오픈 소스 구현입니다. 그라디언트 부스팅은 더욱 단순한 모델 세트의 여러 추정치를 결합하여 대상 변수를 정확하게 예측하려 시도하는 지도 학습 알고리즘입니다. XGBoost 알고리즘은 다음과 같은 이유로 기계 학습 경쟁에서 잘 작동합니다.

  • 다양한 데이터 유형, 관계, 배포를 강력하게 처리합니다.

  • 미세 조정할 수 있는 다양한 하이퍼파라미터입니다.

회귀, 분류(바이너리 및 멀티클래스) 및 순위 결정 관련 문제에 XGBoost를 사용할 수 있습니다.

XGBoost 알고리즘의 새 릴리스를 다음 중 하나로 사용할 수 있습니다.

  • Amazon SageMaker AI 기본 제공 알고리즘입니다.

  • 로컬 환경에서 훈련 스크립트를 실행하는 프레임워크.

이 구현은 원래 버전보다 더 작은 메모리 풋 프린트, 더 나은 로깅, 향상된 하이퍼파라미터 검증 및 더 큰 지표 세트를 갖습니다. 관리형 XGBoost 환경에서 훈련 스크립트를 실행하는 XGBoost estimator를 제공합니다. SageMaker AI XGBoost의 현재 릴리스는 원래 XGBoost 버전 1.0, 1.2, 1.3, 1.5 및 1.7을 기반으로 합니다.

Amazon SageMaker AI XGBoost 알고리즘에 대한 자세한 내용은 다음 블로그 게시물을 참조하세요.

지원되는 버전

  • 프레임워크(오픈 소스) 모드: 1.2-1, 1.2-2, 1.3-1, 1.5-1, 1.7-1

  • 알고리즘 모드: 1.2-1, 1.2-2, 1.3-1, 1.5-1, 1.7-1

주의

필수 컴퓨팅 용량으로 인해 SageMaker AI XGBoost 버전 1.7-1은 훈련 또는 추론을 위해 P2 인스턴스 패밀리의 GPU 인스턴스와 호환되지 않습니다.

중요

SageMaker AI XGBoost 이미지 URI를 검색할 때 이미지 URI 태그:1:latest 또는를 사용하지 마세요. 사용할 기본 XGBoost 패키지 버전이 있는 SageMaker AI 관리형 XGBoost 컨테이너를 지원되는 버전 선택하려면 중 하나를 지정해야 합니다. SageMaker AI XGBoost 컨테이너로 마이그레이션된 패키지 버전을 찾으려면 Docker 레지스트리 경로 및 예제 코드를 참조하세요. 그런 다음 AWS 리전를 선택하고 XGBoost(알고리즘) 섹션으로 이동합니다.

주의

XGBoost 0.90 버전은 더 이상 사용되지 않습니다. XGBoost 0.90에 대한 보안 업데이트 또는 버그 수정에 대한 지원이 중단되었습니다. XGBoost 버전을 최신 버전으로 업그레이드할 것을 적극 권장합니다.

참고

XGBoost v1.1은 SageMaker AI에서 지원되지 않습니다. XGBoost 1.1은 테스트 입력의 기능이 LIBSVM 입력의 훈련 데이터보다 적을 때 예측을 실행하는 기능이 손상되었기 때문입니다. 이 기능은 XGBoost v1.2에서 복원되었습니다. SageMaker AI XGBoost 1.2-2 이상을 사용하는 것이 좋습니다.

참고

XGBoost v1.0-1을 사용할 수 있지만 공식적으로 지원되지는 않습니다.

XGBoost 알고리즘을 위한 EC2 인스턴스 권장 사항

SageMaker AI XGBoost는 CPU 및 GPU 훈련과 추론을 지원합니다. 인스턴스 권장 사항은 훈련 및 추론 요구 사항과 XGBoost 알고리즘 버전에 따라 달라집니다. 자세한 내용은 다음 옵션 중 하나를 참조하세요.

학습

SageMaker AI XGBoost 알고리즘은 CPU 및 GPU 훈련을 지원합니다.

CPU 훈련

SageMaker AI XGBoost 1.0-1 이하에서는 CPUs. 메모리 바운드(컴퓨팅 파운드와는 반대) 알고리즘입니다. 따라서 컴퓨팅 최적화 인스턴스(예: C4)보다 범용 컴퓨팅 인스턴스(예: M5)를 선택하는 것이 좋습니다. 또한 훈련 데이터를 보유하기 위해 선택한 인스턴스에 총 메모리가 충분한 것이 좋습니다. 디스크 공간을 사용하여 기본 메모리에 맞지 않는 데이터를 처리할 수 있도록 지원합니다. 이는 libsvm 입력 모드에서 사용할 수 있는 코어 외 기능의 결과입니다. 그럼에도 불구하고 캐시 파일을 디스크에 쓰면 알고리즘 처리 시간이 느려집니다.

GPU 훈련

SageMaker AI XGBoost 버전 1.2-2 이상은 GPU 훈련을 지원합니다. 높은 인스턴스당 비용에도 불구하고 GPU는 더욱 빠르게 교육하여 더욱 효율적입니다.

SageMaker AI XGBoost 버전 1.2-2 이상은 P2, P3, G4dn 및 G5 GPU 인스턴스 패밀리를 지원합니다.

SageMaker AI XGBoost 버전 1.7-1 이상은 P3, G4dn 및 G5 GPU 인스턴스 패밀리를 지원합니다. 연산 용량 요구 사항으로 인해 버전 1.7-1 이상은 P2 인스턴스 패밀리를 지원하지 않는다는 점에 유의하세요.

GPU 훈련을 활용하려면:

  • 인스턴스 유형을 GPU 인스턴스 중 하나로 지정하세요(예: P3)

  • 기존 XGBoost 스크립트에서 tree_method 하이퍼파라미터를 gpu_hist로 설정

분산 훈련

SageMaker AI XGBoost는 분산 훈련을 위한 CPU 및 GPU 인스턴스를 지원합니다.

분산 CPU 훈련

여러 인스턴스에서 CPU 훈련을 실행하려면 예측기의 instance_count 파라미터를 1보다 큰 값으로 설정하세요. 입력 데이터를 총 인스턴스 수로 나누어야 합니다.

입력 데이터를 여러 인스턴스로 나눕니다.

다음 단계를 사용하여 입력 데이터를 나눕니다.

  1. 입력 데이터를 작은 파일로 나눕니다. 파일 수는 적어도 분산 훈련에 사용되는 인스턴스 수와 같아야 합니다. 하나의 큰 파일이 아닌 작은 파일을 여러 개 사용하면 훈련 작업의 데이터 다운로드 시간도 줄어듭니다.

  2. TrainingInput을 생성할 때는 분산 파라미터를 ShardedByS3Key로 설정하세요. 이를 사용하여 훈련 작업에 n개의 인스턴스가 지정되어 있는 경우, 각 인스턴스가 S3에 있는 파일 수의 약 1/n을 획득할 수 있습니다.

분산 GPU 훈련

단일 GPU 또는 다중 GPU 인스턴스에서 분산 훈련을 사용할 수 있습니다.

단일 GPU 인스턴스를 사용한 분산 훈련

SageMaker AI XGBoost 버전 1.2-2~1.3-1은 단일 GPU 인스턴스 훈련만 지원합니다. 즉, 다중 GPU 인스턴스를 선택하더라도 인스턴스당 하나의 GPU만 사용된다는 의미입니다.

다음의 경우 입력 데이터를 총 인스턴스 수로 나누어야 합니다.

  • XGBoost 버전 1.2-2~1.3-1을 사용합니다.

  • 다중 GPU 인스턴스를 사용할 필요는 없습니다.

자세한 내용은 입력 데이터를 여러 인스턴스로 나눕니다. 단원을 참조하십시오.

참고

SageMaker AI XGBoost 버전 1.2-2~1.3-1은 다중 GPU 인스턴스를 선택한 경우에도 인스턴스당 하나의 GPU만 사용합니다.

다중 GPU 인스턴스를 사용한 분산 훈련

버전 1.5-1부터 SageMaker AI XGBoost는 Dask를 사용한 분산 GPU 훈련을 제공합니다. Dask를 사용하면 하나 이상의 다중 GPU 인스턴스를 사용할 때 모든 GPU를 활용할 수 있습니다. Dask는 단일 GPU 인스턴스를 사용할 때도 작동합니다.

다음 단계를 사용하여 Dask를 훈련시킵니다.

  1. TrainingInput에서 distribution 파라미터를 생략하거나 FullyReplicated로 설정하세요.

  2. 하이퍼파라미터를 정의할 때는 use_dask_gpu_training"true" 값으로 설정하세요.

중요

Dask를 사용한 분산 훈련은 CSV 및 Parquet 입력 형식만 지원합니다. LIBSVM 또는 PROTOBUF와 같은 다른 데이터 형식을 사용하는 경우 훈련 작업이 실패합니다.

Parquet 데이터의 경우, 열 이름을 문자열로 저장해야 합니다. 다른 데이터 유형의 이름을 가진 열은 로드되지 않습니다.

중요

Dask를 사용한 분산 훈련은 파이프 모드를 지원하지 않습니다. 파이프 모드를 지정하면 훈련 작업이 실패합니다.

Dask로 SageMaker AI XGBoost를 훈련할 때 주의해야 할 몇 가지 고려 사항이 있습니다. 데이터를 작은 파일로 분할해야 합니다. Dask는 각 Parquet 파일을 파티션으로 읽습니다. 모든 GPU에는 Dask 작업자가 있습니다. 이에 따라 파일 수는 총 GPU 수(인스턴스 수 * 인스턴스당 GPU 수) 보다 커야 합니다. 파일 수가 너무 많으면 성능이 저하될 수도 있습니다. 자세한 내용은 Dask 모범 사례를 참조하세요.

출력의 변화

지정된 tree_method 하이퍼파라미터에 따라 XGBoost 훈련에 사용되는 알고리즘이 결정됩니다. 트리 메소드 approx, histgpu_hist는 모두 근사 메소드이며 분위수 계산에는 스케칭을 사용합니다. 자세한 내용은 XGBoost 설명서의 트리 메서드를 참조하세요. 스케칭은 근사 알고리즘입니다. 따라서 분산 훈련을 위해 선택한 작업자 수와 같은 요인에 따라 모형에 변동이 있을 것으로 예상할 수 있습니다. 변동의 중요성은 데이터에 따라 달라집니다.

Inference

SageMaker AI XGBoost는 추론을 위해 CPU 및 GPU 인스턴스를 지원합니다. 추론을 위한 인스턴스 유형에 대한 자세한 내용은 Amazon SageMaker AI ML 인스턴스 유형을 참조하세요.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.