반응형
XGBoost 모델 학습 시 매우 느린 성능을 보인다. 특히 Hyper-Parameter Optimization과 같은 기법을 병행하여 사용한다면 힘든 시간이 될 것이다.
XGBoost의 대부분의 알고리즘은 CUDA 호환 GPU로 가속화될 수 있으며 이는 학습, 예측 및 평가를 포함한다. XGBoost에서 GPU를 지원한다. 지원 조건은 아래와 같다.
- CUDA 11.0 이상
- Compute Capability 5.0 이상
GPU 활성화 방법
GPU 가속을 활성화하려면
- device 매개변수를 cuda로 설정한다.
- 만약 동일한 노드에 여러 장치가 있는 경우 장치 순서(사용할 GPU를 지정)는 cuda: 구문을 사용하여 지정한다.
- XGBoost는 기본적으로 0(CUDA 런타임에서 보고된 첫 번째 장치)으로 설정된다.
- tree_method 매개변수를 'hist'로 설정한다.
현재 GPU 알고리즘은 CLI, Python, R 및 JVM 패키지에서 작동합니다. 자세한 내용은 설치 가이드를 참조하세요.
...
params = dict()
params["device"] = "cuda"
params["tree_method"] = "hist"
model = xgboost.train(params, train_dataset)
...
만약 Scikit-Learn 인터페이스를 사용한다면 아래와 같이 사용한다.
XGBRegressor(tree_method="hist", device="cuda")
추가적으로 멀티 GPU 학습, 메모리 사용량 등의 정보는 아래 레퍼런스를 확인하길 바란다.
참고자료 : https://xgboost.readthedocs.io/en/stable/gpu/index.html
반응형
'AI > Tips' 카테고리의 다른 글
학습률 웜업(Learning Rate WarmUp)에 대한 이해 (0) | 2024.05.06 |
---|---|
[Numpy] Serise clip() 함수 - 값 범위 제한하기 (0) | 2024.04.19 |
Google-Colab 에서 LightGBM GPU 사용하기 (0) | 2024.04.14 |