PlaidML と呼ばれるこのツールを使用すると、NVIDIA、AMD、または Intel のグラフィック カードに関係なく、ディープラーニングのトレーニングを簡単に実行できます。
周知のとおり、ディープラーニングは2010年代のNVIDIAのGPUコンピューティング能力の向上により急速に発展しました。しかし、現在市場には多くのブランドのグラフィックカードがあり、それらも優れたパフォーマンスを備えています。後者はAIモデルのコンピューティング能力の基礎となることができるでしょうか?
答えが「はい」であれば、私たちのラップトップ、特に多額のお金をかけて購入した MacBook Pro を使ってディープラーニング モデルを実行できます。 MacBookProはテクノロジー界隈で広く普及しており、品質も良いのですが、ディープラーニングには使えないのが残念です。 MacBookを購入する際、一部の人はディスクリートグラフィックカードに多額のお金をかけますが、ディープラーニングに関しては、お金が無駄になることに気づきます。なぜなら、長い間、ほとんどの機械学習モデルは、汎用GPUライブラリCUDAを通じてのみNVIDIAのGPUを使用できたからです。 しかし、本当に選択の余地はないのでしょうか? Medium のブロガーは、そうではないと述べています。 PlaidML と呼ばれるディープラーニング フレームワークがこのジレンマを解決できます。 並列コンピューティングに GPU を使用する理由は何ですか?たとえば、家を建てる場合、一人でやる場合は 400 時間かかりますが、建築業者を雇えば、おそらくその時間を半分に短縮できます。雇う労働者の数が増えるほど、家は早く建ちます。これはアムダールの法則が明らかにしたものです。これは、並列コンピューティング後にプロセッサの効率を向上させる能力を表す、コンピュータ サイエンスにおける経験則です。
では、なぜ GPU を使用するのでしょうか? GPU はもともとディープラーニング用に設計されたものではありませんが、並列コンピューティングの性質はグラフィックス処理に似ているようです。単一の GPU コアはパフォーマンスが劣りますが、高度な並列構造と多数のコアを備えているため、大規模なデータ ブロックのアルゴリズムを処理する場合、CPU よりも効率的です。グラフィックス処理とディープラーニングの本質的な類似性により、GPU はディープラーニングと並列コンピューティングの第一の選択肢となっています。 CUDA以外に選択肢はないのでしょうか?しかし、GPU の並列機能を利用する場合、NVIDIA の CUDA は避けて通れません。この汎用並列コンピューティング ライブラリは、ディープラーニングには不可欠です。現在、高性能クラウド コンピューティングや DL サーバーが NVIDIA GPU を使用する主な理由は CUDA です。 ラップトップの並列機能を最大限に活用したいが、N カードを購入する余裕がない場合は、この記事で紹介した PlaidML が非常に適しています。 プロジェクトアドレス: https://github.com/plaidml/plaidml PlaidML は、2017 年に Vertex.AI によってオープンソース化されたディープラーニング ツールキットです。 2018年にIntelはVertex.AIを買収した。 PlaidML 0.3.3 がリリースされた後、開発者は Keras を使用して、AMD および Intel GPU 上で並列ディープラーニング タスクを完了できるようになりました。先月、Vertex.AI は PlaidML のバージョン 0.7.0 をリリースしました。 PlaidML は、ラップトップ、組み込みデバイス、その他のデバイスでディープラーニングを可能にするポータブル テンソル コンパイラです。重要なのは、CUDA ではなく、オープン スタンダードの OpenCL に依存していることです。 OpenCL 汎用並列コンピューティング オープン スタンダードは、N カード専用に設計されていないため、AMD、Intel、NVIDIA のいずれであっても、ラップトップ GPU をサポートできます。
多くの読者は、OpenCL エコシステムは CUDA ほど成熟しておらず、開発がそれほど安定して速くないのではないかと考えているかもしれません。ただし、複雑な基礎メカニズムは PlaidML に任せることができ、私たちはそれを使用するだけで済みます。 PlaidML に触れる必要すらありません。PlaidML は一般的なディープラーニング フレームワークに統合されており、ユーザーはどのハードウェアでも呼び出すことができます。現在、PlaidML は Keras、ONNX、nGraph などのツールをすでにサポートしています。Keras を直接使用してモデルを構築し、MacBook の GPU を簡単に使用できます。 さて、本題に入りましょう。ラップトップの GPU を使用してシンプルな CNN を実行する方法です。 ラップトップのGPUでニューラルネットワークを実行するPlaidMLと関連コンポーネントをインストールして設定する まず、ラップトップに Python 3 がインストールされていることを確認する必要があります。著者は、次のコードを仮想環境で実行することを推奨しています。
標準の TensorFlow フレームワークの Keras では PlaidML を使用できないため、PlaidML でカスタマイズされた Keras をインストールする必要があることに注意してください。
PlaidML の設定手順 2。 これで、選択したデバイスのリストが表示されます。著者のコンピューター Macbook Pro 15'2018 を例にとると、デバイス リストは次のようになります。
最後に、「y」または「nothing」と入力して戻り、設定を保存します。これですべてがインストールされ、GPU を使用してディープラーニング プロジェクトを実行できるようになりました。 ファッション mnist で CNN 分類器を作成する まず、Jupyter Notebook を起動します。
次に、Keras バックエンドとして PlaidML を使用するために次のコードを実行します。それ以外の場合は、デフォルトで TensorFlow が使用されます。
これで、パッケージをインポートしてファッション データセットをダウンロードできます。
次に、Keras のシーケンシャル モジュールを使用して、単純な CNN を作成し、コンパイルします。
次に、モデルを適合させてその精度をテストします。
その他の結果。 私たちがトレーニングした畳み込みニューラル ネットワーク モデルは、ファッション分類タスクで 91% の精度を達成し、トレーニングにはわずか 2 分しかかかりませんでした。この数字はそれほど印象的ではないかもしれませんが、CPU のトレーニングにかかる時間を考慮してください。 CPUを使用して同じタスクを完了するには2219秒(約37分)かかり、この間Macのファンは狂ったように出力します。 上記の結論から、Macbook Pro の GPU を使用したディープラーニング計算は、単純に CPU を使用する場合よりも 15 倍高速であることがわかります。 PlaidML を使用すると、自分のラップトップを使用してディープラーニング モデルをトレーニングすることがさらに簡単になります。 現在(2020 年 2 月)の時点で、PlaidML はさまざまなブランドの GPU と互換性があり、CUDA/cuDNN なしで NVIDIA グラフィック カードを使用した場合でも同様のパフォーマンスを実現できます。 PlaidML の GitHub ページで、さらに多くのデモや関連プロジェクトを見ることができます。このツールが開発され続けるにつれて、より多くのアルゴリズムがサポートされるようになると思います。ラップトップで小さなモデルを素早くテストすることもできます。 |
<<: 過剰に防御的?モスクワのバス運転手は中国人乗客の身元を手動で確認し、顔認識システムの使用も許可されている。
>>: 機械学習に必要なエンジニアリングの量は将来大幅に削減されるだろう
プライバシーがないと感じる人が増えているのは紛れもない事実です。最も直接的な例は、買い物をしたい場合...
[51CTO.comよりオリジナル記事] 昨今人気の技術として、産業界における人工知能の応用が徐々に...
2019年7月26日、人工知能企業Daguan Dataは北京で「大道知建」をテーマにした製品発表...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
世界的なスマート アプリケーション市場の成長は、高度なコンピューティングおよび分析テクノロジによって...
DeepSense は、エンドデバイス上で実行されるディープラーニング フレームワークです。ローカル...
企業が生産性を高め、顧客体験を強化する方法を模索する中、生成 AI は今後 10 年間であらゆる業界...
数日前、DeepMind はソートアルゴリズムを 70% 直接的に高速化する AlphaDev をリ...
8月31日、OpenAIは今週、原告に数人の作家を含むほぼ同一の集団訴訟2件に応じた。彼らは、Cha...
1970 年代以来、顔認識はコンピューター ビジョンと生体認証の分野で最も研究されているトピックの ...
クラウド コンピューティング プロバイダーは、データを分析し、スキルの低いユーザー (または予算が限...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...