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-
テレグラムチャンネル :