
きっかけ:20B〜30B級のMoE、ちゃんと横並びで見たことがなかった
ここまで4B級・12B〜14B級・27B級と見てきたけど、20B〜30B帯——ちょうど「MoE(Mixture of Experts)」構成のモデルが多く出回っているサイズ帯——はまだ横並びで比較していなかった。うちの環境(Ollama+B580×2)には既にいくつかダウンロード済みだったので、5モデルまとめて比較してみた。
対象モデルとテスト内容
| モデル | 実体 | 構成 |
|---|---|---|
| Qwen3-30B-A3B(base) | qwen3:30b-a3b | MoE(全30B・アクティブ3B) |
| Qwen3-30B-A3B-2507 | qwen3:30b-a3b-instruct-2507-q4_K_M | MoE(同上、instructチューン版) |
| Gemma4-26B-A4B | sonct988/gemma4-26b-a4b-it-q4km-256k | MoE(全26B・アクティブ4B) |
| GLM-4.7-Flash-23B-A3B | tk2133/GLM-4.7-Flash-REAP-23B-A3B:Q4_K_S | MoE(全23B・アクティブ3B) |
| gpt-oss-safeguard-20B | gpt-oss-safeguard:20b | MoE(20B、セーフティ特化チューン) |
テスト内容はこれまでと同じ3種(日本語生成・翻訳・コーディング実行)。
生成速度:最速はgpt-oss-safeguard、最遅はGLM

- gpt-oss-safeguard-20B: 60.1〜60.7 tok/sで圧倒的トップ
- Gemma4-26B-A4B: 36.7〜43.4 tok/s
- Qwen3-30B-A3B-2507: 30.9〜31.9 tok/s
- Qwen3-30B-A3B(base): 28.6〜29.1 tok/s(※後述の理由で参考値)
- GLM-4.7-Flash-23B-A3B: 16.6〜19.1 tok/sで最も遅い
VRAM使用量はGemma4-26B-A4Bが17.9GB、Qwen3-30B系が19.2〜19.3GBで最大、GLMとgpt-oss-safeguardは13.6GBと省メモリだった。

品質チェック:Qwen3-30B-A3B(base)が全タスクで「考え中」を漏らし続けた
今回、一番はっきりした問題が出たのがQwen3-30B-A3B(base、instructチューン前の無印版)。APIリクエストでthink: falseを明示しているにもかかわらず、日本語生成・翻訳・コーディングの全タスクで英語の思考過程がそのまま出力に漏れ続けた。
翻訳タスクでの一部を抜粋すると:
「Okay, let’s tackle this translation request. The user wants the Japanese sentences translated into natural English…(延々と英語での検討が続く)…Okay, I think that’s it.
</think>The weather’s great today, so I think I’ll go for a walk in the park.」
最終的な訳文自体は正しいのに、そこに至るまでの検討過程(数百〜2000トークン超)がまるごと出力されてしまっている。これは以前の軽量モデル比較記事で見つけたQwen3-4B(Thinking系)と全く同じ症状で、Qwen3系のThinking挙動がGGUF量子化・Ollama経由ではthinkパラメータで抑制しきれないケースがあることを裏付ける結果になった。
この漏洩の影響でコーディングタスクは実行時エラーで失敗した。生成された内容自体に有効なPythonコードは含まれていた(実際、コード部分だけ見ればCounter.most_common(5)を使った正しい実装だった)が、コードブロック記法(```)で囲まれておらず、思考過程の英文が地の文としてそのまま混在していたため、コード抽出処理が本文全体を「コード」と誤認し、構文エラーで実行失敗した。
対照的に、instructチューン版のQwen3-30B-A3B-2507では、この漏洩が一切発生しなかった。同じベースモデル・同じアーキテクチャでも、チューニングの有無でここまで挙動が変わるという良い実例だった。
他の3モデル(Gemma4-26B-A4B、GLM-4.7-Flash-23B-A3B、gpt-oss-safeguard-20B)は3タスクとも問題なく、翻訳・コード実行も正確だった。
結論
- 速度重視ならgpt-oss-safeguard-20Bが圧倒的 — 60 tok/s台で今回のテストの中でも際立って速く、VRAMも小さめ
- Qwen3系の無印(Thinking)版は要注意 —
think: falseを指定しても思考過程が漏洩し、速度低下とコード実行失敗を引き起こした。同シリーズを使うなら instructチューン版(2507等)を選ぶべき - 同じベースでもチューニングで挙動が激変する — Qwen3-30B-A3BとQwen3-30B-A3B-2507は、思考漏洩の有無という点で全く別モノのように振る舞った
- GLM-4.7-Flash-23B-A3Bは今回最も低速 — VRAMは省メモリだが、速度面では他のMoEモデルに見劣りした
MoEだから速い、という単純な話ではなく、同じ「MoE」でもモデルごとの実装・チューニングの差が速度にも品質にもはっきり表れる結果だった。特にThinking系モデルを扱う際は、thinkパラメータを信用しきらず、実際の出力を見て確認する習慣が必要だと改めて感じた。