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バーチャルアシスタント:私たちはオペレーターの新たなお気に入りです

人工知能が将来のビジネスやデジタル変革の鍵となる可能性が高いことをさまざまな分野の人々が一般的に認識...

ロボットがお手伝いします。楽しいメーデーを楽しみましょう!

現在、科学技術の発展に伴い、さまざまなインテリジェント技術や設備により、人々の休暇はますます快適で未...

人工知能は人間の生活水準をどのように向上させることができるのでしょうか?

米国を例にとると、10年後には、成人一人当たり人工知能ビジネスから年間13,500ドルの利益を得るこ...

...

最高の AI スタートアップはどれですか? 6つの選択肢があなたに方向性を与える

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

...

IoTとAIはパンデミック中に企業が事業を再開するのにどのように役立つか

数か月に及ぶ極度の不確実性、経済活動の停止、強制的な自宅隔離を経て、ようやく経済活動と取引がゆっくり...

...

GoogleのAutoML人工知能システムは、人間よりも優れた機械学習コードを作成できるようになりました

Google の AutoML システムは最近、研究者自身よりもさらに効率的な一連の機械学習コードを...

...

...

顔認証決済はまだ普及していないが、中央銀行はすでに新しい決済方法を発表しており、ジャック・マーは今回不意を突かれた

顔認識の隠れた危険性これらの便利な支払い方法が普及したのは、ジャック・マーのおかげです。アリペイの登...

データの品質は機械学習を成功させる鍵です

翻訳者 | 張毅校正 | 梁哲、孫淑娟出典: frimufilms が作成したビジネス写真 - ww...

COVID-19パンデミックは不動産業界のインテリジェントな変革とアップグレードを加速させた

[[342701]] スマートホーム革命はかなり前から本格化しています。住宅所有者はデータと IoT...