Skip to main content
QUICK REVIEW

[논문 리뷰] GPU-acceleration for Large-scale Tree Boosting

Huan Zhang, Si Si|arXiv (Cornell University)|2017. 06. 26.
Machine Learning and Data Classification참고 문헌 12인용 수 61
한 줄 요약

GPU 기반 히스토그램 접근법을 사용해 GBDT 및 랜덤 포레스트에서 결정 트리 구축을 가속화하고, CPU 기반 히스토그램 및 정확 분할 방법에 비해 큰 속도향상을 달성하며 정확도를 유지합니다.

ABSTRACT

In this paper, we present a novel massively parallel algorithm for accelerating the decision tree building procedure on GPUs (Graphics Processing Units), which is a crucial step in Gradient Boosted Decision Tree (GBDT) and random forests training. Previous GPU based tree building algorithms are based on parallel multi-scan or radix sort to find the exact tree split, and thus suffer from scalability and performance issues. We show that using a histogram based algorithm to approximately find the best split is more efficient and scalable on GPU. By identifying the difference between classical GPU-based image histogram construction and the feature histogram construction in decision tree training, we develop a fast feature histogram building kernel on GPU with carefully designed computational and memory access sequence to reduce atomic update conflict and maximize GPU utilization. Our algorithm can be used as a drop-in replacement for histogram construction in popular tree boosting systems to improve their scalability. As an example, to train GBDT on epsilon dataset, our method using a main-stream GPU is 7-8 times faster than histogram based algorithm on CPU in LightGBM and 25 times faster than the exact-split finding algorithm in XGBoost on a dual-socket 28-core Xeon server, while achieving similar prediction accuracy.

연구 동기 및 목표

  • 의사 결정 트리 앙상블에서 leaf-split 계산의 높은 비용으로 인해 확장 가능한 GPU 가속 필요성을 동기화합니다.
  • 최적 분할을 근사화하고 확장성을 개선하기 위해 히스토그램 기반의 GPU 알고리즘을 제안합니다.
  • LightGBM에 GPU 히스토그램 방법을 통합하고 CPU 및 GPU 베이스라인과 벤치마크합니다.
  • 다양한 GPU 아키텍처에서 대규모 데이터셋에 대해 속도향상과 메모리 효율성을 보여줍니다.

제안 방법

  • GPU에서 피처 히스토그램을 사용하여 GBDT의 leaf 분할을 근사하는 히스토그램 기반 접근법을 개발합니다.
  • 원자 업데이트 충돌을 줄이고 GPU 활용도를 극대화하기 위해 단계별로 여러 히스토그램을 구성합니다.
  • 히스토그램을 로컬 메모리에 맞추고 전역 메모리 접근을 최소화하기 위해 피처를 작은 튜플로 묶고 4바이트 표현을 사용합니다.
  • 작은 빈(bin) 크기(예: 64)를 활용하여 병렬성을 높이고 정확도를 희생하지 않으면서 메모리 사용량을 줄입니다.
  • 대규모 학습을 위해 LightGBM에 통합된 드롭인 GPU 히스토그램 구현을 제공합니다.

실험 결과

연구 질문

  • RQ1GPU에서 히스토그램 기반 분할 찾기가 대규모 GBDT 학습에서 정확 분할 GPU 및 CPU 방법보다 우수한가요?
  • RQ2GPU에서 많은 피처 히스토그램을 병렬로 구축할 때 메모리 및 스레드 충돌 고려사항은 무엇인가요?
  • RQ3빈 크기를 축소하면 다양한 데이터셋에서 학습 속도와 모델 정확도에 어떤 영향을 미치나요?
  • RQ4GPU 히스토그램 접근법이 CPU 능력을 초과하는 대규모 데이터셋과 다 GPU 구성을 확장 가능합니까?

주요 결과

  • GPU 히스토그램 기반 트리 구축은 CPU 히스토그램 방법에 비해 상당한 속도 향상을 제공합니다(63-bin 히스토그램으로 epsilon 데이터셋에서 7-8배 빠름).
  • GPU 히스토그램 방법은 CPU 및 GPU의 정확 분할 방법보다 우수하며 특정 데이터셋에서 약 25배까지 더 빠른 학습 속도를 달성합니다.
  • 정확도 감소를 허용하는 낮은 정밀도와 작은 빈 크기에도 불구하고 접근법은 예측 지표(AUC, NDCG)를 CPU 기반 방법과 비교 가능한 수준으로 유지합니다.
  • 8 GB GPU에서 모든 데이터셋에 대해 최대 1 GB의 메모리 사용으로 GPU 메모리 사용량이 적어 Higgs보다 훨씬 큰 데이터셋도 단일 GPU에서 학습 가능
  • 작은 빈 크기(예: 64)를 사용하면 테스트 데이터셋에서 정확도를 희생하지 않으면서 처리량이 향상됩니다.
  • 정확-GPU 방법은 메모리 제약으로 인해 히스토그램 기반 GPU 방법만큼 확장되지 않습니다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.