해결된 질문
20.02.12 13:45 작성
·
331
0
안녕하세요.
[XGBoost 소개]
Boosting 은 순차적으로 실행되고,
XGBoosting 은 부스팅 기반 기법인데
어떻게 CPU 병렬 사용을 하는지 궁금합니다.
감사합니다.
답변 2
1
2020. 02. 13. 22:48
안녕하십니까,
저도 정확히는 XGBoost의 병렬처리 메커니즘을 이해하지는 못했습니다. 개괄적으로만 말씀 드리겠습니다.
XGBoosting도 부스팅 기법이라 여러개의 트리를 한꺼번에 병렬로 만들면서 새로운 트리에서 과거 트리의 오류값을 업데이터 하지는 못합니다.
그렇지만 Tree를 만드는 과정에서 트리의 하위 branch를 만들면서 병렬로 작업이 가능합니다. 로직적으로는 개별 트리들의 branch들이 각각 최적의 방식으로 병렬로 만들어 집니다.(정확한 방식은 저도 잘 모르겠습니다.) 프로그램적으로는 openMP와 같은 병렬공유 메모리 방식을 적용하여 만들어지는 것으로 알고 있습니다.
감사합니다.
0