AI用プロセッサ?NPU(Neural Processing Unit)ってなに?

AI用プロセッサ?NPU(Neural Processing Unit)ってなに?

NVIDIAがAI開発の半導体を牛耳り大儲けしている裏で、CPUもAI用にプロセッサが開発され、各ブランドに搭載され始めているのを知りました。そのAI用のプロセッサであるNPU(Neural network Processing Unit)について調べました。

NPU(Neural network Processing Unit)とは

NPUは人工知能やディープラーニングなどのニューラルネットワーク処理をハードウェアで高速に処理するために設計された専用のプロセッサです。GPU(Graphics Processing Unit)やCPU(Central Processing Unit)と比較して、AIの推論処理に特化した設計になっているため、より高速で効率的な処理が可能です。

NPUは通常、以下のようなタスクに特化しています

  • 機械学習アルゴリズムの高速化:深層学習モデルやニューラルネットワークの演算を効率的に実行します。これには、行列演算や活性化関数の計算などが含まれます。
  • エッジデバイスでの利用:スマートフォン、カメラ、自動運転車両など、エッジデバイスでの機械学習タスクの高速処理に活用されます。これにより、リアルタイムでの画像認識や音声処理が可能になります。
  • エネルギー効率の向上:従来の汎用プロセッサに比べ、NPUは機械学習タスクを高速かつ効率的に処理することができます。そのため、エネルギー効率が向上し、バッテリー駆動デバイスでの利用が可能になります

NPUは当初はデータセンター向けに使われていましたが、近年ではスマートフォンにも搭載されるようになり、写真の認識や音声認識などのオンデバイスAI処理を実現しています。

スマホからPCへ

NPUは、スマホのプロセッサで一般に出ていました。2017年にAppleがiPhone 8シリーズやX用のA11BionicにNeutral Engineを初めて搭載。Googleは2017年に提供されたPixel 2からPixel Visual Coreを出しており、QualcommのSnapdragonも2016年に登場したSnapdragon 820からNPUをサポートしています。

  • Google – Tensor Processing Unit (TPU):2016年に発表。TPUは、Googleの機械学習ワークロードを高速化するために設計された専用ハードウェアです。Google Cloudで利用可能であり、機械学習タスクの高速化や推論に使用されます。
  • Apple – Neural Engine:2017年に導入を開始。これは、iPhoneやiPadなどのデバイスで機械学習タスクを高速化するために使用されています。例えば、写真の撮影時の画像認識や、顔認識、言語処理などに活用されています。
  • Huawei – Kirin NPU:2017年にKirin NPUを発表。Huaweiのスマートフォンや他のデバイスで機械学習タスクを高速化するための独自のNPUです。画像認識、音声処理、デバイスの最適化などに使用されます。
  • Qualcomm – AI Engine:Snapdragonプロセッサの一部としてAI Engineを導入。スマートフォンやエッジデバイスでの機械学習タスクを処理するための専用ユニットで、。画像処理、音声認識、センサーデータの処理などに利用されています。

NPUがCPUに統合される歴史は比較的新しいものです。2020年にMac用として AppleのM1が登場したほかスマホのプロセッサ技術をモバイルへ移行させてきており、IntelもCore UltraとしてNPU搭載CPUを前面に押し出しています。

  • Apple – Apple M1シリーズ:Appleは、自社設計のApple M1チップでNPUを統合しています。このチップは、MacBook AirやMacBook Pro、Mac miniなどの一部のMacコンピュータに搭載されており、機械学習タスクの高速処理に特化しています。
  • Qualcomm – Snapdragon 8cx Gen 3:QualcommのSnapdragon 8cx Gen 3は、モバイル向けのプロセッサであり、機械学習タスクのためのAIエンジンが組み込まれています。これにより、PCやノートブックでの機械学習タスクを高速化できます。
  • Intel – Intel Coreプロセッサ (一部のモデル):Intelは、一部のモデルで機械学習タスクに特化した機能を提供しています。特に、IntelのGNA(Gaussian and Neural Accelerator)は、一部のCPUに組み込まれており、機械学習タスクの高速化を目指しています。また、開発コードネームMeteor Lakeで開発してきた最新SoCを、「Core Ultra」として発表しています。

新たな性能比較軸のNPU

エッジAI

これまでNPUは写真の認識や音声認識などの利用で活用されてきました。画像認識、音声認識、自然言語処理これらのアプリケーションは、いずれも機械学習の推論処理を必要とします。そのため、スマホでのNPUは、これらのアプリの処理を高速化するために使用されます。

こういったエンドデバイスの端末側でAIの推論処理を行うことをエッジAI処理といいます。

今後性能面でうたわれるNPUは、従来はCPUやGPUで行なわれていたエッジAI処理を専門に行なうプロセッサになる為。AI推論処理をCPUやGPUに比べて圧倒的に高い電力効率で実行できることにあります。

エッジAIのメリット

現状としてはNPU対応のアプリはまだ少なく、CPU/GPUでAI処理を行なっているアプリケーションがほとんどですが、今後増加する可能性は大いにあります。

既存のCPU/GPU処理に重きを置くアプリケーションと、AI処理に重きを置くアプリとの組み合わせが増加していきます。既存のサービスをアプリごとにバラバラに処理するのではなく、1つのアプリ内で処理できるようになっていきます。MicrosoftのCopilotは既存のofficeアプリにAIでのサポート機能があり、この機能をNPU処理に任せることでさらに効率よく運用できます。

エッジAIのメリットとしてクラウドの介入による遅延がありますが、これが端末内でできれば、時短、通信データ問題、セキュリティ問題の解決になります。

まとめ

NPUとはもともとスマホに搭載されたプロセッサで、ニューラルネットワーク処理が得意。

近年CPUに搭載されたモデルが出てきている。

PCで「スマホが得意だったAI処理がしやすくなる」が売りのNPU搭載モデル