73
クライアントサイドディープラーニングの台頭

チップがより小型で高性能になり、ディープラーニングを加速する新しい方法が発見されるにつれて、デバイス内の「人工知能」を実行できるのは大規模なデータセンターだけではなく、IoT デバイスから自動運転車まで、あらゆるものに小型の組み込みチップを搭載できるようになります。

ディープラーニングトレーニング

かつて、機械学習エンジニアはこれらのパラメータを手作業でコーディングしていましたが、これは非常に複雑な作業であり、得られる結果も芳しくありませんでした。物体や人間を「見て」認識できる「人工知能」を構築するために必要なパラメータとアルゴリズムを人間が全て考え出すのは、あまりにも困難だったのです。ディープラーニングのおかげで、これらのパラメータは、特定の物体を認識するように訓練することで自動的に生成できるようになりました。

ディープラーニング推論

第2段階では、ネットワークは「推論」を実行するために展開されます。これは、以前に学習されたパラメータを用いて、新たな未知の入力を分類するプロセスの一部です。例えば、ニューラルネットワークにいくつかの新しい画像を入力すると、どの画像に人間の顔が含まれているかを判断できます。この推論段階は、学習段階よりもはるかに少ないリソースで実行できるため、組み込みチップや小型デバイス上でローカルに実行することも可能です。

現時点では、ディープニューラルネットワークを学習させる最良の方法は、CPUに比べて速度と効率に優れているGPUを使用することだと広く認められています。MicrosoftやIntel(Altera経由)などの一部の企業は将来ディープニューラルネットワークの高性能かつ効率的な学習において、フィールドプログラマブルゲートアレイ(FPGA)がGPUに代わる十分な選択肢となると考えています。

しかし、効率化に向けた次の大きな戦いは、プロセスの推論段階にも及ぶでしょう。推論段階は現在、わずか数ワットの電力しか必要としないハードウェアで実行できます。

Nvidiaは推論にGPUを活用する

NVIDIAは、GPUはディープニューラルネットワーク(DNN)の学習に最適であるだけでなく、グラフィックプロセッサがそのようなタスクに本質的に優れているため、DNN推論にも最適であると考えています。ディープニューラルネットワークを目的の用途に適した性能に学習させるには、ハイエンドGPUの大規模なクラスターが必要です。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

したがって、近い将来、組み込みチップ上で DNN をトレーニングすることは現実的ではありませんが、望ましい結果を達成するためのパフォーマンス要件がはるかに低いため、組み込みチップ上で推論を実行することは十分に可能です。

Nvidiaが最近実施したTegra X1とIntelのCore i7 6700Kの比較テストでは、Nvidiaの組み込みチップはIntel CPUに匹敵するパフォーマンスを示しましたが、消費電力は桁違いに低いことが分かりました。Jetson TX1(1TFLOPSの性能に対し、Tegra X1は1.2TFLOPS)は、最高処理速度258画像/秒、効率45画像/秒/Wを達成しました。一方、Core i7は最高性能242画像/秒、効率3.9画像/秒/Wを達成しました。

Nvidia の以前のCUDA Deep Neural Network (cuDNN)ソフトウェア ライブラリは DNN トレーニングに重点を置いていましたが、現在の cuDNN 4 では小型 GPU と大型 GPU の両方での推論の最適化も導入されており、Tegra X1 と同社の大型 GPU の両方で実行されるディープ ニューラル ネットワークのパフォーマンスがさらに向上するはずです。

NVIDIAは、学習済みのニューラルネットワークを最適化し、Web、組み込み、車載アプリケーションにおいて実行時にGPUアクセラレーションによる推論を提供するGPU推論エンジン(GIE)の開発にも取り組んでいます。このソフトウェアエンジンは、近日中にNVIDIAのディープラーニングSDKに組み込まれる予定です。NVIDIAのGPUは幅広いディープラーニングアプリケーションをサポートしており、ディープラーニングソフトウェアは現在、NVIDIAがリーダーシップを発揮している分野と言えるでしょう。

