web-dev-qa-db-ja.com

OpenCL / AMD:ディープラーニング

「グーグル」といくつかの研究を行っている間、私は見つけることができませんでしたany科学的GPGPU-ComputingおよびOpenCL[〜#〜] amd [〜#〜]ハードウェア。見逃した文献やソフトウェアはありますか?

特に、私はディープラーニングに興味があります。

私が知っているすべてのdeeplearning.net[〜#〜] nvidia [〜#〜]ハードウェアおよび[〜#〜] cuda [〜#〜]フレームワーク。さらに、CaffeTheanoなど、私が知っているすべての大きなディープラーニングフレームワーク、トーチDL4J、...に焦点が当てられています[〜#〜] cuda [〜#〜]、サポートする予定はありませんOpenCL/AMD

さらに、[〜#〜] cuda [〜#〜]ベースのディープラーニングタスクに対応する文献だけでなく、多くの科学論文を見つけることができますが、ほとんど何もありませんOpenCL/AMDベースのソリューション。

2015/16にOpenCL/AMDベースのソリューションに新しいまたは既存の科学的フレームワークが現れる可能性はありますか?

ディープラーニングOpenCL/AMDの良い出発点は何ですか?文献はありますか?チュートリアル?その他のソース?

57
daniel451

Edit 1Mikael Rousson's answerを参照してください-計算能力を「借りる」ことができるので、Amazonは今前進しています。

Edit 2theano。パーソナルマシンで実行するよりもロットが便利です

Edit 3TensorFlowはtheanoよりもはるかに広く受け入れられるようになったので、それに応じてガイドを更新しました。

Intel Irisグラフィックスを搭載したMacBook Proを所有しているのと同じ状況です。私は1週間の最善の部分をすべての可能な回避策に目を通しており、私が提供するものに代わるものを歓迎しています。

私が現在持っている最良の解決策は:

  1. pythonライブラリをインストールします tensorflow そこにあるGPUサポートを利用し、最新の開発バージョンへの更新を続けます。
  2. theano を使用し、 既存のGPUサポートtensorflowと同様に使用します
  3. NVIDIAグラフィックカードを購入してPCで使用する
  4. OpenCLのソリューションが絶対に必要であり、高度な理解(チュートリアルなし)からすべてをコーディングする場合は、 DeepCL および場合によっては pyOpenCl を参照してください。

OpenCLを使用するソリューション、たとえば pyOpenCl 、Deep Learningのユーザーフレンドリーなインターフェイスはまだありません。つまり、高速でコーディングしてCPUで実行するよりも、別の方法でコーディングする方が時間がかかります。ただし、ディープラーニングに最適な代替OpenCLライブラリは次のとおりです。

開発中

28

--- 2017年8月AMD側で起こったクールな新しいことを更新---

現在、ほとんどのAMDハードウェア上で任意のライブラリを実行することが実際に可能です ここをチェック

2015年10月25日現在

aMDなどは、ディープラーニングのためのいくつかのOpenCLアクセラレーションフレームワークの開発に手を伸ばしているようです。そのため、ディープラーニングのためのOpenCLサポートが存在します:)

これは、主にディープラーニングを念頭に置いて開発されたOpenCL加速フレームワークまたはツールのリストです。今後数年間で更新されることを願っています

現在(2015年10月25日)には、研究者に非常に人気のある3つのディープラーニングフレームワークがあり、いくつかの商用製品を見てきました。

  1. テアノ

  2. カフェ

  3. 松明


aMDは、caffeのほぼすべての機能をサポートする完全なバージョンのcaffeを開発し、積極的に開発されているため、caffeにはかなり優れたOpenCLサポートがあります。 OpenCL Caffeという名前です。ここにリポジトリがあります

OpenCL Caffe

パフォーマンスについて考えている場合、そのサイト(私は自分でベンチマークを立てていません)によると、AMD R9 Furyハードウェア(トレーニング)で1秒あたり約261画像または1日あたり2250万画像を提供します。 1日に4,000万枚の画像を処理できるnvidia K40と比較します。そのため、サイトによると、6分の1のお金で半分のパフォーマンスを実現できます。ただし、コンシューマーカードを使用すると、メモリ(vram)に関する問題が発生します。


最近のトーチもまともなOpenCLをサポートしているようです。ただし、1人で管理します。トーチのすべての機能を完全にサポートしていると主張しています。ただし、パフォーマンスについてはわかりません。これがリポジトリです。積極的に維持されます。

cltorch


現在、theanoフレームワーク用の適切なopenclバックエンドはないようですが、作業は進行中です。また、現在のバージョンで簡単なプログラムを実行できます。


深層学習のためのいくつかの他のopenclフレームワークもあります。それらが適切に機能するかどうかを確認するには、それらを整理するのに時間がかかります。

16

別の方法は、Amazon Web ServicesでGPUインスタンスを使用することです。よく使用されるディープラーニングパッケージが既にインストールされているAMIを見つけることができます。例えば:

ヒント:スポットインスタンスを使用して、より安い価格(g2.2xlargeで約10セント/時間)を取得します。

9
Mikael Rousson

PlaidML( https://github.com/plaidml/plaidml )は、OpenCLの上で実行され、Kerasと統合される完全にオープンソースの深層学習ランタイムです。使い慣れたユーザー向けAPIを提供します。リポジトリのREADMEはより詳細なステータスを持っています。現在Linuxでのconvnet推論は十分にサポートされていますが、( http://vertex.ai )完全性とプラットフォームサポートを可能な限り迅速に拡張するために取り組んでいます。当社の継続的インテグレーションマシンには、AMDとNVIDIA GPUの品揃えが含まれており、現在はすべてLinuxですが、MacとWindowsの追加にも取り組んでいます。

7
Choong Ng

Tensorflowのopencl 1.2サポートを書いています。 https://github.com/hughperkins/tensorflow-cl 現在サポートしています:

  • bLAS行列の乗算
  • 勾配
  • 次のような固有演算:縮約、argmin/argmax、要素ごとの演算(バイナリおよび単項)
5
Hugh Perkins

TensorFlowは、 ロードマップ でOpenCLをサポートするようになりました。

参照: Github issue .

うまくいけば、動作するバージョンからそれほど遠くはありません。

4
salle55

AMDによって駆動される ROCmプラットフォーム を確認してください。これは、プログラミング言語に依存しない、GPUコンピューティング向けの最初のオープンソースHPC /ハイパースケールクラスプラットフォームです。

具体的には:

1
AmitB

ご覧ください https://01.org/intel-deep-learning-framework -Intel®Deep Learning Framework(IDLF)は、Deep Convolutional Neural Networksを加速するIntel®プラットフォーム向けの統合フレームワークを提供します。これはオープンソースなので、AMDハードウェアにも移植できます。すばらしいことは、Intel Irisグラフィックスを搭載したMacBook Proで実行できることです。

1
Robert Ioffe