1行のコードでsklearnの操作が数千倍高速化

1行のコードでsklearnの操作が数千倍高速化

1 はじめに

みなさんこんにちは、フェイ先生です。機械学習の定番フレームワークであるscikit-learnは誕生以来10年以上開発されてきましたが、その計算速度はユーザーから批判されてきました。 scikit-learn に精通している友人は、scikit-learn に付属する joblib などのライブラリに基づくコンピューティング高速化機能の一部は効果が限られており、コンピューティング能力を十分に活用できないことを知っているはずです。

今日紹介する知識は、元のコードを変更することなく、scikit-learn の計算効率を数十倍、あるいは数千倍も向上させるのに役立ちます。さあ、始めましょう!

2 sklearnexを使用してscikit-learnを高速化する

高速コンピューティングの効果を得るには、sklearnex 拡張ライブラリをインストールするだけで、Intel プロセッサを搭載したデバイスでのコンピューティング効率を大幅に向上させることができます。

慎重に行動すれば、別の conda 仮想環境で実験を行うことができます。すべてのコマンドは次のとおりです。IDE として jupyterlab もインストールします。

 conda create -n scikit - learn - intelex - demo python = 3.8 - c https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main-y
conda アクティベートscikit - 学習- intelex - デモ
pip インストールscikit - 学習scikit - 学習- intelex jupyterlab - i https://pypi.douban.com/simple/

実験環境の準備が完了したら、Jupyter Lab でテスト コードを記述して、高速化の効果を確認します。使い方は非常に簡単です。コードに scikit-learn 関連の関数モジュールをインポートする前に、次のコードを実行するだけです。

 sklearnex からpatch_sklearn をインポートしunpatch_sklearn を実行します。
パッチ_sklearn ()

加速モードが正常にオンになると、次の情報が印刷されます。

後は、元の scikit-learn コードを実行するだけです。私は、オープンソース プロジェクトの作成と開発に使用している古い Savior ラップトップでこれをテストしました。

線形回帰を例にとると、数百万のサンプルと数百の特徴を持つサンプルデータセットでは、加速モードをオンにした後、トレーニングセットのトレーニングを完了するのにわずか 0.21 秒しかかかりませんでした。unpatch_sklearn() を使用して加速モードを強制的にオフにした後 (scikit-learn 関連モジュールを再インポートする必要があることに注意してください)、トレーニング時間はすぐに 11.28 秒に増加しました。これは、sklearnex によって計算速度が 50 倍以上向上したことを意味します。

公式発表によると、CPU の性能が高ければ高いほど、パフォーマンスの向上率が高くなります。下の図は、公式が Intel Xeon Platinum 8275CL プロセッサで一連のアルゴリズムをテストした後に得られたパフォーマンスの向上結果を示しています。トレーニング速度が向上するだけでなく、モデル推論予測速度も向上します。シナリオによっては、パフォーマンスの向上が数千倍に達することもあります。

公式では、K-means、DBSCAN、ランダムフォレスト、ロジスティック回帰、リッジ回帰など、さまざまな一般的なアルゴリズムの例を示した ipynb の例もいくつか提供しています (https://github.com/intel/scikit-learn-intelex/tree/master/examples/notebooks)。興味のある読者は、ダウンロードして自分で学習することができます。

<<:  偏見と不平等にノーと言いましょう!マイクロソフト、物議を醸していた顔認識サービスの提供を停止

>>:  私たちは人工知能によってどのように制御されているのでしょうか?

ブログ    
ブログ    

推薦する

...

米メディア:米国はAI戦争に備えるため同盟国を誘致

ワシントン(AP通信) — 米国とその同盟国は、国防総省の人工知能部門が立ち上げた新しいフォーラムを...

デジタル変革戦略における AI の位置づけを決める際に尋ねるべき 5 つの質問

COVID-19 パンデミックにより、顧客および従業員エクスペリエンスのデジタル化に対する企業の投資...

...

第6回ドルイドチャイナミートアップがKuaishou本部で開催されました

3月16日、KuaishouとTestin Cloud Testingが共同で主催するApache ...

ドローン技術の最新動向

ドローン分野へと私たちを導いた技術開発はそこで止まりませんでした。ドローンが軍事目的以外の目的で使用...

音声認識を開発する方法

ディープラーニング技術を用いた自然言語の深い理解は、常に注目されてきました。自分で音楽を調べる必要が...

言語間、人間の声と犬の鳴き声の相互変換をサポートし、最も近いものだけを使用するシンプルな音声変換モデルはどれほど素晴らしいか

AIが関わる音声の世界はまさに魔法のようです。ある人の声を別の人の声に置き換えるだけでなく、動物と声...

Gym Anytradingに基づく強化学習の簡単な例

強化学習 (RL) は近年、アルゴリズム取引の分野で大きな注目を集めています。強化学習アルゴリズムは...

Githubには13,000個のスターがある。JAXの急速な発展はTensorFlowやPyTorchに匹敵する

[[416349]]機械学習の分野では、TensorFlow と PyTorch は誰もがよく知っ...

2020年に中国で期待されるAI企業トップ10

近年の新興技術として、人工知能は人々の生活のあらゆる側面に静かに浸透し、比較的ホットな産業に発展しま...

人工知能が台頭しています。インテリジェントセキュリティの開発はどのように進んでいますか?

セキュリティ業界は、人工知能の市場を長く有する業界として、人工知能の発展に対する理解がより明確で、そ...

スマート、インテリジェントなインタラクティブ推奨システムと販売前ショッピングガイドロボットをリリース

昨日、北京のマイクロソフトビルでSmarterが開催されました。カンファレンスのテーマは「インテリジ...

...

陳作寧院士:人工知能モデルとアルゴリズムの7つの発展傾向

[[344779]] 2020年は紆余曲折と困難の年でした。このような背景から、人類にさらに貢献し、...