2021年12月25日土曜日

Thinker BoardのOpenCL(2)

 前の投稿で、ビルドして動かすところまで、やってみましたが、今回はOpenCLを使うと、あまりに遅かったので、パラメータを調整してみます。
どうも、max_bin = 255となっていたので、64とかに減らして実行すると15がいいよというWarningがでました。

[LightGBM] [Info] Finished loading parameters
[LightGBM] [Info] Using column number 0 as label
[LightGBM] [Info] Loading weights...
[LightGBM] [Info] Construct bin mappers from text data time 0.03 seconds
[LightGBM] [Info] Loading weights...
[LightGBM] [Info] Finished loading data in 0.207653 seconds
[LightGBM] [Info] Number of positive: 3716, number of negative: 3284
[LightGBM] [Info] This is the GPU trainer!!
[LightGBM] [Info] Total Bins 0
[LightGBM] [Info] Number of data points in the train set: 7000, number of used features: 28
[LightGBM] [Warning] Setting max_bin to 15 is suggested for best performance
・・・
・・・
[LightGBM] [Info] 27.172875 seconds elapsed, finished iteration 99
[LightGBM] [Info] Iteration:100, training binary_logloss : 0.267676
[LightGBM] [Info] Iteration:100, training auc : 0.991391
[LightGBM] [Info] Iteration:100, valid_1 binary_logloss : 0.5031
[LightGBM] [Info] Iteration:100, valid_1 auc : 0.834687
[LightGBM] [Info] 27.380465 seconds elapsed, finished iteration 100
[LightGBM] [Info] Finished training

それで、15に設定すると。確かに早くなりましたが、それでもCPUより圧倒的に遅いです。

[LightGBM] [Info] Finished loading parameters
[LightGBM] [Info] Using column number 0 as label
[LightGBM] [Info] Loading weights...
[LightGBM] [Info] Construct bin mappers from text data time 0.03 seconds
[LightGBM] [Info] Loading weights...
[LightGBM] [Info] Finished loading data in 0.213896 seconds
[LightGBM] [Info] Number of positive: 3716, number of negative: 3284
[LightGBM] [Info] This is the GPU trainer!!
[LightGBM] [Info] Total Bins 0
[LightGBM] [Info] Number of data points in the train set: 7000, number of used features: 28
[LightGBM] [Info] Using GPU Device: Mali-T760, Vendor: ARM
[LightGBM] [Info] Compiling OpenCL Kernel with 16 bins...
[LightGBM] [Info] GPU programs have been built
[LightGBM] [Info] Size of histogram bin entry: 8
[LightGBM] [Info] 27 dense feature groups (0.11 MB) transferred to GPU in 0.011649 secs. 1 sparse feature groups
[LightGBM] [Info] Finished initializing training
・・・
・・・
[LightGBM] [Info] 17.915968 seconds elapsed, finished iteration 99
[LightGBM] [Info] Iteration:100, training binary_logloss : 0.346398
[LightGBM] [Info] Iteration:100, training auc : 0.96812
[LightGBM] [Info] Iteration:100, valid_1 binary_logloss : 0.566812
[LightGBM] [Info] Iteration:100, valid_1 auc : 0.773077
[LightGBM] [Info] 18.062390 seconds elapsed, finished iteration 100
[LightGBM] [Info] Finished training

同じパラメータでCPUで実行すると、CPUでもさらに早くなりました。2倍ぐらいでしょうか。
・・・
[LightGBM] [Info] Iteration:100, training binary_logloss : 0.268637
[LightGBM] [Info] Iteration:100, training auc : 0.991395
[LightGBM] [Info] Iteration:100, valid_1 binary_logloss : 0.518213
[LightGBM] [Info] Iteration:100, valid_1 auc : 0.816853
[LightGBM] [Info] 0.491855 seconds elapsed, finished iteration 100
[LightGBM] [Info] Finished training

他のパラメータもチューニングしていく必要がありそうです。ただ、GPUがそもそも遅いように思います。


0 件のコメント:

コメントを投稿

Thinker BoardのOpenCL(2)

 前の投稿で、ビルドして動かすところまで、やってみましたが、今回はOpenCLを使うと、あまりに遅かったので、パラメータを調整してみます。 どうも、max_bin = 255となっていたので、64とかに減らして実行すると15がいいよというWarningがでました。 [LightG...