本記事は、当社が実機で行った生成AI評価の初回計測の記録です。数値は1機種・1モデル(Llama-3.2-1B)・各条件3回の中央値で、出力精度の比較は含みません。結論として扱える範囲と扱えない範囲を、後半で分けて示しています。
NPUは速いのか、省エネなのか
ノートPCやミニPCに、CPU・GPUに加えてNPU(Neural Processing Unit、AI処理専用の演算器)が載るのが当たり前になってきました。「AI PC」という言葉とともに、ローカルでLLM(大規模言語モデル)を動かす話題も増えています。
一方で、いざ案件の機種選定をしようとすると「NPUで動かすと結局GPUより速いのか」「省電力というのは実際どのくらいなのか」に答える数字が、意外と手に入りません。カタログのTOPS値は、実際のLLMの動作速度や消費電力とは別物だからです。
そこで当社は、手元の実機で同じモデルを、同じ条件で、NPU・Hybrid・iGPUの4構成に載せて測ることにしました。本記事はその初回計測の結果と、測る過程で踏んだ落とし穴の記録です。
評価機・4つの構成・計測のやり方
評価機
- 機種——GMKtec NucBox EVO-X2(ミニPC)
- CPU / NPU——AMD Ryzen AI Max+ 395(NPUはXDNA 2世代)
- iGPU——AMD Radeon 8060S
- メモリ / OS——64GB(CPU・GPU・NPUで共有するユニファイドメモリ) / Windows 11 Pro
比べた4つの構成
実行の入口にはLemonade Serverを使いました。OpenAI互換のAPIの裏側で、NPU・iGPU・CPUの各バックエンドを切り替えられるため、同じ計測プログラムから4構成を同じ手順で呼び出せます。「機材ごとに違う計測ツールで測って、条件が揃っていなかった」という事態を避けるのが狙いです。
| 構成 | 実行先 | ランタイムとモデル形式 |
|---|---|---|
| NPU (OGA) | NPU | AMD公式のONNX系ランタイム(OGA)。AMD配布のONNXモデル |
| Hybrid (OGA) | NPU + iGPU | 同じOGAのHybrid版。処理をNPUとiGPUで分担 |
| NPU (FastFlowLM) | NPU | OGAとは別実装のNPU用ランタイム。独自のモデル形式 |
| iGPU (Vulkan) | iGPU | llama.cppのVulkanバックエンド。GGUF形式 |
計測の条件
- モデル——Llama-3.2-1B-Instruct(全構成で同一モデル)
- 入力——短文(約64トークン)と長文(約2,500トークン)の2種類。各128トークンまで生成
- 持続生成——短い入力から最大512トークンまで生成させ、消費電力はここで見る
- 再現性——temperature 0、各条件3回の中央値、ウォームアップは本番と別の入力、プロンプトキャッシュは無効
指標は4つです。TTFT(Time To First Token、入力してから最初の1文字が出るまでの時間)、生成速度(1秒あたりのトークン数、tokens/s)、平均電力、そして1トークンあたりの正味エネルギー(J/token)です。
消費電力の測り方
外部の電力計は使わず、Windows標準のEnergy MeterカウンターからSoCパッケージ(CPU・iGPU・NPU)の累積エネルギーを読みました。生成の前後の差分が、その区間に使われたエネルギーです。DRAMやディスプレイの電力は含まれません。
ただし、何もしていなくてもPCは28〜32Wほど消費します。NPUの上乗せ分は数Wしかないので、そのまま比べると差が見えません。そこで、計測前に測ったアイドル電力を差し引いて「正味」を出しています。
正味エネルギー [J/token] =
( 区間エネルギー [J]
− アイドル電力 [W]
× 経過時間 [s] )
÷ 生成トークン数
結果:速度と消費電力を並べて見る
4構成の結果を並べます。生成速度・平均電力・正味J/tokenは、512トークンまで生成させた持続生成の値です。
| 構成 | 短文TTFT (秒) | 長文TTFT (秒) | 生成速度 (tok/s) | 平均電力 (W) | 正味 (J/token) |
|---|---|---|---|---|---|
| NPU (OGA) | 0.39 | 1.63 | 42.2 | 34.1 | 0.09 |
| NPU (FastFlowLM) | 0.47 | 1.40 | 50.6 | 39.0 | 0.20 |
| Hybrid (OGA) | 0.47 | 1.35 | 80.1 | 69.8 | 0.53 |
| iGPU (Vulkan) | 0.04 | 0.44 | 120.1 | 76.4 | 0.41 |
アイドル電力は構成ごとに計測前に測っており、28〜32Wでした。数字から、はっきり言えることを3つ挙げます。
- 速いのはiGPU——生成速度はVulkanがNPU単体の約2.4〜2.9倍。短文のTTFTは約10倍速く、長文でも約3〜3.7倍速い結果でした
- 電力が小さいのはNPU——生成中の平均電力はNPU構成が34〜39Wで、アイドルからの上乗せは約4〜10W。HybridとVulkanは70W前後で、上乗せは約38〜48Wです
- 1トークンの正味エネルギーはNPU (OGA)が最少——0.09 J/tokenはVulkan(0.41)の約1/4。この差は計測のゆらぎより十分に大きい値です
数字から読み取れる使い分け
今回の1Bクラスでは、NPUは「遅いが低電力」、iGPUは「速いが高電力」というトレードオフがきれいに出ました。ここから、用途ごとの目安が見えてきます。
- 応答の速さが最優先(対話UI、長い入力の要約など)——iGPUが有利です。長文の入力でNPU(OGA)は1.6秒かかるところ、Vulkanは0.4秒で最初の文字を出しました
- 常時稼働・バッテリー駆動・GPUを他の処理に空けたい——NPUが向きます。生成が続いてもアイドルからの上乗せが約4〜10Wで済みます。ただし生成は毎秒40〜50トークン程度で、人が読むには十分でも大量処理には不向きです
- Hybridは今回の条件では中途半端——速度はNPU単体の約1.9倍まで上がりますが、電力は約2倍に増え、1トークンあたりのエネルギーはVulkanより悪い結果でした
つまり「NPUを使えば何でも省エネ」でも「NPUはGPUより遅いから使えない」でもなく、何を優先する用途かでNPUが効く場面がある、というのが今回の素直な読み方です。
計測の落とし穴と未判定の点
結果の表に至るまでに、結果が大きく狂う落とし穴がいくつもありました。同じ測り方をする方の参考になるよう残しておきます。
落とし穴1:プロンプトキャッシュで長文TTFTが過小になる
最初の計測で、iGPU(llama.cpp)の長文TTFTが0.027秒と出ました。約2,500トークンの入力を読み込む時間としてはあり得ない値です。同じ入力を繰り返したため、プロンプトキャッシュが効いて入力処理が丸ごと省かれていました。キャッシュを無効にし、ウォームアップには本番と別の入力を使うことで解消しています(修正後は0.44秒)。
落とし穴2:ほかの重い処理が走ると、数字が別物になる
計測中に、同じPC上で別の重い処理が動いていた時間帯がありました。このPCはメモリも電力もCPU・GPU・NPUで共有するため、影響をまともに受けます。たとえばその回のiGPUは、アイドル電力が通常の約2倍の63W、生成速度は75 tok/sまで落ちました。FastFlowLMも、正味J/tokenが0.20から1.18に跳ね上がっています。
対策として、計測の前後でアイドル電力を測り、15%以上ずれた回は「干渉あり」として結果から外し、測り直すようにしました。結果の表は、この基準を通った回だけを使っています。
まだ言えないこと
- NPU同士(OGAとFastFlowLM)の電力の優劣——アイドル電力が±5W程度ゆらぎ、NPUの正味の電力(数W)と同程度です。差し引きの結果が負になる回もあり、現時点では判定できません。静かな環境でアイドルを複数回測り、持続生成を長くする必要があります
- 出力の品質——精度の比較は未実施です。量子化の形式も構成ごとに違う(ONNX・独自形式・GGUF)ため、速度と電力の差の一部は形式の違いによる可能性があります
- 入力条件の違い——Hybridは、チャットテンプレートの違いで短文の入力トークン数が他構成(64)より少なく(34)なっています
- モデルサイズ——今回は1Bのみです。7B〜8B級など、より大きなモデルで同じ傾向になるかは別途確認が必要です
よくある質問(FAQ)
- Q. NPUはGPUより速いのですか?
- A. 今回のLlama-3.2-1Bでは逆の結果でした。生成速度はiGPU(Vulkan)が約120 tokens/s、NPU単体は約42〜51 tokens/sです。ただし1機種・1モデルの結果で、モデルの大きさやランタイムの成熟度によって変わる可能性があります。NPUの強みは速さではなく、低い消費電力にあります。
- Q. 消費電力はどうやって測りましたか?
- A. WindowsのEnergy Meterカウンターで、CPU・iGPU・NPUを含むSoCパッケージの累積エネルギーを読み、生成の前後の差分から求めました。計測前にアイドル電力を測って差し引き、1トークンあたりの正味エネルギーを出しています。DRAMやディスプレイの電力は含まず、外部電力計は使っていません。
- Q. この結果をそのまま機種やモデルの選定に使えますか?
- A. そのままの流用はおすすめしません。今回は1機種・1モデル(1B)の初回計測で、出力精度は未評価、NPU同士の電力の優劣も判定できていません。実際の用途に近いモデルと入力で、候補機を同じ手順で測るのが確実です。
まとめ
Ryzen AI Max+ 395上で同じLlama-3.2-1Bを4構成で測った結果、生成速度はiGPU(Vulkan)が約120 tokens/sでNPUの約2.4〜2.9倍、1トークンあたりの正味エネルギーはNPU(OGA)が約0.09 JでiGPU(Vulkan)のおよそ1/4でした。NPUは遅いが低電力、iGPUは速いが高電力という、はっきりしたトレードオフです。
もう一つの学びは、LLMの性能評価は測り方で数字が大きく変わるということです。プロンプトキャッシュ、ほかの処理の干渉、アイドル電力のゆらぎを管理しないと、NPUの数Wの差はすぐ埋もれてしまいます。カタログの数値ではなく、用途に近い条件で自分で測ることが、機種選定の近道です。
当社では、ローカルLLMやエッジAIの機種・モデル選定を、実機での計測にもとづいて支援しています。「NPU搭載機で何ができるか見極めたい」「自社データを外に出さずに生成AIを使いたい」といった段階のご相談も歓迎です。