1. はじめに:前回の振り返りと今回の目的
以前に書いた記事「Ryzen 7 5825Uの内蔵GPUでLLMを動かす」では、ミニPC(Ryzen 7 5825U搭載機)において、BIOSからiGPUへのVRAM割り当てを最大化し、ローカルLLMを実用レベルで動作させる基礎検証を行いました。
今回はその続編として、「さらに生成速度(Tokens per second)を向上させつつ、回答精度を担保できる黄金比」を模索しました。特に、巨大なパラメータを持ちながら低負荷な「MoEモデル」と、標準的な「Denseモデル」の挙動の差に着目し、ミニPC環境における限界設定を探りました。
2. 専門用語の徹底解説:この記事を読むための前提知識
検証結果を理解するために必要な、LLMの構造と量子化の知識を整理します。
① 「Dense(密集型)」と「MoE(専門家混合型)」の構造差
AIの「脳の仕組み」が、内蔵GPU環境での推論速度を決定づけます。
-
Dense(密集型)代表:Qwen2.5-Coder-7B / Llama-3.1-8B
- 全てのパラメータを常に使って計算するタイプです。質問内容にかかわらずフルパワーで演算を行うため、内蔵GPUには大きな負荷がかかります。
-
MoE(Mixture of Experts)代表:Qwen3-30B / DeepSeek-V2-Lite
- AIの中に複数の「専門家(エキスパート)」がおり、質問に応じて必要な一部だけが働くタイプです。全体サイズは30B(300億)と巨大でも、実際に動くのはその数分の1(Active Parameters)のため、計算が非常に軽快です。
② 量子化のグレード(Q4_K_S / Q5_K_M / Q6_K)
モデルデータの圧縮形式です。末尾のアルファベルは精度と速度のトレードオフを表します。
- Q4_K_S (Small): 高圧縮版。高速ですが、日本語の否定表現や複雑な助詞の解釈が壊れるリスクがあります。
- Q5_K_M (Medium): 標準版。精度と速度のバランスが最も良く、実用上の「知能劣化」をほぼ感じない黄金設定です。
- Q6_K / Q8_0: 高精度版。ほぼ無劣化ですが、データが重く、VRAM 8GBの内蔵GPU環境ではメモリを圧迫します。
3. LM Studioの設定パラメータ
今回の検証では、LM Studioの以下のパラメータを指定して比較しました。
今回の検証における共通設定と調整のポイント
検証結果を正しく比較するために、LM Studioの以下のパラメータを個別に指定しました。
-
Context Length (8192):
AIが一度に把握できる情報の長さ(記憶容量)です。内蔵GPU環境では、この記憶領域を確保するだけで大量のVRAMを消費します。- なぜ8192なのか: 数値をこれ以上に増やすと、VRAM 8GBの大部分が「記憶領域」に占有され、肝心の「AIの脳(モデル)」をGPUに載せるスペースがなくなってしまいます。長文を読ませる能力と、生成スピードが極端に落ちない限界ラインとして、8192 を選択しました。
-
GPU Offload (GPUオフロード):
AIの「脳」を構成するパーツ(層/レイヤー)のうち、何層を高速なGPUに処理させるかという設定です。- なぜ層の数がモデルごとに違うのか: AIの設計図によって全体の層数が異なるためです(例:Qwen2.5-7Bは28層、Qwen3-30Bは48層など)。
-
調整のポイント: 「モデル本体のサイズ」と、上記の「Context領域」の合計が、VRAM 8GBというコップから溢れないように調整する必要があります。モデルが巨大なほどVRAMを圧迫するため、GPUに任せられる層数は少なくなります。今回は、LM Studioの試しながらVRAM使用量が7.5〜7.8GBの「溢れる直前」になるよう、モデルごとに最適な層数をトライアンドエラーで割り出しました。
4. 検証結果:速度と精度のベンチマーク
① 【基準点】unsloth/Qwen3-Coder-30B-A3B-Instruct (Q4_K_S)
前回記事から引き続きメインで利用している大容量モデルです。
- 設定: GPU Offload 30/48層(VRAM 8GBに対し一部RAM併用)
- 速度: 5.56 tok/sec
- 正確性: 完璧。30Bの圧倒的な知識量で、複雑なニュースも正確に構造化して要約。
- 考察: 総パラメータは30Bですが、実際に動くのは3.3Bのみ。そのため、巨大なモデルながら5.56 t/sという実用速度を維持しています。
② 【比較用】Meta-Llama-3.1-8B-Instruct (Q5_K_M)
「Denseモデル代表」として、8Bクラスを全層ロードでテスト。
- 設定: GPU Offload 全層
- 速度: 5.61 tok/sec
- 考察: GPUに全層ロードしても、常に80億個の計算が走るDenseモデルのため、演算負荷が高く、結果として30B-MoEとほぼ同じ速度でした。
③ 【速度の限界】DeepSeek-Coder-V2-Lite-Instruct (Q4_K_S)
- 設定: GPU Offload 24/27層
- 速度: 7.11 tok/sec (最速)
- 正確性: 不合格。 日本語の否定表現を読み間違える致命的な論理崩壊が発生。
- 考察: 高圧縮なQ4_K_Sは速度は出ますが、知能が「低品質」になり、日本語の解釈が不安定になります。
④ 【実用最高速】DeepSeek-Coder-V2-Lite-Instruct (Q5_K_M)
- 設定: GPU Offload 23/27層
- 速度: 6.48 tok/sec
- 正確性: 良好。5-bit(Q5_K_M)に上げたことで論理崩壊が解消。
- 考察: VRAMを限界の7.8GBまで使い切り、精度も保てる「ミニPC環境の最高速」をマークしました。
⑤ 【全ロードの罠】Qwen2.5-Coder-7B-Instruct (Q6_K)
- 設定: GPU Offload 全層
- 速度: 5.24 tok/sec
- 考察: 全層GPUロードしても最遅。Dense 7Bモデルは、演算の「密度」がRadeonの内蔵GPUの処理能力を超えてしまい、VRAM内で完結していても速度が伸びないという興味深い結果に。
5. 結論:ミニPC環境における最終布陣
検証の結果、私は以下の「二段構え」を最終結論としました。
【メイン】unsloth/Qwen3-Coder-30B-A3B (Q4_K_S)
- 用途: 高度な論理思考、厳密なニュース要約。
- 評価: 速度は並(5.56 t/s)ですが、情報の「理解力」が他を圧倒しています。
【サブ】DeepSeek-Coder-V2-Lite (Q5_K_M)
- 用途: テンポ重視のチャット、日常的なコード修正。
- 評価: 日本語の精度を保てる設定の中で、最も「キレ」のある速度(6.48 t/s)をマーク。
まとめ:
内蔵GPU環境でのパフォーマンスアップの鍵は、テスト結果によると、「全層GPUロード」という言葉に惑わされず、Activeパラメータが絞られたMoEモデルを賢く使い、Q5などの量子化で知能の品質を守ることのようです。
チューニングも奥が深いですね。

