XGBoostをGPUを利用して計算させているのですがCPUより遅いです。
ローカルPCで動かしているのですがこれは私のPCスペック(GPUの性能)によるものでしょうか?
それとも設定又は読み込ませるデータが上手く出来ていない可能性がありますか?
#GPU使う場合の時間
4回計測の結果
elapsed_time:348.15651535987854[sec]
elapsed_time:167.357483625412[sec]
elapsed_time:270.057825088501[sec]
elapsed_time:168.09351634979248[sec]
#CPU使う場合の時間
4回計測の結果
elapsed_time:27.366068124771118[sec]
elapsed_time:44.38199305534363[sec]
elapsed_time:44.38199305534363[sec]
elapsed_time:53.37565588951111[sec]
XGBoostのbenchmarkを実行させるとGPUの方が早いです。
https://xgboost.readthedocs.io/en/latest/gpu/#benchmarks
gpu_hist Time (s)
3回計測の結果
Train Time: 16.906871557235718 seconds
Train Time: 17.047528743743896 seconds
Train Time: 17.055419445037842 seconds
hist Time (s)
3回計測の結果
Train Time: 26.290664434432983 seconds
Train Time: 28.542279958724976 seconds
Train Time: 27.60935640335083 seconds
#PC環境など
Windows 10
CPU Core i7 9700KF
GPU NVIDIA GeForce GTX 1660
CUDA Toolkit 11.1 現在(2020年10月7日)の最新CUDAを設定
XGBoostはXGBClassifierを利用しています。
GPUを使って動かす場合のパラメータは以下を追加
tree_method = 'gpu_hist', gpu_id = 0,
パラメータの調整にoptunaを利用しています。
タスクマネージャーでの確認ですが計算させている時のGPUの様子は Copyが30-40%の辺りになります。
GPU設定時のCPUは40%前後になります。
それ以外(専用GPUメモリなど)は変化ありません。
※CPU設定で動かす場合はCPUが100%になります。
ここを確認すると良いなどありましたらコメント頂けると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/08 19:11