今日勉強したことを
つらつらと
logo

Copilot+ PCのDell 14 Plus 2-in-1をモニターしたので、Bonsai 8B を OpenVINO で NPU で使ってみた

Dell 14 Plus 2-in-1でBonsai 8BをOpenVINO経由でCPU/GPU/NPU比較し、速度と温度を検証した記録です。

Copilot+ PCのDell 14 Plus 2-in-1をモニターしたので、Bonsai 8B を OpenVINO で NPU で使ってみた

「デル アンバサダープログラム」のモニターでDell 14 Plus 2-in-1 DB04250を使用できたので、Copilot+ PCを使ってみました。
https://www.dell.com/support/product-details/ja-jp/product/dell-db04250-2-in-1-laptop/overview

Copilot+ PCは内蔵NPUを使って、Windows標準アプリのAI対応機能を利用できるPCです。今回は、最新のAIモデルであるBonsai 8Bを使って、NPUがどの程度活かせるかを検証しました。

環境

  • OS: Windows
  • 作業ディレクトリ: c:\home\bonsai
  • 仮想環境: c:\home\bonsai\.venv
  • OpenVINO が認識したデバイス: CPU, GPU, NPU
  • 主なバージョン:
    • openvino 2026.1.0
    • openvino-genai 2026.1.0.0
    • optimum-intel 1.27.0

CPU の属性

  • CPU 名称: Intel(R) Core(TM) Ultra 9 288V
  • メーカー: GenuineIntel
  • コア数: 8
  • 論理プロセッサ数: 8
  • 最大クロック: 約 3.3 GHz(取得時に 33008 MHz と表示されたため、桁ずれを考慮して解釈)
  • 世代/系統: Lunar Lake
  • 構成: 4 P-core + 4 E-core
  • Hyper-Threading: なし(1コア = 1スレッド)

CPU アーキテクチャの補足

  • この CPU は、NPU とは別に CPU コア を持ちます。
  • つまり、NPU で推論中でもCPU側で別スレッドの処理を動かせます。
  • ただし、NPU は CPU コアの一部ではなく、独立した推論アクセラレータ です。
  • OpenVINO の CPU 実行では、OSのスケジューリングに加えてCPUスレッド配置やaffinity調整も可能です。
  • そのため「CPUとは別のコアで動かす」というより、CPUコアのどれに処理を乗せるかを調整できる という理解が正確です。

参照したサイト

1. OpenVINO 公式ドキュメント

  • URL: https://docs.openvino.ai/2026/openvino-workflow-generative/inference-with-optimum-intel.html
  • 確認した内容:
    • OpenVINO で Hugging Face 系モデルを扱う方法
    • OVModelForCausalLMoptimum-cli export openvino の基本
    • device="GPU" のように推論デバイスを切り替える考え方

2. Intel/NPU 向けの LLM エクスポート手順

  • URL: https://github.com/helena-intel/readmes/blob/main/openvino_llm_model_export_npu.md
  • 確認した内容:
    • NPU 向けには static shape 前提
    • INT4 + symmetric が推奨
    • 大きめモデルでは --group-size -1 が推奨
    • 推論時は openvino_genai.LLMPipelinellm_chat.py を使う流れ

使ったライブラリ / ツール

  • optimum-cli export openvino
  • openvino
  • openvino_genai
  • transformers
  • optimum-intel

実行した流れ

  1. 既存モデル c:\home\bonsai\models\bonsai-8b-ov-int4NPU で直接起動。
  2. NPU向け手順に従い、次で再エクスポート。
    • --task text-generation-with-past
    • --trust-remote-code
    • --sym
    • --weight-format int4
    • --group-size -1
    • 出力先: c:\home\bonsai\models\bonsai-8b-ov-int4-npu
  3. llm_chat.py をダウンロードして、NPU で起動。
  4. 日本語入力に対して応答が返ることを確認。

書いたコード(簡易)

  • openvino_genai.LLMPipeline(model_dir, device, **pipeline_config) でロード
  • pipe.start_chat(system_message=...)
  • pipe.generate(prompt, config, streamer)
  • 公式サンプル相当の llm_chat.py で対話実行

ベンチマーク

10回版の計測結果:

Device Total Time Avg / Iter Chars / Sec
CPU 134.10s 13.410s 74
GPU 73.41s 7.341s 128
NPU 125.10s 12.510s 81

出力量の目安:

  • CPU: 約 990 chars / 回
  • GPU: 約 938 chars / 回
  • NPU: 約 1013 chars / 回

CPUパッケージの温度変化:

  • CPU: 平均72度
  • NPU: 平均62度
  • GPU: 平均64度

まとめ

CPUとNPUはほぼ同じ速度でしたが、CPUパッケージ温度だけ見るとNPUの方が低く、電力効率の観点では有利そうでした。CPUコアとは独立して動作できる点も、並列処理の観点で魅力があります。

一方で内蔵GPUは、温度はNPUより少し高いものの、性能面では圧倒的でした。今後NPU向けの軽量ビルド済みモデルが増えてくると、Copilot+ PCはさらに使いやすい選択肢になりそうです。


© 2026 simodake