CPU、GPU、NPU、FPGA はディープラーニングでどのように優位性を発揮するのでしょうか?

CPU、GPU、NPU、FPGA はディープラーニングでどのように優位性を発揮するのでしょうか?

AIの応用が広まるにつれ、ディープラーニングは現在のAI研究と応用の主流の方法となっています。膨大なデータの並列計算に直面して、AI の計算能力に対する要件は増加し続けており、ハードウェアの計算速度と電力消費に対する要件も高まっています。

[[264829]]

現在、汎用 CPU に加えて、ハードウェア アクセラレーションとして使用される GPU、NPU、FPGA などのチップ プロセッサが、ディープラーニングのさまざまなアプリケーションでそれぞれの利点を発揮していますが、どれが優れているのでしょうか。

顔認識を例にとると、基本的な処理フローと対応する機能モジュールに必要な計算能力は次のように配分されます。

アプリケーション間にこのような区別があるのはなぜですか?

何がポイントですか?

答えを知るには、まず CPU、GPU、NPU、FPGA の原理、アーキテクチャ、パフォーマンス特性を理解する必要があります。

まず、汎用CPUのアーキテクチャを見てみましょう。

CPU

CPU (中央処理装置) は、非常に大規模な集積回路です。その主な論理アーキテクチャには、制御ユニット Control、演算ユニット ALU、キャッシュ メモリ (Cache)、およびそれらの間のデータ (Data)、制御、ステータス接続を実現するバス (Bus) が含まれます。

簡単に言えば、

計算ユニット、制御ユニット、およびストレージユニットです。

アーキテクチャ図は次のとおりです。


CPU はフォン・ノイマン・アーキテクチャに準拠しており、その中核はプログラムの保存と順次実行です。 CPU アーキテクチャでは、ストレージ ユニット (Cache) と制御ユニット (Control) を配置するために多くのスペースが必要です。これに比べて、コンピューティング ユニット (ALU) はごくわずかな部分しか占めないため、大規模な並列コンピューティング機能には非常に限られており、論理制御に優れています。

CPU は大量の行列データに対して並列計算を実行することはできませんが、GPU は実行できます。

グラフィックプロセッサ

GPU (Graphics Processing Unit) は、グラフィック プロセッサとも呼ばれ、複数のタスクを同時に処理するために特別に設計された、多数のコンピューティング ユニットで構成された大規模な並列コンピューティング アーキテクチャです。

GPU が並列コンピューティング機能を実現できるのはなぜでしょうか? GPU にも基本的なコンピューティング ユニット、制御ユニット、ストレージ ユニットが含まれていますが、次の図に示すように、GPU のアーキテクチャは CPU のアーキテクチャとは異なります。


CPU と比較すると、CPU チップ スペースの 20% 未満が ALU ですが、GPU チップ スペースの 80% 以上が ALU です。つまり、GPU にはデータの並列処理用の ALU がより多くあります。

GPU Titan X および CPU Intel i7-4790K (4 GHz) 上で Darknet を使用して構築されたニューラル ネットワーク モデル AlexNet、VGG-16、および Restnet152 を使用した ImageNet 分類タスクの予測結果:


注: 上記のデータは https://pjreddie.com/darknet/imagenet/#reference から取得されています。

これは、ニューラル ネットワーク データの処理において GPU が CPU よりもはるかに効率的であることを示しています。

要約すると、GPU には次の特性があります。

1. マルチスレッドは、マルチコア並列コンピューティングのインフラストラクチャを提供し、コアの数が非常に多いため、大量のデータの並列コンピューティングをサポートできます。

2. メモリアクセス速度が速くなります。

3. 浮動小数点演算能力の向上。

したがって、大量のトレーニング データ、大規模な行列、およびディープラーニングにおける畳み込み演算には、CPU よりも GPU の方が適しています。

GPU は並列コンピューティング機能に優れていますが、単独では動作できず、CPU との連携処理が必要です。ニューラル ネットワーク モデルの構築とデータ ストリームの送信は、依然として CPU 上で実行されます。同時に、消費電力が高く、サイズが大きいという問題もあります。

GPU の性能が高くなるほど、サイズが大きくなり、消費電力も高くなり、価格も高くなるため、一部の小型デバイスやモバイルデバイスでは使用できなくなります。

