XGBoost, lightGBM, Catboost をGoogle ColaboratoryのGPUで実行する方法

Boosting系モデル(XGBoost, lightGBM, CatBoost)の計算をGoogle ColaboratoryのGPUで実行する方法

準備

準備

Google Colabでipynbファイルを開き以下の操作を行なっておく。

  1. タブの「ランタイム」
  2. 「ランタイムのタイプを変更」
  3. ハードウェアアクレラレータ「GPU」を選択し「保存」

GPUのタイプ確認

以下のコードを実行するとどのタイプのGPUが割り当てられたか確認できる。

!nvidia-smi

GPUのタイプ(上から順に性能がいい)

  • P100
  • P4
  • T4
  • K80

GPUで扱う方法

XGBoost

パラメータ「tree_method='gpu_hist'」を設定

例)

model = xgb.XGBRegressor(**params, tree_method='gpu_hist')

lightGBM

  1. 以下のコードを実行しておく
!git clone --recursive https://github.com/Microsoft/LightGBM
%cd /content/LightGBM/
!mkdir build
!cmake -DUSE_GPU=1 
!make -j$(nproc)
!sudo apt-get -y install python-pip

!sudo -H pip install setuptools pandas numpy scipy scikit-learn -U
#pandasのエラーが出る場合は上記のコードからpandasを削除

!sudo -H pip install setuptools numpy scipy scikit-learn -U
%cd /content/LightGBM/python-package
!sudo python setup.py install --precompile
  1. パラメータ「device_type='gpu'」を設定
model = lgb.LGBMRegressor(**params,device_type='gpu')

CatBoost

パラメータ「task_type='GPU'」を設定

model = cb.CatBoostRegressor(**params, task_type='GPU')

以上

関連書籍