KNOWLEDGE - COLUMN ナレッジ - コラム

AI処理を高速化する「NPU」とは

コラムイメージ

関連するソリューション

業務改革

AI

サイバーセキュリティ事業本部
サイバー・セキュリティ・ソリューション部      
テクニカルスペシャリスト  松岡 政之 matsuoka2_274x380

初めましての方は初めまして、お久しぶりの方はお久しぶりです。CSS部テクニカルスペシャリストの松岡です。
 
覚えている方がいらっしゃるか分かりませんが、こちらにコラムを執筆するのは、実に一年半ぶりとなります。AWSの記事を立て続けに書いていた者、と言えば思い出してくださる方もいらっしゃるでしょうか。
 
一年半何をしていたの?と思われる方もいらっしゃると思いますが、少し体調を崩していました。
詳細は伏せますが、ある日とんでもなく体調が悪くなり、いよいよ危険だと思い救急車を呼んだところ、そのまま緊急手術となり、しばらく入院していました。
 
幸いにも早期発見で問題なく回復しましたが、あとから調べてみると死亡率が20%前後と言われていて驚きました。
健康診断では、万年ほぼAの健康優良児のつもりでしたが、人生何があるかわかりませんね。皆様も健康には気をつけましょう。
 
なにかあれば、ITシステムやセキュリティについて、弊社のような専門家に頼むのと同じように、体のことは病院に行ってプロの目で見てもらいましょう。
本当に危険だと思ったら躊躇わずに救急車を呼ぶことも必要ですね。

はじめに

それでは本題です。皆様、AIは使っていますでしょうか?
 
私自身はAIの専門家ではないので、ここでいうAIの正確な定義などはいったん置いておきますが、ChatGPTやCopilotにいろいろなことを尋ねたり、画像を生成したり、写真から不要なものを取り除いたり、いろいろなところでAIが使われているので、お世話になっている方も多いかと思います。
 
私も、弊社のID AIコンシェルジュやMicrosoftのCopilot等に、時々お世話になっています。
というわけで、私も少し流行りに乗って、AIにまつわるお話をしていきたいと思います。
ID AIコンシェルジュ

NPUとは?

さて、AIを使用するにあたって、なにかがその処理を担う必要があります。
通常汎用的な処理ではCPU(Central Processing Unit)、画像処理に関しては、GPU(Graphics Processing Unit)が広く使用されています。
 
では、AIの計算処理の場合はどうでしょうか?
CPUやGPUは勿論使用されていますが、最近のパソコンやスマートフォンでは、そのCPUにNPUと呼ばれるものが搭載されているものが増えてきてきます。
 
NPUとは、Neural Processing unitの略称で、AIが行う推論処理を専門で行う処理装置です。
NPUという単体の製品を売っているのではなく、CPUに搭載されているというところがミソですが、詳細については後ほど触れていくことにします。

NPUはどこで使われているの?

では、NPUがどんなところで使われているかについて触れる前に、AIの処理がどこで行われているか気にしたことはありますでしょうか?
 
ChatGPTやStable Diffusionに代表される、生成AIなどの重い処理は専用のデータセンターで処理が行われており、我々はWeb UI等で質問やプロンプトを送信して、その処理結果を受け取っているだけ、というのは分かりやすいところだと思います。
 
例外として、手元のGPUを使って、簡単な生成AIの利用環境等をローカルで構築している方もいらっしゃるかもしれませんが、大規模な処理を行いたい場合は、データセンターに任せるのが一般的です。
 
余談ですが、自宅のパソコンでStable Diffusionを使った画像生成がどんなものか試してみましたが、昨年末に買った8万円程度のグラフィックボードを使用しても、あまり大きな画像の生成には向きませんでした。
 
話を戻しますと、こういったデータセンターでは、大量のGPUがAIの処理のために使用されています。もはやGPUとは名ばかりで、データセンター向けにグラフィック出力機能を持たず、計算処理に特化した製品も多く作られています。
 
こういった場面でGPUが多用されているのは、汎用的な処理が可能なCPUと比較して、単純な計算なら一度に大量に効率よく処理が可能、という特性によるものですが、詳細については今回割愛します。
                                                                   
