はじめに
Qwen 3.5シリーズには、9B Dense、27B Dense、35B A3B(MoE)の3つのモデルがある。ローカルLLMとしてコーディング支援に使う場合、どのモデルが最適なのか?MacBook Pro(M1/M2 Max 64GB)でmlx-lm.serverを使い、実際にTodoアプリのコード生成タスクで比較検証した。
テスト環境
| 項目 | 内容 |
|---|---|
| マシン | MacBook Pro M1/M2 Max 64GB RAM |
| ランタイム | mlx-lm.server 0.31.1 |
| 量子化 | 4bit + fp16変換 |
| テストタスク | Todoアプリ(HTML/CSS/JS、LocalStorage保存)のコード生成 |
比較したモデル
| モデル | アーキテクチャ | サイズ | 特徴 |
|---|---|---|---|
| Qwen3.5-9B | Dense | 4.7GB | 全パラメータ活性化 |
| Qwen3.5-27B | Dense | 14GB | 全パラメータ活性化 |
| Qwen3.5-35B-A3B | MoE | 18GB | 35B中3Bのみ活性化 |
速度ベンチマーク結果
まず、思考モードOFFでの速度を比較した。
| モデル | 思考 | 時間 | tok/s |
|---|---|---|---|
| 35B A3B | OFF | 27.3s | 67.4 |
| 9B Dense | OFF | 45.2s | 47.6 |
| 27B Dense | OFF | 145.4s | 14.0 |
MoEアーキテクチャの35B A3Bが圧倒的に速い。35Bという名前だが、実際に活性化されるのは3Bのみ。これにより、9B Denseより高速に動作する。
思考モードON/OFFの比較
Qwen 3.5は「思考モード」を持ち、回答前に推論プロセスを実行できる。思考ON/OFFでコード品質がどう変わるか検証した。
| モデル | 思考 | 時間 | tok/s | 品質 |
|---|---|---|---|---|
| 35B A3B | OFF | 27.3s | 67.4 | 88点 |
| 35B A3B | ON | 45.4s | 68.6 | 93点 |
| 9B Dense | OFF | 45.2s | 47.6 | 93点 |
| 9B Dense | ON | 80.6s | 45.1 | 85点 |
| 27B Dense | OFF | 145.4s | 14.0 | 78点 |
発見1: MoE(35B A3B)は思考ONで品質向上
35B A3Bは思考ONにすると品質が88点→93点に向上。しかも速度は68.6 tok/sを維持し、9B思考ONより速い。MoEの真価がここで発揮された。35Bの知識を持ちながら、3B活性化で高速処理できる。
発見2: Denseモデル(9B)は思考ONで劣化
9B Denseは思考OFFで93点だが、思考ONにすると85点に低下。思考が冗長になりすぎ、本来の回答品質を損なう結果となった。Denseモデルは思考OFFで使うべきという結論に至った。
発見3: 27Bは過大評価だった
当初27Bを95点と評価していたが、再評価で78点に下方修正。「教科書的にきれいなコード」ではあるが、削除確認ダイアログや空リスト表示など、実務で必要な配慮が欠けていた。
コード品質の詳細評価
100点満点で各項目を採点した。
| 評価項目 | 配点 | 35B思考ON | 9B思考OFF | 27B思考OFF |
|---|---|---|---|---|
| 基本機能 | 20 | 20 | 20 | 20 |
| LocalStorage | 15 | 15 | 15 | 15 |
| 削除確認 | 10 | 10 | 10 | 0 |
| 空リスト表示 | 5 | 5 | 5 | 0 |
| CSS変数 | 8 | 8 | 8 | 3 |
| イミュータブル更新 | 8 | 8 | 8 | 8 |
| 関数分離 | 10 | 8 | 8 | 10 |
| UI/UX | 8 | 8 | 7 | 6 |
| コメント | 8 | 6 | 7 | 8 |
| ドキュメント | 8 | 5 | 5 | 8 |
| 合計 | 100 | 93 | 93 | 78 |
27Bは「コメントが丁寧」「関数分離が明確」という点で高評価だったが、削除確認がない(-10点)、空リスト表示がない(-5点)という実務上重要な機能が欠けていた。
35B A3B思考ONのコード例
35B A3B思考ONが生成したTodoアプリの特徴的な部分を抜粋する。
CSS変数による保守性
:root {
--primary-color: #4a90e2;
--bg-color: #f4f4f9;
--danger-color: #e74c3c;
}
削除確認ダイアログ
function deleteTodo(id) {
if(confirm('このタスクを削除しますか?')) {
todos = todos.filter(todo => todo.id !== id);
saveTodos();
}
}
イミュータブルな状態更新
function toggleTodo(id) {
todos = todos.map(todo => {
if (todo.id === id) {
return { ...todo, completed: !todo.completed };
}
return todo;
});
saveTodos();
}
用途別おすすめモデル
| 用途 | 推奨モデル | 理由 |
|---|---|---|
| コーディング全般 | 35B A3B思考OFF | 高速で実用的 |
| 複雑な設計・推論 | 35B A3B思考ON | 品質向上、速度維持 |
| RAG・高速検索 | 9B思考OFF | 軽量で十分な品質 |
| プロトタイプ・学習 | 9B思考OFF | シンプルなコード |
推奨構成
MacBook Pro 64GBでの最適な構成は以下の通り。
| Port | モデル | 思考 | 用途 | VRAM |
|---|---|---|---|---|
| 3005 | Qwen3.5-35B-A3B | OFF | メイン | 18GB |
| 3006 | Qwen3.5-9B | OFF | RAG | 4.7GB |
27B Denseは削除して14GB節約。MoEの35B A3Bがあれば27B Denseの出番はない。
まとめ
- 35B A3B(MoE)が総合最強:35Bの知識を持ちながら3B活性化で高速。思考ONで品質も向上
- 9Bは思考OFF専用:思考ONにすると劣化。Denseモデルの特性
- 27Bは不要:速度が遅く、品質も35B A3Bに劣る。削除して14GB節約
MoEアーキテクチャの真価を実感した検証だった。「大きなモデルの知識」と「小さなモデルの速度」を両立できるMoEは、ローカルLLMの実用性を大きく高める技術といえる。

コメント