0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ryzen 7 5825U 内蔵GPUで挑むLLM最適化(第2回):30B MoEモデルから7B Denseモデルまでの徹底比較

0
Last updated at Posted at 2026-02-08

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などの量子化で知能の品質を守ることのようです。

チューニングも奥が深いですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?