README: add power efficiency and temperature section (Qwen3.5-9B, Lunar Lake)
Browse files
README.md
CHANGED
|
@@ -24,6 +24,9 @@ LLM を **Intel NPU だけで** 動かす小さなエンジンです。MoE(専
|
|
| 24 |
llama.cpp と GGUF の関係と同じく、エンジンとモデルは別々にダウンロードします。エンジンは一つ、コマンドも一つで、
|
| 25 |
変換済みのモデルならどれでも動きます。
|
| 26 |
|
|
|
|
|
|
|
|
|
|
| 27 |
## インストール(コマンドを 1 行貼るだけ)
|
| 28 |
|
| 29 |
Intel Core Ultra(NPU 付き)の PC なら、次の 1 行で入ります(詳しい条件は下の「必要なもの」)。
|
|
@@ -214,6 +217,43 @@ KV キャッシュは INT8 で、会話が実際に使った長さの分だけ
|
|
| 214 |
| `setup.*`、`install.*`、`find_python.bat` | インストーラー(Python の検出と winget) |
|
| 215 |
| `check_ref.py`、`check_vision.py`、`test_*.py`、`probe_segments.py`、`prof_*.py`、`mem_*.py`、`bench_*.py` | 元の HF モデルとの比較、生成・画像・複数ターンの検証、区間ごとの NPU と CPU の比較、速度・メモリ計測 |
|
| 216 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 217 |
## 注意点と制限
|
| 218 |
|
| 219 |
- コンテキスト長の既定は 32K トークンで、モデルの最大(Qwen3.5/3.6 は 262K、Gemma 4 E4B は 128K)まで設定できます。
|
|
|
|
| 24 |
llama.cpp と GGUF の関係と同じく、エンジンとモデルは別々にダウンロードします。エンジンは一つ、コマンドも一つで、
|
| 25 |
変換済みのモデルならどれでも動きます。
|
| 26 |
|
| 27 |
+
低電力の NPU で動かすので、ファンが低回転のままでも静かに LLM を使えます。Lunar Lake で計測したところ、1 トークンあたりの電力は
|
| 28 |
+
iGPU(llama.cpp)より少なく、CPU の約 4 割でした。詳しい数字と測り方は [電力効率と温度](#電力効率と温度) にあります。
|
| 29 |
+
|
| 30 |
## インストール(コマンドを 1 行貼るだけ)
|
| 31 |
|
| 32 |
Intel Core Ultra(NPU 付き)の PC なら、次の 1 行で入ります(詳しい条件は下の「必要なもの」)。
|
|
|
|
| 217 |
| `setup.*`、`install.*`、`find_python.bat` | インストーラー(Python の検出と winget) |
|
| 218 |
| `check_ref.py`、`check_vision.py`、`test_*.py`、`probe_segments.py`、`prof_*.py`、`mem_*.py`、`bench_*.py` | 元の HF モデルとの比較、生成・画像・複数ターンの検証、区間ごとの NPU と CPU の比較、速度・メモリ計測 |
|
| 219 |
|
| 220 |
+
## 電力効率と温度
|
| 221 |
+
|
| 222 |
+
同じ PC(LattePanda Mu Ultra、Core Ultra 5 226V=Lunar Lake)で、Qwen3.5-9B の生成中のパッケージ電力と温度を、NPU・iGPU・CPU で比べました。
|
| 223 |
+
日本語の長文生成(768 トークン、temperature 0)を各 3 回測った平均です。
|
| 224 |
+
|
| 225 |
+
| デバイス | 実行環境 | 生成速度 | パッケージ電力 | パッケージ温度(平均 / 最大) | 1 トークンあたり | 同(アイドル分を引いた値) |
|
| 226 |
+
|---|---|---|---|---|---|---|
|
| 227 |
+
| **NPU** | onw(Qwen3.5-9B-onw、INT4、5.3 GB) | 7.3 tok/s | **12.0 W** | 52 / **67 ℃** | **1.66 J** | **1.27 J** |
|
| 228 |
+
| iGPU(Arc) | llama.cpp SYCL(Q4_K_M、6.2 GB) | **12.6 tok/s** | 23.5 W | 66 / 83 ℃ | 1.91 J | 1.67 J |
|
| 229 |
+
| CPU | llama.cpp(Q4_K_M、6.2 GB) | 5.7 tok/s | 22.3 W | 93 / 96 ℃ | 3.99 J | 3.47 J |
|
| 230 |
+
|
| 231 |
+
アイドル時のパッケージ電力は約 2.9 W、温度は約 42〜46 ℃ です。
|
| 232 |
+
|
| 233 |
+
1 万トークンを生成したとき(上の平均値からの計算):
|
| 234 |
+
|
| 235 |
+
| デバイス | かかる時間 | 消費エネルギー | 同(アイドル分を引いた値) |
|
| 236 |
+
|---|---|---|---|
|
| 237 |
+
| **NPU** | 約 23 分 | **4.6 Wh** | 3.5 Wh |
|
| 238 |
+
| iGPU | 約 13 分 | 5.3 Wh | 4.6 Wh |
|
| 239 |
+
| CPU | 約 30 分 | 11.1 Wh | 9.6 Wh |
|
| 240 |
+
|
| 241 |
+
NPU は CPU の約 4 割、iGPU より約 13% 少ないエネルギーで済みます。生成中の電力は 12 W で iGPU の約半分、最大温度は 67 ℃ で、ファンも低回転のまま動かせました(ファンの回転数は測れていないため、目視・体感の観察です)。
|
| 242 |
+
1 万トークンの値は 768 トークンの測定からの計算で、実測ではありません。長く回すと、熱で CPU の電力が下がって遅くなり、時間が延びることがあります。
|
| 243 |
+
|
| 244 |
+
|
| 245 |
+
- 1 トークンあたりの電力は、NPU が最も少なく、iGPU より 13〜24% 少なく、CPU の約 4 割以下です。
|
| 246 |
+
- 速さは iGPU が最も速く、NPU の約 1.7 倍です。ただし電力は約 2 倍かかります。
|
| 247 |
+
- NPU は最大でも 67 ℃ に収まります。iGPU は 83 ℃、CPU は 96 ℃ まで上がりました。
|
| 248 |
+
|
| 249 |
+
測り方と注意:
|
| 250 |
+
- 電力は Linux の RAPL(`intel-rapl:0`、package-0)の電力量を 0.5 秒ごとに読んだものです。SoC(CPU・iGPU・NPU)だけの値で、DRAM(約 0.4〜0.8 W)や PC 全体は含みません。温度は `x86_pkg_temp` です。
|
| 251 |
+
- 測るのは生成の区間だけで、モデルの読み込みは除いています。毎回、温度が下がるのを待ってからアイドル電力を 30 秒測りました。デバイスの順番による偏りが出ないよう、NPU、iGPU、CPU を 3 周しています。
|
| 252 |
+
- ファン回転数は、この PC では CPU クーラーの値を OS から読めないため、測っていません。NPU の生成中、ファンは止まらず低回転のままでした(観察)。
|
| 253 |
+
- onw と llama.cpp ではエンジンが違い、重みの量子化も同一ではありません(onw は独自の INT4、llama.cpp は Q4_K_M)。モデルと実行環境をまとめた比較として読んでください。
|
| 254 |
+
- ばらつき:NPU と CPU は 3 回でほぼ揃いました(NPU の 1 トークンあたり 1.65〜1.67 J)。iGPU は生成速度が 10.9〜13.5 tok/s と回ごとに差があり、1 トークンあたり 1.84〜2.05 J でした。
|
| 255 |
+
- 別の PC、別のプロンプト、別の冷却では値が変わります。
|
| 256 |
+
|
| 257 |
## 注意点と制限
|
| 258 |
|
| 259 |
- コンテキスト長の既定は 32K トークンで、モデルの最大(Qwen3.5/3.6 は 262K、Gemma 4 E4B は 128K)まで設定できます。
|