計画と試行の状況

Blackwell 96GB と、12ch メモリ帯域を持つ EPYC 9175F で、CPU と GPU の役割を分ける計画を立てました。

計画: CPU は Dagster の冪等・非同期パイプラインで、大きい MoE モデルを動かします。GPU は対話窓口として、より小さい専門モデルを置きます。毎日の Dagster asset から LoRA を作り、対話モデルを更新する構想です。

試行中の構成: ik_llama.cpp で部分オフロードし、メモリ帯域が競合しにくいモデルの組み合わせを探しています。Dagster + LoRA パイプラインは未実装です。


CPUとGPUの役割

CPUの非同期処理

CPU の12ch メモリ帯域で、100B〜400B 級の MoE を非同期で動かす計画です。

  • Dagster でパイプラインを冪等に構成する。asset ベースでジョブを管理し、失敗しても再実行で同じ結果が得られる
  • 用途はリポジトリ全体の解析、ドキュメント生成、テストコード生成、大規模リファクタリングの思考など、時間をかけて品質を出す仕事
  • 即応性は求めない。Fire & Forget で投げて、結果を待つ

MoE は active parameter が小さくても、total parameter が大きいと GPU 1枚に入りません。CPU の12ch メモリ帯域を使い、即応性を求めない処理に回す方針です。

GPUの対話と日次LoRA

GPU は対話窓口に使う予定です。

  • パラメータ 30B 前後の、応答性の高いモデルを置く
  • fine-tuning で専門性を上げる。自分のコードベース、設計パターン、使う言語に特化させる
  • Dagster asset から LoRA アダプタを日次で生成し、ベースモデルに適用する計画です。CPU 側の処理結果を、GPU 側の対話に反映することを目指します

CPU 側の処理結果を LoRA に反映し、GPU 側の対話品質を改善することを狙っています。日次更新の効果はまだ確認していません。

計画時のパイプライン図

  CPU (EPYC 12ch):
  Dagster Pipeline → MoE 100B-400B (ik_llama.cpp / vLLM)
    → asset: コード解析結果、テスト生成、リファクタ提案
    → asset: LoRA 学習データ
    → 日次 LoRA アダプタ生成

GPU (Blackwell 96GB):
  対話サーバー → Dense 30B 級 (vLLM) + LoRA アダプタ
    → Zed MCP / Aider / CLI
    → 即時レスポンス
    → 日次で LoRA 更新(CPU 側の asset から)
  

部分オフロードの検証

記事時点では ik_llama.cpp の部分オフロードで、CPU と GPU のメモリ帯域が競合しにくい組み合わせを検証しています。

確認する項目

  • GPU に載せる重みの量を調整して、対話の応答性と CPU 側の帯域確保のバランスを取る
  • 同時に複数モデルを立てるとき、メモリ帯域の競合で両方遅くなるパターンを避ける
  • 量子化の選択(GGUF IQ, NVFP4, FP8)がモデルごとに品質と速度にどう影響するかを実測する

ツール構成(現状)

ツール役割
ik_llama.cppメインの推論サーバー。GPU 部分オフロード対応
Zed + MCP対話フロント。OpenAI 互換 API 経由
AiderCLI コード編集。DIFF ベースで既存リポジトリ修正
ctree + pathfinderMCP ツールとしてコンテキスト効率を改善

vLLM も計画にありますが、組み合わせを柔軟に変えられる ik_llama.cpp を主に使っています。


モデル試行履歴

2026年1月〜3月に試したモデルの履歴です。cold storage のアーカイブをもとにしています。

2026年1月

日付モデル備考
01/04Qwen3-VL-32B-InstructGUI Agent、Tool Use 検証
01/04IQuest-Coder-V1-40B-Instruct (GGUF)SWE-Bench 高スコア、Dense コーディングモデル
01/04Hermes-4.3-36B指示忠実度、Function Call 安定性検証
01/05gpt-oss-120b (GGUF)CPU レーン候補、120B Dense
01/05Hermes-4-70B-FP870B FP8、GPU 単体で載るか検証
01/05Llama-4-Scout-17B-16E-Instruct (GGUF)MoE、17B active
01/09Llama-3.3-70B-Instruct-NVFP4NVFP4 量子化の品質検証
01/09Llama-4-Scout-17B-16E-Instruct-NVFP4NVFP4 版比較
01/09Command-A-Reasoning-NVFP4推論特化モデル
01/09IQuest-Coder-V1-40B-Loop-Instruct-NVFP4Loop 版 NVFP4
01/09MiroThinker-v1.5-30B30B 思考モデル
01/09IQuest-Coder-V1-40B-Loop-InstructLoop 版オリジナル
01/09IQuest-Coder-V1-40B-InstructDense オリジナル
01/11Llama-4-Maverick-17B-128E-Instruct (GGUF)128 expert MoE
01/11plamo-2-translate翻訳特化モデル
01/11functiongemma-270m-it軽量 Function Call テスト
01/11gemma-3-270m-it-NVFP4超軽量 NVFP4
01/11gemma-3-27b-it-NVFP4A1627B NVFP4
01/11gpt-oss-20b20B Dense
01/11gemma-3-27b-it27B オリジナル
01/11Qwen3-Coder-30B-A3B-Instruct-NVFP4MoE コーダー、3B active
01/11gpt-oss-120b120B オリジナル重み
01/11Monstral-123B-v2-NVFP4123B MoE NVFP4
01/11LTX-2動画生成モデル
01/12Mixtral-8x22B (imatrix GGUF)8x22B MoE
01/20Nemotron-3-Nano-30B-A3B-NVFP4NVIDIA MoE 30B
01/20Qwen3-Coder-30B-A3B-Instruct-FP8FP8 版比較
01/22GLM-4.7-Flash7B Flash モデル

