GPU機械学習を高速化する方法-新しいオープンソースプラットフォームが導入されました

Nvidia 、GPU機械学習アルゴリズムを高速化することを使命とするRapidsオープンソースプラットフォームを導入しました。 ツールとその類似物の機能について説明します。





/写真マーティン・ブリグデン CC



ニューラルネットワークのトレーニングの問題



Nvidiaのテクノロジーリストには、CUDA並列コンピューティングアーキテクチャが含まれています。 その目標は、CPUではなくGPUタスクの一部を転送することにより、計算を高速化することです。 場合によっては、これにより 、アプリケーションとアルゴリズムの作業を18倍高速化できます。



このため、機械学習の分野で広く応用されています。 たとえば、フロリダとノースカロライナ州の大学の研究者は、量子シミュレーション用のニューラルネットワークエンジン開発しています



MOアルゴリズムの開発には、多数の異なるライブラリが使用されます。 それらの多くはPythonで書かれています。 しかし、それらのすべてがCUDAとの連携をサポートしているわけではありません。 scikit-learnとpandasを機械学習するためのPythonツールは、そのようなツールの例です。 CUDAアーキテクチャでPythonコードを実行するために、研究者は別個のNumbaまたはPyCUDAライブラリを使用します。 同時に、一部のコンポーネントのコードは手動で書き換える必要がありますが、GPUのプログラミング機能を知る必要があるため、これは困難です。



NVIDIAソリューション



コードの移植を自動化するために、Nvidiaは新しいオープンなRapidsプラットフォームを発表しました。 開発者は別のライブラリに頼る必要はありません。Pythonでコードを記述するだけで、RapidsはGPUで実行するように自動的に最適化します。



Rapidsはプロセスをマッピングするために、GPUのメモリにある共通データベースを使用します。 データは、すべてのプラットフォームツールに共通のApache Arrow 形式で保存されます。 このソリューションは、グラフィックスと中央処理装置の両方を使用するシステムと比較して、機械学習プロセスを50倍高速化します。



同時に、Rapidsプラットフォームでは、データ準備から結果の出力まで、ニューラルネットワークを操作するプロセス全体をグラフィックチップ上で実行できるツールを使用できます。



GitHub Rapidsリポジトリのソリューションの数積極的に補充されています。 たとえば、データを準備してニューラルネットワークをトレーニングするcuDFライブラリがあり、 cuMLライブラリを使用すると、CUDAのプログラミングの詳細に入らずに機械学習アルゴリズムを開発できます



Nvidiaはプラットフォームの開発を続けます。 プロジェクトの作成者は、データの視覚化、グラフ分析、ディープラーニングのためのツールをRapidsに追加することを計画しています。 このプログラムは Apache Sparkフレームワークも統合しています。



彼らはプラットフォームについてどう思いますか



テクノロジーコミュニティはRapidsのリリースをサポートしましたが、そのさらなる開発は専門家やユーザーからいくつかの質問を提起しました。



たとえば、Cisco、Dell、NetApp、Lenovo、およびその他の企業のマネージャーが、新しいソリューションを支持して話をしました。 Anaconda CEOのScott Collison は、 Rapidsが複雑なAIシステムをトレーニングするためのデータの収集と準備を簡素化すると述べました 。 Apache Arrowとパンダの作成者であるWes McKinneyは彼に同意します。 彼によると、Rapidsは機能の作成に関連するタスクの生産性の向上につながります( 機能エンジニアリング )。





/写真サンダー・ファン・デル・ウェル CC



ただし、コミュニティは、 Rapidsを真のオープンソースプロジェクトと見なすことはできないという意見持っています。 このシステムはNvidiaカードでのみ機能し、プラットフォームのリリースは新しい顧客を引き付けるマーケティングの動きになる可能性があります。 同社は、プラットフォームが他のメーカーのデバイスで動作するかどうかをまだ特定していません。



すでにRapidsを使用しているユーザー



IBM 、人工知能システム(PowerAI、Watson、IBM Cloud)と連携するためのサービスにプラットフォームを実装する予定です。 Oracleは、Oracle Cloudインフラストラクチャで利用可能なプラットフォームであるRapidsのサポートも発表しました。



Nvidiaの新製品は、WalmartとUberによってもテストされています。 最初のRapids 、在庫管理を担当するシステムアルゴリズムの改善に役立ちました 。 小売業者の代表者による 、Rapidsは機械学習アルゴリズムの展開を加速しています。 Uberについては、同社無人車両システムの開発にRapidsを使用しています。



代替ソリューション



NvidiaがMOを加速するプラットフォームを開発しているだけではありません。 たとえば、AMDはROCm (Radeon Open Compute)プロジェクトに参加しています。 GPUでの高性能コンピューティングのためのオープンプラットフォームです。



ROCmの機能は、プログラミング言語に依存せず、ほとんどすべてのビデオカードで動作できることです。 Nvidiaカードを含む。 このために、 HIPと呼ばれる特別なC ++方言が使用されます。 CUDAアプリケーションからポータブルC ++コードへの変換を簡素化します。 コードは、特別なHipifyシステムによって自動的に変換されます。



同時に、ROCm 多数のMath Acceleration Librariesをサポートしています。 その中で、BLAS、FFT、 テンソル畳み込みを区別できます。



IT業界の専門家は、ROCmやRapidsなどのヘテロジニアスおよびGPUコンピューティングを加速するためのオープンソースソリューションにより、開発者はコンピューティングリソースをより効率的に使用し、利用可能なハードウェアからより多くのパフォーマンスを得ることができると指摘しています。






PS最初の企業IaaSブログの記事:








IPSテクノロジーについての簡単なPPS- テレグラムチャンネル









All Articles