本記事は全4回のシリーズ記事「Intel Core UltraのNPUで実現するAIモデル」の第1回です。
第1回 CPU附属のNPUを使うには
第2回 OpenVINOを使ったNPU推論
第3回 色々なCNNをNPUで実行する
第4回 OpenVINOモデルの量子化
近年、AI技術の進化に伴い、ローカル環境で大規模言語モデル(LLM)を実行するニーズが急速に高まっています。特に、Copilotのような生成AIツールの普及によって、オンデバイスでの高速かつ効率的なモデル推論が求められる場面が増えています。この流れを受けて、CPUにニューラルネットワーク専用プロセッサ(NPU)を統合した製品が続々と登場しています。
現在、市場で注目されている主要なNPU搭載CPUは以下の3つです:
- Core Ultra(Intel)
- Ryzen AI(AMD)
- Snapdragon(ARM)
2025年1月現在のNPUの性能は約45TOPS(Tera Operations Per Second)とされており、リアルタイムなAI処理が可能なレベルに達しています。ただし、NPU性能においては、AMDの「Ryzen AI」やARMベースの「Snapdragon」が先行してますが、今回はIntel製のCPUで検証していきたいと思います。
本記事では、Intel Core™ Ultraに統合されたNPUの実力を検証し、ローカルでAIモデルを動作させるための方法やその可能性を探っていきます。
Intel Core Ultraシリーズについて
Intel Core Ultraシリーズは2023年度から発売したNPU搭載のプロセッサ(CPU)です。 これまでのCore iシリーズの新しいナンバリングで現在200番台まであり、それぞれは以下のような特徴があります。
- 100(Meteor Lake)シリーズ
- TOPSの記載なし
- 200S(Arrow Lake)シリーズに搭載されているNPUは同一のものでNPU性能は13TOPS
- 性能はCore ultra9 200Sで45TOPS
- ただし45TOPSはNPU+iGPU+CPUの処理性能合計
- Int8, FP16, FP32に対応
- NPU名は「intel AI Boost」
- Core ultraのnpu部単体では10~15TOPS
- 性能はCore ultra9 200Sで45TOPS
- 200V(Lunar Lake)シリーズ
- NPU部のみで48TOPSと高性能
- 提供形態はノートPC用SoC
公式サイトなどで謳っている45TOPSの処理性能というのは、NPU+iGPU+CPUの合計であることに注意が必要です。最新の200VシリーズでCopilot PCの要件である「NPU単体で40TOPS以上」という条件を超えてきた訳ですが、こちらはノートPC用の組み込み型SoCなので、ノートPCごと購入するしか入手手段はなさそうですね。
本記事の検証で使用するCPUは以下になります。 内蔵GPU(iGPU)が付いていないタイプのため、iGPUとの比較が出来ないことが残念です。
- Core Ultra 7 プロセッサー 265KF(200S Arrow Lakeシリーズ)
- KFシリーズは内蔵GPUなし
- CPUの仕様
- 20core 20thread
- NPUの仕様
- 13TOPS
NPUを扱うためのSDK
NPUを使用してAIモデルを推論するためには、対応するSDKを使用する必要があります(一般的にNPUは推論用デバイスのため、AIモデルの学習は出来ません)。 Intel NPU対応のSDKはいくつかあるようで、それらの一覧を以下にまとめます。
- intel-npu-acceleration-library
- IntelのNPUをPythonから使うためのライブラリ
- 実行環境はWindows
- OpenVINO
- マルチプラットフォーム(Windows, Linux)
- インテルのCPU、GPU、NPUという3つの種類のプロセッサを扱える
- 対応言語:python, C++, C
- DirectML
- マイクロソフトが提供しているためWindows特化
- AMD、QualcommのNPU付きプロセッサでも動作する
- ONNX Runtime
- 推論の実行バックエンドをOpenVINOに変更することができるため、ONNXで実装されている場合ソースコードの変更をほとんど必要なく実装することが出来る
SDK | 主な特徴 | デバイス間の柔軟性 | プラットフォーム |
---|---|---|---|
Intel NPU Acceleration Library | NPUの高効率な利用に特化 | 低い (NPU専用) | (おそらく) Windows |
OpenVINO Toolkit | 総合的なデバイス対応、マルチプラットフォーム | 高い (CPU/iGPU含む) | Linux, windows |
DirectML | AMD、Intel、Qualcommのデバイス間の差異を吸収 | 高い (CPU/GPU含む) | Windows |
ONNX Runtime | Linux, Windows | 高い (CPU/GPU含む) | Linux, Windows |
今回はLinuxで扱いたいということと、細かいパラメータなども見ていきたいので、OpenVINOを使用していきたいと思います。
次の記事からOpenVINOを使ったNPU推論のやり方について見ていきたいと思います。