기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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보다 큰 값으로 설정하세요. 입력 데이터를 총 인스턴스 수로 나누어야 합니다.
입력 데이터를 여러 인스턴스로 나눕니다.
다음 단계를 사용하여 입력 데이터를 나눕니다.
-
입력 데이터를 작은 파일로 나눕니다. 파일 수는 적어도 분산 훈련에 사용되는 인스턴스 수와 같아야 합니다. 하나의 큰 파일이 아닌 작은 파일을 여러 개 사용하면 훈련 작업의 데이터 다운로드 시간도 줄어듭니다.
-
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
다음 단계를 사용하여 Dask를 훈련시킵니다.
TrainingInput
에서 distribution
파라미터를 생략하거나FullyReplicated
로 설정하세요.하이퍼파라미터를 정의할 때는
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
, hist
및 gpu_hist
는 모두 근사 메소드이며 분위수 계산에는 스케칭을 사용합니다. 자세한 내용은 XGBoost 설명서의 트리 메서드
Inference
SageMaker AI XGBoost는 추론을 위해 CPU 및 GPU 인스턴스를 지원합니다. 추론을 위한 인스턴스 유형에 대한 자세한 내용은 Amazon SageMaker AI ML 인스턴스 유형을 참조하세요