トピック
AIアプリ活用のカギはCPU、GPU、NPUそれぞれへの最適化
~なぜ今がAI PC向けアプリ開発スタートアップに好機なのか
- 提供:
- インテル株式会社
2024年6月3日 06:30
NPUを搭載してAI推論処理性能を強化したCore Ultraプロセッサー
AIへの関心が日増しに高まりつつある。すでにOpenAIのChatGPT、MicrosoftのCopilot、GoogleのGeminiなどのクラウドベースAIがなかば当たり前のように一般的に使われるようになっている。だが、これらクラウドベースのAIには、データをクラウドにアップロードしなければならないというセキュリティ上の懸念と、処理を依頼してからその結果が帰ってくるまでの待ち時間が長いなどの課題がある。
その解決手法として、ローカルでのAI処理に注目が集まっているわけだが、そういったAIアプリ/サービスを開発する企業(ISV)にとっては今が好機と言える。なぜか? それは、高いAI性能を持つ「AI PC」が続々登場しているからだ。
AI PCの中核となるのは、そのプロセッサ。AI PC向けとして登場したインテルCore Ultraプロセッサーでは、従来のCPUとGPUに加え、AI専用プロセッサとなるNPUを搭載。いずれもがそれぞれの得意領域においてAI処理を受け持つ構造となり、AIアプリケーション実行時の性能/効率を高めている。逆に言うと各種AI処理ではNPUだけ利用するのではなく、CPU/GPUもうまく活用する必要がある。
CPU | GPU | NPU | |
---|---|---|---|
特徴 | 逐次処理が得意、低レイテンシ | 並列処理が得意 | AI処理に特化 |
性能 | 高い | 高い | AI処理に特化して高い |
消費電力 | アイドル時は低いが、負荷が高まると高い | アイドル時は低いが、負荷が高まると高い | CPUやGPUに比べると低い |
ISVがハードウェアに最適化したソフトウェアを開発するにあたり、重要なことが2つある。1つは標準APIだ。
標準APIの重要性を理解するには、GPUを例にして考えるのが分かりやすいだろう。GPUで処理を行なう場合、MicrosoftがWindowsでサポートしている「Direct Compute」や、GPUメーカーがドライバレベルで実装している「OpenCL」などの標準APIを利用する。APIがハードウェアを抽象化するため、どんなハードウェアであっても標準APIを使って実行できるようになることがメリットだ。実際、多くのPCゲームが、Direct3Dに対応させることで、どのメーカーのGPUでも動作するという現状を見れば明らかだろう。
NPUやGPUを利用したAI処理でもそれは同様で、MicrosoftはNPU/GPU向けにDirectMLという標準APIを規定している。また、インテルCore Ultraプロセッサーについては、Windowsで今後標準的なAIフレームワークとして活用される「ONNX Runtime」向けに、OpenVINOを利用した「OpenVINO-EP」が用意されており、インテル製GPU、NPU経由でONNX Runtimeを容易に活用できる。
NPUについては、「MCDM KMD」というWindowsドライバモデルが用意されており、NPUが仕様通りに対応していると、タスクマネージャに「NPU」というタブが追加され、NPUの利用状況を確認できる。
インテルはすでにインテルCore Ultraプロセッサー内蔵NPU用MCDM KMDを提供している。今後、NPUドライバのアップデートで、その性能や機能を高めることができる。GPUドライバがグラフィックス性能に影響を与えるのと同じようなものだ。そういう点から、ISVやユーザーにとって、NPUドライバがきちんと提供されているかどうかも重要なポイントとなる。
また、ISVにとっては、そうしたハードウェアへの最適化をより簡単にできる「開発キット」の存在も重要だ。というのも、開発キットを利用することで、簡単にハードウェアへの最適化を容易に行なえるからだ。
インテルは、C++を利用してコード記述からコンパイルまで可能な「インテルC++コンパイラー」や、「インテルVTuneプロファイラー」のようなインテル製ハードウェアに最適化を行なうツールを古くから提供してきた。また、近年ではデータセンター向けに「oneAPI」と呼ばれる、CPU、GPU、FPGAなどのハードウェアを統合的に扱える開発キットを提供している。
そして、AI推論処理向けには「OpenVINOツールキット」(以下OpenVINO)も用意されている。OpenVINOの特徴は、インテルのCPU、GPU、NPUという3つの種類のプロセッサをシームレスに扱える点にある。
OpenVINOは、2018年から提供開始されており、多くのISVが利用している。AI PCが登場したことで今後NPUの装着率が高まれば、ISVにとってはNPUに対応する必要性も高まることになるが、OpenVINOを利用して開発しておけば、その対応は容易となる。
また、インテルでは、「AI PC Garden」と呼ばれるAI PC開発ISV向けに情報を提供するコミュニティ活動も積極的に行なっている。こういった場を活用することで、AIアプリ開発のための情報により迅速にアクセスできるだろう。
既に多数登場しているローカルAI処理アプリ
ここまではAIアプリ開発者向けの解説を行なってきたが、AI対応アプリを利用することで、作業をより効率化したいと考えるユーザーにも実はすでに多数のAI PC向けアプリが登場していることも見逃せない。
AIアプリケーションの最適化を行なっているISVの数は既に100を超えており、2024年中にはそれが300を超える見通しだ。インテルは2025年までにAI PCの出荷台数が1億台を超えると予想している。インテルCore Ultraプロセッサーの出荷数は、発表からわずか半年の5月時点で700万ユニットを超えており、目標に向けて順調なスタートを切っている。
では、すでに利用可能なインテルCore Ultraプロセッサー搭載AI PC向けアプリの一例を紹介しよう。
Windows Studio Effects
Windows Studio Effectsは、Windows 11に標準で搭載されている機能で、Webカメラに各種エフェクトを追加する。TeamsやZoomなどでビデオ会議をする時、Windows Studio Effectsを使って背景のぼかしや、自動フレーミング、視線をカメラ方向に補正する「アイ コンタクト」の機能を利用できる。
TeamsやZoomに搭載されている背景のぼかしでも同じ事はできるが、その場合はCPUを使うため、バッテリ駆動時間が短くなってしまう。しかし、NPUを利用するWindows Studio Effectsの場合は、バッテリ駆動時間への影響を最小限に抑えることが可能だ。外出先でビデオ会議が多いユーザーにとっては大きなメリットと言える。
Adobe Creative Cloud
クリエイター御用達と言っていいアドビもAIを活用した機能を積極的に採用しており、時間のかかる作業をAIに肩代わりさせることで、クリエイターの生産性を上げることを狙っている。Photoshopであれば、従来は手作業で行なっていた被写体の切り抜きを、AIが瞬時に行なえるようになっている。
Adobeは早い時期からGPUへのオフロードを行なってきており、Photoshop、Premiere Pro、Lightroomといった主要アプリでGPUのアクセラレーションを利用できるようになっている。
たとえばLightroomでは、RAW画像のノイズ除去機能が従来はCPUだけで行なっていたAI推論の処理をGPUへオフロードできる。インテルCore Ultraプロセッサーに内蔵されているインテルArc GPUを活用した場合、前世代のGPUと比較して50%の時間短縮を実現することが可能だ。
Premiere Proでは「シーン編集の検出」という機能でGPUを使って処理時間を短くすることができる。動画編集の最初の作業としてシーンが変わる箇所を探していくことがあるが、特に長時間の動画だと時間がかかる作業だ。シーン編集の検出を使うと、それをAIが瞬時に行なってくれる。
Premiere Proだけでもこれ以外にもAIを使って作業時間を短縮できる機能が多数実装されている。
GIMP x OpenVINO Stable Diffusion Plugin
GIMP(GNU Image Manipulation Program)は名称からも分かるように、GNU GPL(General Public License)というオープンソースライセンスに基づいて無償で配布されている画像編集ツールだ。
GIMPにはプラグイン機能があり、「Stable Diffusion」を利用できるようにする「OpenVINO AI Plugins for GIMP」というプラグインもある。Stable Diffusionは画像生成AIとして最も人気があるサービスの1つだが、それをローカルで実行できるわけだ。また、単体GPUを搭載しないモバイルノートであっても、インテルCore UltraプロセッサーのCPU、GPU、NPUをフル活用して処理できるのもメリットだ。
導入方法についてはインテルが動画を公開しているので、そちらを参照してほしい。
iQIYI
中国の動画配信サービス事業者「iQIYI」(アイチーイー)は、主に中国語圏に向けてビデオコンテンツの配信を行なっており、Windowsプラットフォーム向けにもMicrosoft Storeでアプリを配布している。現時点では中国語版アプリのみだが、AI機能としてジェスチャー機能が搭載されている。
インテルCore Ultraプロセッサーを搭載したノートPCでは、動画の再生中にカメラに向かってジェスチャー操作することで動画を停止したり、再生したりできる。これは映像認識により実現されている機能だが、処理をNPUにオフロードすることで、CPUに負荷をかけることなく高度な機能を実現している。
Bufferzone Safe Browser: Anti-phishing NoCloud AI Inference
AI機能のメリットはクリエイティビティやエンタメだけでなく、セキュリティ分野にもある。年々マルウェアは巧妙になっており、ユーザーが気がつかない間に感染する例が増えている。そういったマルウェアの検知にもAIは役立つのだが、常にCPUで処理していたのではシステム負荷がかかる。そこで、インテルCore Ultraプロセッサーでは、そうした処理をNPUにオフロードさせる。
もちろん、この機能を利用するには、ソフトウェア側の対応が必要で、現時点ではBufferzoneの「Safe Browser: Anti-phishing」というセキュリティソフトウェアが対応している。
同様のNPUを利用したセキュリティソフトウェアとしては、クラウドストライク、マカフィーが対応の意向を表明している。今後、セキュリティ分野でのCPUからNPUへとオフロードは当たり前のものとなっていくだろう。
AIは各プロセッサの効果的な活用がキー
このほかにも、音楽編集ソフトの「Audacity」は、CPU、GPU、NPUを活用し、処理を高速化。動画編集ソフトの「Wondershare Filmora」も、CPU、GPU、NPUを活用し、前世代と比べて最大13%の性能を実現。画像編集ソフトの「Luminar Neo」は、16個のAI機能についてGPUに最適化。映像ソフト「XSplit Vcam」は、AIを使った背景除去機能についてNPUに最適化。
また、Black Magic Designのソフト、Zoom、Cyberlinkの「Power Director」と「Photo Director」などのソフトもインテルCore Ultraプロセッサーに最適化されたAI機能を搭載している。
まだ開発中ではあるが、Stable Diffusionを手がけるStability AIの日本語大規模言語モデルである「Japanese Stable LM 7B」がインテルCore Ultraプロセッサーに最適化されている点も見逃せない。
このように、既に多くのアプリケーションが、インテルCore Ultraプロセッサーに最適化されている。ここで重要なのは、各アプリが用途に応じて、CPU、GPU、NPUを使い分けている点だ。
インテルCore Ultraプロセッサーでは、NPUを搭載した点が注目された。これにより、たとえば前述のようにビデオ会議での背景ぼかしをシステムへの負荷をかけずに行なえ、バッテリ駆動時間を延ばすことができる。
その一方で、特にクリエイティビティ系アプリでは、システムリソースをフルに活用してでも処理時間を短くしたいというニーズがある。そういったアプリではNPUよりもGPUを使った方が効果的だ。
アプリ名称 | GPU | NPU |
---|---|---|
Windows Studio Effects | - | ○ |
Adobe Premiere Pro | ○ | - |
Adobe Lightroom | ○ | - |
Adobe Photoshop | ○ | - |
Black Magic Design | ○ | - |
Wondershare Filmora | ○ | - |
Gimp x Stable Diffusion Plugin | ○ | ○ |
Cyberlink Power Director | ○ | - |
Cyberlink Photo Director | ○ | - |
iQIYI | - | ○ |
Luminar Neo | ○ | - |
XSplit Vcam | ○ | ○ |
CrowdStrike Falcon | ○ | ○ |
Bufferzone | ○ | ○ |
Microsoft Defender for Endpoint | ○ | - |
上記の表は、各種アプリがGPUとNPUのどちらを使っているかを示したものだ。必ずしもすべてのアプリがNPUを利用しているわけではない。つまり、ユーザー視点から言うと、AI PCを選ぶとき、NPUの存在は重要だが、同様にGPUも重要だということだ。そういったバランスを重視して開発されたのがインテルCore Ultraプロセッサーと言える。