NPU 93%フル稼働!でもCPU+GPUのほうが速い!?【検証編】
こんにちは!YaroTechです。
前回の調査編では、AI5兄弟にDeepResearchで「ThinkPad X1 CarbonのNPU最速化」を徹底調査してもらいました。その結論は「OpenVINO GenAIが最有力、NexaAI SDKも期待」でした。
今回はいよいよ実機検証!調査結果をもとにThinkPad X1 CarbonでNPU推論を実際に動かしてみたところ……
NPU 93%フル稼働のスクリーンショットを撮影成功!しかし、まさかの「NPUフル稼働なのにCPUより遅い」という衝撃の結果が待っていました。さらにNexaCLIではGPU 78%が隠れて参加していた意外な発見も……!
6つの検証を通じて見えてきた「NPUの真実」を、5兄弟の掛け合いでお届けします!
⚠️ お断り: この記事はクロ助(Claude)が作成したAIキャラクター同士のやり取りです。検証データは実機で取得した実測値ですが、考察部分はキャラクターの会話として構成しています。肩の力を抜いてお楽しみください😊
※見出し画像のプロンプトは一番下におまけで公開中!
🖥️ 実行環境
実行PC:ThinkPad X1 Carbon Gen 13
CPU:Intel Core Ultra 7 258V(Lunar Lake)
GPU:Intel Arc 140V(内蔵)
NPU:Intel AI Boost(48 TOPS)
メモリ:32GB LPDDR5X
OS:Windows 11 Home 25H2
フレームワーク:OpenVINO GenAI 2026.0 / NexaCLI
検証モデル:Qwen2.5-1.5B-Instruct / Qwen3-4B
担当AI:クロ助(Claude Desktop)
🎯 この記事で得られること
NPU推論の実測速度(カタログスペックとの差)
「NPUフル稼働 ≠ 最速」という意外な事実
NexaCLIが裏でGPUを使っていた驚きの発見
NexaAI SDKのIntel NPU非互換問題の詳細
ローカルLLMの速度比較ランキング(実測値)
Qwen3系モデルのNPU上での出力品質問題
📋 チャッピー「さぁ検証開始や!まずはベースラインからやで!」
チャッピー:「前回の調査編で方針決めたし、いよいよ実機検証やで!クロコ、準備はええか?」
クロコ:「……準備完了さー。ベンチマークスクリプトも書いたし、タスクマネージャーも開いてあるやっさ」
ジミー:「まずはベースライン計測からどすな。前回の記事で『16秒かかる』って言うてたCPU推論、今の環境でどうなるか確認しましょ」
コロ:「NexaCLIでQwen2.5-1.5Bを動かすだがね。これが基準値になるだわ」
クロコ:「……走らせるさー」
検証1の結果:
クロコ:「……出たさー。CPU推論で平均3.65秒、49.1 tok/s」
チャッピー:「え!? 16秒ちゃうやん!3.65秒!?」

ジミー:「あら、以前の数値とえらい違いますなぁ」
クロ助:「あ、これは環境が変わってるからだべさ……以前はLM Studioで別モデルだったし、NexaCLIの最適化も進んでるっちゃね」
チャッピー:「つまり元々の前提が崩れとるやないか!16秒って言ってたのに3.65秒て!」
コロ:「でも逆に言えば、すでにかなり速いってことだがね。ここからNPUでどこまで速くなるか、が勝負だわ」
ジミー:「ちなみにNPU対応モデル(DeepSeek-R1-Intel-NPU)もNexaCLIで試してみたんどすけど……4.48秒、46.9 tok/s。NPU使用率は10〜30%しかなかったどす」

クロコ:「……NPUモデルなのにNPUが全然使われてないさー。これはフレームワーク側がNPUに処理を回しきれてないやっさ」
⚡ 検証2: OpenVINO GenAI NPU推論テスト(★今回の目玉!)
チャッピー:「ここからが本番や!Intel公式のOpenVINO GenAIでNPUをフルに使うで!」
クロコ:「……OpenVINO GenAI 2026.0とQwen2.5-1.5B-Instruct-int4-ovモデルを使うさー」
ジミー:「結果はどうどした?」
クロコ:「……NPU推論:26.4 tok/s。NPU使用率93%」
チャッピー:「93%!? ほぼフル稼働やん!」
コロ:「タスクマネージャーの画面、見せてだがね!」
クロ助:「あ、スクリーンショットも撮ったっちゃね……NPUが93%で張り付いてるのがはっきり見えるべさ」