そのため、小型、低消費電力、高コンピューティング性能、高コンピューティング効率を備えた専用チップ NPU が誕生しました。

非営利

NPU (Neural Networks Process Units) ニューラル ネットワーク処理ユニット。 NPU の動作原理は、人間のニューロンとシナプスを回路レベルでシミュレートし、ディープラーニング命令セットを使用して大規模なニューロンとシナプスを直接処理することです。1 つの命令でニューロンのグループの処理が完了します。 CPU や GPU と比較して、NPU はシナプス重みを通じてストレージとコンピューティングを統合し、動作効率を向上させます。

NPU は、生物学的ニューラル ネットワークを模倣して構築されています。CPU および GPU プロセッサは、ニューロン処理を完了するために数千の命令を必要としますが、NPU は 1 つまたは数個の命令で完了します。そのため、ディープラーニング処理の効率性において明らかな利点があります。

実験結果によると、同じ消費電力で、NPU のパフォーマンスは GPU の 118 倍です。

GPU と同様に、NPU でも特定のタスクを完了するために CPU の共同処理が必要です。次に、GPU と NPU が CPU と連携してどのように動作するかを見てみましょう。

GPUアクセラレーション

現在、GPU は並列行列乗算と加算演算のみを実行し、ニューラル ネットワーク モデルの構築とデータ ストリームの送信は引き続き CPU で実行されます。

CPU は重みデータを読み込み、コードに従ってニューラル ネットワーク モデルを構築し、CUDA や OpenCL などのライブラリ インターフェイスを介して各層のマトリックス演算を GPU に送信して並列計算を実現し、結果を出力します。その後、CPU は、ニューラル ネットワーク出力層の計算が完了するまで下位ニューロン グループのマトリックス データ計算をスケジュールし、最終結果を取得します。


CPU と GPU 間の相互作用プロセス:

1. GPU情報を取得し、GPU IDを設定する

2 ニューロンパラメータをGPUにロードする

3 GPUがニューラルネットワークコンピューティングを加速

4. GPU計算結果を受け取る

NPUアクセラレーション

NPU は GPU アクセラレーションとは異なり、各層のニューロンの計算結果をメインメモリに出力する必要がなく、ニューラルネットワークの接続に応じて次の層のニューロンに渡されてさらに計算されるため、コンピューティング性能と消費電力が大幅に向上しました。

CPU は、コンパイルされたニューラル ネットワーク モデル ファイルと重みファイルを専用チップに渡し、ハードウェア プログラミングをロードして完了します。


操作プロセス全体を通じて、CPU は主にデータのロードとビジネス プロセスの制御を実現します。その相互作用プロセスは次のとおりです。

1. NPU専用チップデバイスを開く

2. モデルファイルを渡し、モデルタスクを取得する

3 タスクの入力と出力の情報を取得する

4 入力データをモデルメモリにコピーする

5 モデルを実行して出力データを取得する

NPUに加えて、FPGAも消費電力と計算能力で競合します。

プログラマブルロジック

FPGA (Field-Programmable Gate Array) は、フィールドプログラマブルゲートアレイと呼ばれ、ユーザーが自分のニーズに応じて繰り返しプログラムすることができます。 CPUやGPUと比較すると、高性能、低消費電力、ハードウェアプログラマビリティなどの特徴があります。

FPGA の基本原理は、多数のデジタル回路の基本ゲート回路とメモリをチップ内に統合することであり、ユーザーは FPGA 構成ファイルを書き込むことで、これらのゲート回路とメモリ間の接続を定義できます。この書き込みは一度限りのものではなく、定義を繰り返し書き込んで構成することができます。

FPGA の内部構造を下図に示します。


FPGA のプログラマブル ロジック ブロックには、LUT (ルックアップ テーブル) とトリガーで構成される多くの機能ユニットが含まれています。 FPGA は、命令体系の変換なしにこれらのゲート回路を通じてユーザーのアルゴリズムを直接実装し、実行効率が高くなります。

比較してみましょう

CPU/GPU/NPU/FPGAのそれぞれの特徴


各チップアーキテクチャの特徴のまとめ

/CPU/

トランジスタの70%をキャッシュの構築に使用し、制御ユニットの一部を使用しています。演算ユニットが少なく、論理的な制御演算に適しています。

/GPU/

