2022年9月11日日曜日

open.intel

OSS の領域に Intel さんが参戦していたとは知りませんでした。

open.intel
https://github.com/intel

色々あります。
intel-extension-for-pytorch は気になりますね。当然ながら、CPU をうまく使うアプローチです。既存のGPU版とどちらが早いのでしょうか。

Intel Extension for Scikit-learn はありがたい。
https://github.com/intel/scikit-learn-intelex
https://medium.com/intel-analytics-software/save-time-and-money-with-intel-extension-for-scikit-learn-33627425ae4

(Note: The extension contains scikit-learn optimizations that were originally in the daal4py package, but it was decided to extract them into a separate Python package: scikit-learn-intelex. All future updates for scikit-learn will be available only in Intel Extension for Scikit-learn. We recommend using scikit-learn-intelex instead of daal4py.)

Intel oneAPI Data Analytics Library を使うとも書かれています。
https://github.com/oneapi-src/oneDAL

conda install scikit-learn-intelex を打ち込めば、 daal4py, dal も同時に install されました。daal4py が必要なのは説明と異なるようにも思えましたが、完全分離とまではいかなかったのでしょう。共通する部分は daal4py に残しているのかもしれません。

早速 SVC の example を動かしてみました。
が、import error を吐きます。
issue で検索すると、2021.6から修正されているようです。pip には上がっていますが、conda にはまだ上がってないとのこと。18日前の情報なので、これでしょう。issue 内の対応通り Scikit-learn を 1.0.2 に downgrade したら読めました。 conda に登録されたら、すべて update しましょう。

結果は歴然。学習時間は約1/9になっています。
extentionなし:877.6s
extentionあり:98.5s

予測が12倍。これは嬉しい。
extentionなし:13.4s
extentionあり:1.1s


xgboost, LightGBM も高速化されているようです。https://www.xlsoft.com/jp/blog/intel/2021/08/05/improve-the-performance-of-xgboost-and-lightgbm-inference/

これらは速いので、恩恵は Scikit-learn よりもかなり小さいでしょうね。いずれ、試してみましょう。


0 件のコメント:

コメントを投稿