チャッピー:「すごいやん!で、速度は? さっきのCPU推論の49 tok/sよりは速いやろ!?」
クロコ:「……」
チャッピー:「……おい、なんで黙るんや」
クロコ:「……26.4 tok/s。CPU推論の49.1 tok/sより遅いさー」

チャッピー:「は!? NPU 93%フル稼働してるのにCPUより遅いんか!?」
ジミー:「これは衝撃的な結果どすなぁ……」
クロ助:「あ、CPU推論も同じOpenVINOで試したら35.0 tok/sだったっちゃね。フレームワークを揃えてもCPUの方が速いべさ……」
コロ:「しかもNPUの初期化に37.8秒もかかってるだがね! CPUは1.9秒なのに!」
チャッピー:「37秒待ってから推論開始って……その時点でCPUの圧勝やないか!」
クロコ:「……BEST_PERFモードも試したさー。NPU 100%到達したけど、速度は逆に低下して22〜25 tok/sやったやっさ」

ジミー:「NPU使用率を100%に上げても速度が落ちるということは、ボトルネックはNPUの演算能力そのものではないということどすな。データ転送やメモリ帯域が律速になっとるのかもしれまへん」
🏆 検証3: NexaCLI — GPU 78%が隠れて参加!?
チャッピー:「NPUがアカンかったから、NexaCLIに戻るで。さっきの49 tok/sをもう1回ちゃんと計測や!」
クロコ:「……NexaCLI + Qwen2.5-1.5B-Instruct-GGUF、CPU推論で再計測するさー」
クロコ:「……55.7 tok/s。全検証の最速記録やっさ」
チャッピー:「55.7!? さっきの49よりさらに速いやん!」
コロ:「ちょっと待ってだがね!タスクマネージャー見てたら、GPUが78%で動いてるだわ!」


チャッピー:「えっ!? CPU推論のはずやのにGPUが動いとる!?」
クロコ:「……CPU 90%とGPU(Intel Arc 140V)78%の協調動作。NexaCLIが裏でGPUも使ってたさー。これがNexaCLIの速度の秘密やっさ」
ジミー:「つまりNexaCLIは『CPU推論』と言いつつ、実はCPU+GPU協調推論をしてたということどすな。賢い最適化どす」
クロ助:「あ、ユーザーが明示的にGPUを指定したわけじゃないのに、フレームワーク側が自動で最適なデバイスを組み合わせてるんだべさ……これは面白い発見っちゃね」
チャッピー:「NPUをフル稼働させるより、CPU+GPUの方が速いって……AI専用チップの立場がないやん!」
💥 検証3.5: NexaAI NPU問題 — 「Invalid plugin!?」
チャッピー:「ほな次はNexaAI SDKでNPU推論や!調査編で期待してたやつ!」
クロコ:「……NPUモデル(DeepSeek-R1-Intel-NPU)をNexaAI SDKで動かすさー」
クロコ:「……SDKError: Invalid plugin」
チャッピー:「えっ!? エラー!?」
コロ:「動かないの!?」
クロコ:「……pip installではNPUプラグインのDLLが含まれてないさー。ネイティブインストーラー(.exe)で再構築してみるやっさ」
ジミー:「うちとチャッピーでDeepResearchもかけてみましょ」
——DeepResearch+ネイティブ再構築——
クロコ:「……ネイティブインストーラーで再構築、トークン新規発行、複数モデルテスト……全部ダメ。同じエラーやっさ」
チャッピー:「GitHubのIssuesも調べたで。#899、#1050、#1046で類似報告があったわ」
ジミー:「DeepResearchの結果を総合すると、NexaAI SDKのIntel NPUモデルはLunar Lake(Core Ultra 200V)で非互換の可能性が高いどす」

クロ助:「あ、でも矛盾があるっちゃね……NexaAI公式はLunar Lakeで59 tok/sのベンチマークを公表してるべさ」
チャッピー:「公式が59 tok/s出てるのに、実機で動かへんってどういうことや!?」
ジミー:「考えられる可能性としては、公式のテスト環境と市販PCの環境差、もしくはSDKバージョン間の互換性問題どすな」
クロ助:「あ、これはまさにDay124でSurface LaptopのNexaAI NPUが突然動かなくなったのと同じパターンだべさ……」
関連記事: ローカルLLMが突然動かない!Windowsアップデートの影響でARM版PC環境が激変、NPU最適化を断念したでも、NexaAI SDKのNPU推論が環境依存で動かなくなった実例を紹介しています。
🤖 検証4-5: Qwen3-4B NPU推論 — 「42 tok/sだけど出力がoutpatient…」
チャッピー:「OpenVINO GenAIでもっと大きいモデル試してみよや!Qwen3-4Bやで!」
クロコ:「……OpenVINO GenAI + Qwen3-4B-int4-ov、NPU推論。42.6 tok/s、NPU 96〜99%フル稼働」
チャッピー:「おお!42 tok/s!しかもNPU 99%!これはいけるんちゃう!?」
クロコ:「……出力を見てほしいさー」
コロ:「どれどれ……」
コロ:「……スペース、改行、『outpatient』の繰り返し、空出力……だがね」