ほとんどのトランジスタは、計算の複雑さが低く、大規模な並列計算に適した計算ユニットの構築に使用されます。主にビッグデータ、バックエンドサーバー、画像処理に使用されます。

/NPU/

ニューロンは回路層でシミュレートされ、ストレージとコンピューティングはシナプスの重みを通じて統合されます。1 つの命令でニューロンのグループの処理が完了し、操作効率が向上します。主に通信、ビッグデータ、画像処理の分野で使用されます。

/ FPGA /

プログラマブル ロジックは計算効率が高く、基盤となる IO に近く、冗長なトランジスタと配線によってロジックを編集できます。本質的には、命令や共有メモリを必要とせず、CPU や GPU よりも計算効率が高くなります。主にスマートフォン、携帯機器、自動車などに使用されています。

最も一般的な部分として、CPU は他のプロセッサと連携してさまざまなタスクを完了します。 GPU は、ディープラーニングのバックグラウンド サーバーでの大規模データ トレーニングや行列畳み込み演算に適しています。 NPU と FPGA は、パフォーマンス、面積、消費電力などの面で大きな利点があり、ニューラル ネットワークの計算をより高速化できます。 FPGAはハードウェア記述言語を用いて開発されるのが特徴で、GPUやNPUに比べて開発の敷居が高いです。

各プロセッサにはそれぞれ長所と短所があると言えます。さまざまなアプリケーションシナリオでは、ニーズに応じて長所と短所を比較検討し、適切なチップを選択する必要があります。

<<:  人工知能がビデオ業界に力を与え、新しいエンターテインメント時代の変化が訪れる

>>:  「スカイアイ」が母親殺害事件の容疑者を発見する前に、私たちはいくら支払ったのでしょうか?

ブログ    
ブログ    
ブログ    

推薦する

JD.comのインテリジェントな顧客サービス、JD.comの11.11は再び「高い感情的知性」を実証

チャットボックスを閉じた後、Li Li はカスタマーサービスとの先ほどの会話を思い出しました。製品紹...

AIがビデオ業界の変革を推進する方法

AI コンテンツ分析は、ビデオで取り上げられているトピックや、ビデオ内の登場人物が表現した感情を識別...

2019 Baidu AI 開発者会議で AI レポートカードが披露される

7月3日、北京で百度AI開発者会議「Baidu Create2019」が開催された。この会議は「産業...

...

2時間で人間を超えることができます! DeepMind の最新 AI が 26 の Atari ゲームをスピードラン

DeepMind の AI エージェントが再び自らの力を発揮します。よく見てください。BBF という...

1 つの記事で AI エージェント テクノロジーを理解する

環境と自律的に対話し、収集したデータに基づいて決定を下し、人間の介入を最小限に抑えてシナリオベースの...

人工知能は将来どのように発展するのでしょうか?

20 世紀初頭から、ロボットが人間のように考え始めることができるかどうかについて、人々は疑問を持ち...

1300億のパラメータを持つ中国初の大規模数学モデルMathGPTがリリースされました!複数のベンチマークがGPT-4を上回る

数学的 AI ビッグモデルはこの分野の将来を変える可能性があります。本日、中国初の兆スケール数学モデ...

インテリジェントな変革の時代を迎える: AIでビジネスの未来をリードする

インテリジェント トランスフォーメーションの本質: インテリジェント トランスフォーメーションは、テ...

研究者はディープラーニングを使用して巡回セールスマン問題を解決する上でどの程度進歩しましたか?

組合せ最適化問題の背景組み合わせ最適化は、NP 困難な制約付き最適化問題を解決することを目的とした、...

このAIは顔の筋肉の信号を捉え、嘘をついているかどうかを73%の精度で判定します。しかし、テスト結果を信頼できますか?

ビッグデータダイジェスト制作著者: カレブ議論の余地はあるものの、人が嘘をついているかどうかを見抜く...

AI搭載のレンガ積みロボットが建設業界に革命を起こす

現在、建設部門は大規模なプロジェクトによって活性化しており、大きな成長を牽引しています。しかし、これ...

...

第2世代GANネットワークの台頭? DALL·E Miniのグラフィックが恐ろしく、外国人も大興奮!

現在、GoogleやOpenAIなどの大手企業が開発したテキストから画像へのモデルは、興味深いニュー...