NVIDIAのJetson TX1組み込みモジュールは、物体を認識し、短時間で大量の画像やフレームを処理し、必要に応じて迅速に対応する必要がある自動運転車を主なターゲットとしています。しかし、Jetson TX1は、比較的低い消費電力(Tegra X1 SoCの場合10W未満)でテラフロップス以上の性能を必要とするロボットやドローン、その他のデバイスにも活用できます。

Movidius は「ビジョン プロセッシング ユニット」(VPU)に賭ける

Movidiusの目標は、従来のスマートフォン向けSoCを凌駕する消費電力でありながら、ディープニューラルネットワークの実行に十分な性能を備えた組み込みチップを開発することです。そのため、同社は、プログラマブルSIMD-VLIWプロセッサとビデオデコードなどのタスク用のハードウェアアクセラレータを組み合わせた、よりカスタム化され高度に並列化された「ビジョン重視」アーキテクチャを採用しました。

Myriad 2ビジョンプロセッシングユニット(VPU)は、8ビット、16ビット、32ビットの整数演算、および16ビットと32ビットの浮動小数点演算を実行できます。また、スパースデータ構造のハードウェアサポートや、一般的なGPUよりも大容量のローカルスレッドメモリなど、独自の機能も備えています。

Movidius の VPU は、TDP が 1.2W で、最近発表された Fathom ニューラル コンピューティング スティック内で 150 GOPS (ギガ オペレーション/秒) のパフォーマンスを実現します。ウェアラブルから Google の Project Tango などのタブレットまで、あらゆるものに組み込むことができますが、さらに、監視カメラやドローン、ロボット、ジェスチャーや視線追跡用の AR/VR ヘッドセットにも組み込むことができます。

Movidiusは、ビジョンプロセッシングユニット向けに最適化されたソフトウェア開発キット(SDK)を通じて、3D深度、自然なユーザーインターフェース、オブジェクトトラッキングといった複数のソリューションを提供しています。開発者はこれらのソリューションをカスタマイズしたり、独自のソリューションをプラットフォーム上で実行したりすることも可能です。

より効率的なクライアントサイドディープラーニング

特定の結果を得るための総電力消費という観点から見ると、クラウドで最初に処理されたデータを長距離ネットワークを介してクライアントデバイスに送信することは、デバイス上でローカルに処理する場合よりも大幅に効率が悪くなる可能性があります。唯一の問題は、小型デバイスにどれだけの性能を詰め込めるか、そしてその性能レベルがディープラーニング推論で達成しようとしている結果に対して十分かどうかです。しかし、クライアント側での推論には低レイテンシという利点もあり、クラウドでは実現できないあらゆる種類のディープラーニングアプリケーションを実現できます。

クラウド上でディープラーニングを用いて個人の写真や動画などの情報を処理することは、大きなプライバシーリスクとなる可能性があります。これは、データを処理する企業だけでなく、処理された情報を入手しようとする攻撃者からもリスクが高まります。例えば、監視カメラはクラウドではなくローカルで分析を実行すれば、遠隔ハッキングのリスクは低くなります。

Nvidia と Movidius はどちらも、ディープラーニングがコンピューティングにおける「次の大きなトレンド」であることを認識しています。そのため、Nvidia は新世代ごとに GPU をディープラーニング向けに最適化しており、Movidius はディープラーニングやその他のビジョン指向のタスク専用のプラットフォームを開発しました。

クラウドベースのディープラーニングが今後数年間で急速に成長すると予想されるのと同様に、コンピュータービジョンを通じて周囲の状況をより深く認識するデバイスが増え、その情報を迅速かつインテリジェントに、電力効率の高い方法で処理する必要が生じるにつれて、ディープラーニングを採用する組み込みチップも増えていくでしょう。

ルシアン・アルマスはTom's Hardwareの寄稿ライターです。  @lucian_armasuでフォローできます 

ルシアン・アルマスは、Tom's Hardware USの寄稿ライターです。ソフトウェア関連のニュースやプライバシーとセキュリティに関する問題を取り上げています。