
Blog
XGBoost 2.0 | XGBoosting
2026.03.11
·Web·by 이호민#Data Science#Gradient Boosting#Machine Learning#Optimization#XGBoost
핵심 포인트
- 1XGBoost 2.0은 multi-target tasks를 위한 vector-leaf tree models를 도입하고, `hist` tree method를 default로 설정하여 성능과 효율성을 크게 향상시켰습니다.
- 2또한, 새로운 `device` parameter로 device 지정이 간편해졌으며, 외부 메모리 지원 및 CPU histogram 캐시 최적화를 통해 메모리 사용량을 줄였습니다.
- 3이외에도 learning-to-rank 기능이 크게 개선되었고, quantile regression 지원, federated learning 발전, PySpark 통합 최적화 등 다양한 주요 업데이트가 포함되었습니다.
XGBoost 2.0은 성능, 효율성 및 사용자 경험 향상에 중점을 둔 주요 릴리스이다.
주요 변경 사항은 다음과 같다:
- Multi-Target Trees with Vector-Leaf Outputs:
vector-leaf tree models을 사용하여 다중 대상 작업(예: multi-target regression, multi-label classification, multi-class classification)을 위한 초기 작업을 도입한다. 이전에는 각 대상에 대해 별도의 model을 구축했지만, 이제는 단일 tree로 모든 대상을 처리할 수 있어 overfitting을 방지하고, 더 작은 model을 생성하며, 대상 간의 상관 관계를 고려할 수 있는 이점을 제공한다.- New
deviceParameter:
gpu_id, gpu_hist, gpu_predictor, cpu_predictor, gpu_coord_descent와 같은 기존 parameter들을 대체하는 새로운 device parameter를 도입하여, 사용자가 library를 실행할 device를 쉽게 지정할 수 있게 되었다.histas Default Tree Method:
hist tree method가 XGBoost의 기본 선택이 된다. 이전 버전에서는 입력 데이터와 훈련 환경에 따라 approx 또는 exact method 중 하나를 선택했지만, hist를 기본으로 설정함으로써 다양한 시나리오에서 더 효율적이고 일관된 훈련을 제공한다.- Optimized Histogram Size on CPU:
max_cached_hist_node라는 새로운 parameter를 도입하여 CPU 캐시 크기를 제한함으로써 histogram 캐싱이 과도하게 이루어지는 것을 방지한다. 이는 deep tree를 성장시킬 때 특히 중요하며, 분산 시스템에서는 hist 및 approx tree method의 메모리 사용량을 절반으로 줄여 최적화했다.- Improved External Memory Support:
hist tree method에 대한 external memory support가 크게 개선되었다. 기존 file IO logic을 memory mapping으로 교체하여 성능을 대폭 향상시키고 CPU memory usage를 줄였다. 이는 QuantileDMatrix를 통한 메모리 절약이 불충분할 때 유용하다.- Enhancements to Learning to Rank:
learning-to-rank 작업은 새로운 implementation으로 재구현되었다. 여기에는 pair construction strategy 선택을 위한 새로운 parameter, 그룹당 샘플 수 제어, unbiased learning-to-rank의 실험적 implementation, NDCG를 포함하는 custom gain function 지원, deterministic GPU computation 등이 포함된다. NDCG는 이제 기본 objective function이며, cache를 사용하여 metrics 성능이 향상되었다.- Other Notable Updates:
base_score가input label을 기반으로 자동으로 추정될 수 있다.quantile regression이 지원되어quantile loss를 최소화할 수 있다.L1및quantile regression objective가learning rate를 지원한다.hist tree method에 사용되는quantile value를export할 수 있다.federated learning을 위한column-based split진행 상황 (vertical federated learning지원).PySpark integration은GPU-based prediction및 향상된data initialization과 같은 최적화 및 새로운 기능을 받았다.numpy및 기타data structure에 대한input handling및 성능이 향상되었다.
Breaking Changes:XGBoost 2.0에서는 text input에 대한 format을 지정해야 하며, predictor parameter가 제거되는 등 몇 가지 breaking change가 도입되었다.