본문으로 건너뛰기

Screening Is Enough 논문을 GBDT에 적용한 새로운 라이브러리 ibu-boost 공개

Transformer의 스크리닝 기법을 GBDT 분할 선택에 적용하여 하이퍼파라미터 튜닝 없이 노이즈 분할을 자동 억제하는 ibu-boost 라이브러리가 공개됐다.

실용적 조언

  • 고차원 정형 데이터에서 과적합이 심할 경우 ibu-boost의 mean_accept_rate를 모니터링하여 모델의 건강 상태를 체크할 수 있다.
  • Linux 또는 Windows CUDA 환경에서 pip install "ibu-boost[triton]"을 통해 GPU 가속 버전을 설치할 수 있다.

섹션별 상세

01
기존 GBDT는 이득(Gain)이 가장 높은 후보를 무조건 선택하여 분할을 수행하므로 노이즈가 많은 데이터에서 과적합되기 쉽다. ibu-boost는 이를 해결하기 위해 상대적 비교 대신 절대적 임계값을 기준으로 분할 여부를 결정하는 스크리닝 변환을 도입했다. 수식적으로 정규화된 이득(norm_gain)을 계산하고 이를 Trim-and-Square 함수에 통과시켜 결과값이 0이면 해당 노드를 즉시 리프 노드로 확정한다. 이를 통해 min_gain_to_split과 같은 임의의 하이퍼파라미터 튜닝 없이도 유의미한 분할만 수행하는 자동 정지 메커니즘을 구현했다.
02
성능 가속을 위해 Triton 기반의 전용 GPU 커널을 구현하여 대규모 데이터 처리를 최적화했다. 히스토그램 산란(Scatter)과 스크리닝 변환을 하나의 커널로 융합하고, 멀티 노드 디스패치 및 그래디언트 정규화를 장치 내에서 직접 처리한다. 벤치마크 결과 N=65536, F=8 환경에서 NumPy 참조 구현 대비 약 51배의 속도 향상을 기록했으며, RTX 4060 Ti 기준 CPU 대비 3.15배 빠른 학습 속도를 보였다. 다만 현재는 원자적 연산(atomic_add)을 사용하므로 결과의 비결정성 문제가 존재한다.
03
California Housing 데이터셋을 이용한 초기 벤치마크에서 LightGBM 대비 약 12% 높은 RMSE를 기록하며 성능 격차가 확인됐다. 작성자는 이러한 격차가 현재 스크리닝 파라미터가 고정된 스칼라 값이기 때문이며, 향후 이를 학습 가능한 파라미터로 전환하면 개선될 것으로 예상했다. 특히 깨끗한 소규모 데이터셋보다는 고차원 또는 노이즈가 많은 데이터에서 스크리닝 기법의 '자동 노이즈 억제' 특성이 더 큰 효과를 발휘할 것이라는 가설을 세우고 검증을 위한 벤치마크 추천을 요청했다.

용어 해설

그래디언트 부스팅 결정 트리(GBDT)
여러 개의 약한 결정 트리를 순차적으로 결합하여 강력한 예측 모델을 만드는 앙상블 기법이다. 이전 트리의 오차를 다음 트리가 보완하는 방식으로 학습하며, 정형 데이터 분석에서 매우 높은 성능을 발휘한다.
스크리닝 변환(Screening Transform)
상대적 비교 대신 절대적 임계값을 기준으로 정보를 선택하거나 거부하는 기법이다. 이 아티클에서는 GBDT의 노드 분할 시 이득이 낮으면 분할 자체를 자동으로 거부하여 과적합을 방지하는 용도로 사용됐다.
오블리비어스 트리(Oblivious Tree)
트리의 동일한 깊이에 있는 모든 노드가 같은 분할 조건을 공유하는 대칭 구조의 트리이다. CatBoost에서 주로 사용되며, 모델의 복잡도를 제어하고 추론 속도를 높이는 데 유리하다.
트라이톤(Triton)
OpenAI에서 개발한 GPU 프로그래밍 언어 및 컴파일러로, CUDA보다 생산성이 높으면서도 고성능 커널 작성이 가능하다. 이 프로젝트에서는 히스토그램 생성 및 스크리닝 연산을 가속화하는 데 사용됐다.

코드 예제

python
from ibu_boost import ScreeningBooster
model = ScreeningBooster(
    n_estimators=100,
    learning_rate=0.1,
    max_depth=6,
    tree_type="oblivious", # CatBoost-style symmetric splits
    device="cuda", # requires [triton] extra
)
model.fit(X_train, y_train)
print(f"Accept rate: {model.mean_accept_rate():.1%}")

ibu-boost 라이브러리를 사용하여 GPU 가속 기반의 스크리닝 부스팅 모델을 학습시키는 예시

언급된 도구

ibu-boost추천

스크리닝 변환 기반의 새로운 GBDT 라이브러리

Triton추천

고성능 GPU 커널 작성을 위한 컴파일러 및 언어

LightGBM중립

성능 비교를 위한 기준 GBDT 프레임워크

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 04. 11.수집 2026. 04. 11.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.