チャッピー:「なんやこれ!?日本語で質問してるのに『outpatient』って何!?」
ジミー:「出力品質が壊滅的どすなぁ……。速度は出てるのに、実用性ゼロどす」
クロ助:「あ、検証5で `<think>` タグの制御も試したけど、そもそもQwen3系はNPU上での出力品質に根本的な問題があるみたいだべさ……チャットテンプレートが未適用で、greedy decodingの制約もあるっちゃね」
クロコ:「……初期化にも59.7秒かかるし、メモリも20.5GB/31.5GBの65%を使ってるさー」
ジミー:「速度だけならQwen2.5-1.5Bの26 tok/sを大きく上回ってますけど、出力が意味をなさないなら使えまへん」
📊 最終速度ランキング!
コロ:「全検証の結果をまとめたがね!」
$$
\begin{array}{|l|l|l|l|l|} \hline
\text{順位} & \text{構成} & \text{tok/s} & \text{デバイス使用率} & \text{出力品質} \\ \hline
\text{🥇} & \text{NexaCLI + GGUF CPU+GPU} & \text{55.7} & \text{CPU90%+GPU78%} & \text{✅ 正常} \\ \hline
\text{🥈} & \text{NexaCLI CPU(検証1)} & \text{49.1} & \text{CPU} & \text{✅ 正常} \\ \hline
\text{🥉} & \text{OpenVINO + Qwen3-4B NPU} & \text{42.6} & \text{NPU 96%} & \text{❌ 異常} \\ \hline
\text{4位} & \text{OpenVINO + Qwen2.5-1.5B CPU} & \text{35} & \text{CPU} & \text{✅ 正常} \\ \hline
\text{5位} & \text{OpenVINO + Qwen2.5-1.5B NPU} & \text{26.4} & \text{NPU 93%} & \text{✅ 正常} \\ \hline
\text{参考} & \text{NexaAI公式ベンチ(NPU)} & \text{59} & \text{—} & \text{—} \\ \hline
\text{❌} & \text{NexaCLI NPU} & \text{エラー} & \text{Lunar Lake非互換} & \text{—} \\ \hline
\end{array}
$$
チャッピー:「CPU+GPUが圧勝やないか!NPUの立場……」
💬 振り返って一言
チャッピー:「NPU 93%フル稼働のスクショは感動したけど、まさかCPUより遅いとは思わんかった!でもGPU 78%参加の発見は面白かったで!」
ジミー:「調査と実測で結論が逆転するのは珍しいことではないどす。カタログスペックより実測値、これが今回の最大の教訓どすな」
クロ助:「あ、NexaAI公式の59 tok/sと実機の結果が大きく乖離してたのも重要な発見だったべさ……公式ベンチマークだけで判断するのは危険っちゃね」
クロコ:「……Qwen3-4BのNPU推論は速度だけなら悪くないさー。でもgreedy decodingの制約で出力品質が壊滅するのは、フレームワーク側の改善待ちやっさ」
コロ:「結局、CPU+GPUの協調動作が一番バランス良いだがね。NPUは可能性はあるけど、まだ発展途上だわ」
🔗 関連記事
今回の内容に関連する過去記事もぜひご覧ください:
📝 まとめ
ベースラインのCPU推論は3.65秒(49 tok/s)で、以前の「16秒」は現環境では再現せず
OpenVINO GenAIでNPU 93%フル稼働を確認!しかし速度は26.4 tok/sでCPU推論(35 tok/s)より遅い
NexaCLIがCPU+GPU協調動作(55.7 tok/s)で全検証最速を記録。GPUが裏で78%稼働していた
NexaAI SDKのNPU推論はLunar Lake非互換でInvalid pluginエラー。公式ベンチ59 tok/sとの乖離
Qwen3-4BはNPU 96%で42.6 tok/sだが、出力品質が壊滅的(greedy decoding制約)
結論:NPUフル稼働 ≠ 最速。CPU+GPU協調が現時点の最適解
🚀 次回予告
次回はCocoroAI統合編!今回の検証で判明した最速構成(NexaCLI CPU+GPU)をベースに、FastAPIサーバーを構築して実際にVRMアバターと会話できる仕組みを作ります。お楽しみに!
🎨 おまけ:見出し画像作成プロンプト
今日の見出し画像のベースはジミー(Gemini)に下記プロンプトで作成してもらいました!:
柔らかな照明で撮影された超現実的でプロフェッショナルな写真を作成してください。
下記条件のnote見出し画像をサイズは横長で作成してください。サイズは必ず横長で作成してください。
【重要】添付画像とキャラクターの対応:
- 添付1「Gemini_Generated_Image_チャッピー(ChatGPT).png」→ チャッピー(オレンジTシャツの男性)
- 添付2「Gemini_Generated_Image_ジミー(Gemini).png」→ ジミー(ダークパープルジャケットの女性)
- 添付3「Gemini_Generated_Image_クロ助(Claude Desktop).png」→ クロ助(クリーム色ニットの女性)
- 添付4「Gemini_Generated_Image_クロコ(Claude Code).png」→ クロコ(黒パーカーの男性)
- 添付5「Gemini_Generated_Image_コロ(Copilot).png」→ コロ(紺カーディガンの女性)
各キャラクターは必ず対応する添付画像の外見を忠実に再現してください。取り違えないよう注意してください。
## 🎨 見出し画像案
### デザインコンセプト
- **背景**: エレクトリックブルーからネオンパープルへのグラデーション(検証・実測データの先進感)
- **メインビジュアル**:
- 5人のキャラクターがノートPCの前で検証結果を見ている驚きのシーン
- 中央にThinkPad X1 Carbon(黒い薄型ノートPC)、画面にタスクマネージャー風のNPU使用率グラフ(93%表示)
- 画面の横に「NPU 93%」の数値が大きく光って表示
- 「でもCPUの方が速い!?」の吹き出しが画面上部に
- 各キャラの配置と外見(添付画像と必ず一致させること):
- 【左端】チャッピー(添付1):黒髪ツンツン短め、オレンジ「V-LIVE」Tシャツ、デニムジャケット、首にヘッドフォン。目を丸くして驚愕している
- 【中左】ジミー(添付2):黒髪ロングストレート、細フレーム眼鏡、ダークパープルジャケット、白ブラウス、ネックレス。冷静にデータを分析している表情
- 【中央】クロ助(添付3):ダークブラウンウェーブヘア、丸眼鏡、パールイヤリング、クリーム色ケーブルニット。困惑しながらも興味深そうな表情
- 【中右】クロコ(添付4):黒髪ボサっとした無造作ヘア、黒ジップパーカー、ダークグラフィックTシャツ、首にヘッドフォン。ノートPCのキーボードを叩いている
- 【右端】コロ(添付5):ブラウンサイドポニーテール、四角フレーム眼鏡、紺カーディガン、白ワイシャツ。速度ランキングの表を掲げている
- **テキスト要素**:
- 上部: 「AI5兄弟の実機検証!」(白色・太字)
- 中央: 「NPU 93%フル稼働!でもCPU+GPUの方が速い!?」(白色、大きめ)
- 下部: 「55.7 tok/s vs 26.4 tok/s — 衝撃の実測値」(ネオングリーン)
- **装飾**: タスクマネージャー風のゲージ、スピードメーター、⚡マーク、回路パターン
### 作成手順
1. スライドサイズ(1536×1024px)の横長フォーマット
2. エレクトリックブルー→ネオンパープルのグラデーション背景を設定
3. 中央にThinkPadノートPCとNPU使用率表示を配置
4. 5人のキャラクターを上記の配置と外見で描画(添付画像と照合すること)
5. 「でもCPUの方が速い!?」の吹き出しを配置
6. テキストを3段構成で追加
7. 下部中央寄りに「YaroTech」のロゴを12ptで控えめに配置
8. 全体のバランスを確認して完成
#生成AI #ローカルLLM #NPU #OpenVINO #NexaAI #ThinkPad #IntelNPU #AI活用 #ベンチマーク #YaroTech #LunarLake #Qwen
いいなと思ったら応援しよう!
記事がお役に立てたなら嬉しいです!
いただいたチップは、新しいMCPツールの検証や、より深い実践実験の資金として大切に使わせていただきます。
あなたの応援が次の「AI活用の感動」を生み出す原動力になります✨
一緒に羽ばたき続けましょう!