あれ、NPUじゃないんだ?と思われた方もいらっしゃるかと思いますが、NPUはもう少し小規模で、用途を特化したものになっています。
では、どういうところで使われているかというと、Web会議で背景をぼかしたり、スマートフォンのカメラで撮影する際に、画質改善処理を行ったりと、比較的軽量かつ即応性が求められるような処理です。



こういった処理については、いちいちデータセンターに問い合わせて、その応答を待っていては遅いので、我々の手元のパソコンやスマートフォン上(エッジと呼ばれたりします)での素早い処理が必要になります。
 
このような場合については、従来はエッジ側のCPUやGPUで処理が行われていましたが、最近ではNPUがその処理を担うようになってきました。
 
では、なぜNPUが使われるようになってきたのでしょうか。

NPUがあると何が嬉しいの??

先ほど、Web会議での背景ぼかしやスマートフォンのカメラの例を挙げましたが、そのほかにも我々の身近なところでAIが活用されている例が、近年増えてきています。
そんな増大する処理をCPUやGPUに任せていると、操作感がもっさりしたり、ほかのアプリケーションの動作にも影響を与えたりしてしまいます。
 
そこで、そういった処理をNPUに任せることで、CPUやGPUが行うほかの処理に影響を与えることなくAIの処理を行うことができます。
また、NPUはAI処理に特化しているため、CPUやGPUと比べて、効率よくAI処理を行うことができます。
 
そのため、AI処理に限っては、より少ない消費電力・発熱で高速に行うことができます。AI処理が高速化されることで、エッジにおいて即時性が求められるアプリケーションでのAI利用が可能になってきます。
 
このように、昨今増大してきているエッジでのAI処理に対して「CPU/GPU負荷の低減」と「AI処理の効率化」が行える点が、NPUが使われるようになってきた背景として大きいでしょう。

どんな製品があるの?

ここまでで、NPUがCPUに搭載されているということはご理解いただけたと思いますが、具体的にどういった製品に搭載されているか、少しご紹介したいと思います。
 
まずは、iPhoneのCPUであるA18やA17です。こちらには、Nural Engineという名称でNPUが搭載されています。
そして、Androidスマートフォンでも、Snapdragonに代表されるCPUでNPUが搭載された製品が発売されています。
 
パソコンの世界でも、Intel のCore UltraやAMDのRyzen AI等でNPUが搭載されています。
NPUの処理性能を測る尺度として、「TOPS(Tera Operations per Second)」 (1秒間に何兆回の演算が行えるか)が使用されています。最新のRyzen AI 9 HX370に搭載されているNPUでは、50TOPSにも達しており、今後もNPUの性能は伸びていくものと思われます。

最後に

今回、AI処理に特化したNPUという処理装置についてご紹介しました。
 
一般的には、CPUについても、今使っているパソコンはi7が使われているといった程度で、具体的にどういった性能の物が使われているか気にしたことがある方は少ないかと思います。
 
スマートフォンに関してはなおさらで、CPUの型番はおろか、i7のようなシリーズ名も知らない方が大多数でしょう。
NPUについても同様に、その存在すら知らなかったという方も多いのではないでしょうか。
 
ところが、最近はスマートフォンの機能などで、AIを強調したものが増えてきており、NPUの重要性は今後も高まっていくものと推測されます。
 
パソコンやスマートフォンを購入する際に、「そういえば、これはどのくらいの性能のNPUが搭載されているんだろう?」と、NPUに目を向けてみるのも面白いかもしれませんね。

当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。

エンジニアによるコラムやIDグループからのお知らせなどを
メルマガでお届けしています。

メルマガ登録ボタン


松岡 政之

株式会社インフォメーション・ディベロプメント サイバー・セキュリティ・ソリューション部 テクニカルスペシャリスト

この執筆者の記事一覧

関連するソリューション

業務改革

AI

関連するナレッジ・コラム

DX関連コラム

AI/SDNの協奏 ~インテントベースで進化するネットワーク管理

ITサービス管理の新指標~XLAの可能性とは