2026年2月

日付モデル備考
02/05Nemotron-3-Nano-30B-A3B-NVFP4 (nvidia公式)公式 NVFP4 再検証
02/13Qwen3-Next-80B-A3B-Thinking (GGUF)80B MoE Thinking
02/14Step-3.5-Flash (GGUF)Flash 系
02/15Kimi-K2.5 (GGUF)1T MoE 量子化
02/15GLM-5 (GGUF)GLM 次世代
02/15GLM-4.7-Flash (GGUF)GGUF 版 Flash
02/15GLM-4.7-Flash-Uncensored (imatrix GGUF)検閲なし版
02/15Qwen3-Coder-Next (GGUF)Next 世代コーダー
02/16DeepSeek-V3.2-Speciale (GGUF)V3.2 特化版
02/16gpt-oss-120b-NEO (imatrix GGUF)NEO imatrix 版
02/17MiniMax-M2.5 (GGUF)230B MoE
02/17Qwen3-Coder-Next-NVFP4NVFP4 版
02/18Step-3.5-Flash (GGUF, ubergarm)別量子化
02/18Ace-Step1.5音楽生成モデル
02/18Voxtral-Mini-4B-Realtime音声リアルタイム
02/18FLUX.2-klein-9B画像生成
02/18GLM-5 (GGUF, ubergarm)別量子化
02/18LFM2-8B-A1BLiquid Foundation Model
02/19LFM2-8B-A1B (GGUF)GGUF 版
02/19LFM2.5-1.2B-Thinking超軽量 Thinking
02/19LFM2.5-VL-1.6B超軽量 Vision-Language
02/19LFM2.5-1.2B-Instruct超軽量 Instruct
02/19Devstral-2-123B-Instruct (GGUF)123B コーディング
02/19Qwen3.5-397B-A17B (GGUF)397B MoE
02/20MiroThinker-v1.5-235B (GGUF)235B 思考モデル
02/21Qwen3.5-397B-A17B (GGUF, ubergarm)別量子化
02/23MiniMax-M2.5 (GGUF, AesSedai)別量子化
02/24Kimi-K2.5 (GGUF, ubergarm)別量子化
02/24Qwen3-Next-80B-A3B-Instruct-NVFP4NVFP4 版
02/24Qwen3-Next-80B-A3B-Thinking-NVFP4Thinking NVFP4
02/25Qwen3.5-35B-A3B (GGUF)35B MoE
02/25Qwen3.5-122B-A10B (GGUF)122B MoE
02/25Qwen3.5-122B-A10B-NVFP4NVFP4 版
02/25Qwen3.5-27B27B Dense
02/25Qwen3.5-122B-A10B (GGUF, ubergarm)別量子化

2026年3月

日付モデル備考
03/02Nemotron-Nano-9B-v2-Japanese (GGUF)日本語特化
03/02Nemotron-Nano-9B-v2-Japaneseオリジナル
03/03Qwen3.5-27B (GGUF, bartowski)GGUF 版
03/03Qwen3.5-27B (GGUF, ubergarm)別量子化
03/06pplx-embed-context-v1-0.6bPerplexity 埋め込み
03/06pplx-embed-v1-0.6bPerplexity 埋め込み
03/06pplx-embed-context-v1-4b4B 埋め込み
03/06pplx-embed-v1-4b4B 埋め込み

傾向

3か月の試行内容を整理しました。

  • 1月: 基本的なモデル選定。Dense コーディングモデル(IQuest-Coder 40B)と MoE(Scout, Maverick)の比較、NVFP4 量子化の品質検証が中心
  • 2月前半: GLM, Kimi, DeepSeek など中国系モデルの評価が増える。Flash 系の軽量モデルも試行
  • 2月後半: Qwen3.5 世代の MoE(397B, 122B, 35B)が中心に。量子化手法ごとの比較(同一モデルの GGUF/NVFP4/FP8 を複数試す)が増える
  • 3月: 日本語特化モデル(Nemotron-Nano-9B-v2-Japanese)と埋め込みモデル(Perplexity)の検証に移行

同じモデルを複数の量子化形式で取得しています。ik_llama.cpp の部分オフロードで、GPU / CPU の割り当てと速度にどう影響するかを確認するためです。


今後

ローカルLLM導入に向け、まずモデルの組み合わせを決め、その後に次の処理を実装する予定です。Dagster と日次 LoRA 更新はまだ動いていません。

  • ik_llama.cpp の部分オフロードで安定したモデル組み合わせを確定させる
  • Dagster で冪等パイプラインを構築し、CPU レーンを非同期処理専用にする
  • GPU レーンのベースモデルに対して、Dagster asset からの日次 LoRA 適用を開始する
  • ctree + pathfinder の MCP ツールを Dagster asset の入力として組み込む