3行でいうと

  • コーディング専用の公開モデルは、QwenのCoder系とMistralのDevstral系が公式カードで確認できました。
  • Devstral Small 2(24B)のカードは「32GBメモリのMacで動く」と明記し、ライセンスはApache 2.0です。
  • Qwen3-Coder-Next(80B)は4ビット版でも約48GBあり、32GBのMacには載りません。
  • Devstral 2(123B)のライセンスは月の売上が2,000万ドルを超える会社は使えない条件つきです。

この記事は、実際に使って確かめた記録ではありません。この記事は公式の文書やモデルカードを読んでまとめたものです。メモリの計算は、公開されているファイルの大きさと設定ファイルの値からの、僕らの計算です。

先に結論

「コーディング向け」と呼べるモデルは、2つに分かれます。

  1. 専用モデル:コードを書いたり直したりする作業のために、名前に「Coder」や「Devstral」が付いて作られたもの。
  2. 汎用だがコーディングを売りにするモデル:文章も画像も扱うが、カードの成績表にコーディングの項目が並ぶもの。

見立てです。32GBメモリのMacで、手元で動かして実用になりそうなのは、ファイルが約14〜19GBの範囲に収まるものだと思います。具体的には、Devstral Small 2(24B)、Qwen3-Coder-30B-A3B、Qwen3.8-27B、Gemma 4の26B A4Bあたりです。gpt-oss-20bは、公式が16GBのメモリで動くと書いているので、より軽い選択肢です。80B以上のモデルは、32GBでは載りません。

どれが一番よいか、という比較はしません。成績表の条件がモデルごとに違い、並べて優劣を決められないためです。

前提:言葉の整理

専用モデル

Mistral:Devstral Small 2(24B)とDevstral 2(123B)

どちらもMistral AIのモデルで、Hugging Face上の作成日は2025年11月28日です。カードの説明は「ソフトウェア開発のためのエージェント型のモデル」です。

Devstral Small 2のカードに書かれていることです。

Devstral 2(123B)は、同じカードの表でSWE-bench Verifiedが72.2%です。ただし、ライセンスはApache 2.0ではなく、Mistralの「Modified MIT License」です。ライセンス本文には、会社の月間売上(連結)が2,000万ドルを超える場合、この許諾の権利を行使できない、と書かれています(商用ライセンスは、Mistralに連絡して個別に得る形です)。法律の判断ではなく、条文の紹介です。実際の利用は、条文を読み、必要なら専門家に相談してください。

Qwen:Qwen3-Coder-Next(80B-A3B)とQwen3-Coder-30B-A3B

Alibabaのチームが出しているCoder系です。どちらもライセンスはApache 2.0です。

Qwen3-Coder-Nextは、「ローカルでの開発のために」と言いつつ、ファイルは大きめです。Unslothという第三者が公開している4ビット版(Q4_K_M)は、Hugging Faceのファイル一覧で約48.5GBでした。32GBのMacには載りません(次の節で整理します)。

DeepSeekとQwen3.8のFlash系

DeepSeek-V4.1-Flashのカードは、骨格(backbone)が552Bのパラメータで、文脈1M(100万)トークンと書いています(Hugging Faceの表示のパラメータ数は763B)。ライセンスはMITと書かれています。Qwen3.8-Flash-Nextは、125B(アクティブ6B)に、埋め込み用の51Bなどが加わると書かれています。どちらも、32GBのMacで動かす対象ではありません。なお、Qwen3.8-Flash-Nextのライセンスは「qwen-community-1.0」で、条件は読めていません。

汎用だが、コーディングを売りにするモデル

動く目安:ファイルの大きさとKVキャッシュ

なお、この記事の公開年月は、Hugging Face上の作成日を目安にしています。

メモリには、モデル本体(ファイル)と、会話の途中で取っておく計算結果(KVキャッシュ)が載ります。コーディングでは、読ませるコードが長くなりがちなので、後者も無視できません。

ファイルの大きさと、KVキャッシュの計算

ファイルの大きさ(GB、10の9乗バイト)

Hugging FaceのAPIとファイル一覧で見た値です。Unslothのものは第三者の変換版で、公式の配布物ではありません。

モデル 版 大きさ 出どころ
Devstral Small 2(24B) Q4_K_M 14.33GB Unsloth
Devstral Small 2(24B) Q8_0 25.06GB Unsloth
Qwen3-Coder-30B-A3B Q4_K_M 18.56GB Unsloth
Qwen3-Coder-30B-A3B Q8_0 32.48GB Unsloth
Qwen3-Coder-Next(80B-A3B) Q4_K_M 48.53GB Unsloth
Qwen3.8-27B UD-Q4_K_M 16.46GB Unsloth
Qwen3.8-27B Q8_0 29.05GB Unsloth
gpt-oss-20b Q4_K_M 11.62GB Unsloth
Gemma 4 12B Q4_0(QAT) 6.98GB Google公式
Gemma 4 26B A4B Q4_0(QAT) 14.44GB Google公式
Gemma 4 31B Q4_0(QAT) 17.65GB Google公式

QATは、最初から4ビットで動かす前提で学習し直す方法で、Googleのカードは「bfloat16に近い品質を保ちつつ、メモリを大きく減らす」と説明しています。Gemma 4のGGUFには、画像用の補助ファイル(12Bは0.18GB、26B A4Bと31Bは約1.2GB)が別にあります。

KVキャッシュ(僕らの計算です)

1トークンあたり「2×層数×KVヘッド数×ヘッド次元×2バイト」(16ビットの場合)です。設定ファイル(config.json)の値を使いました。

モデル 層数 KVヘッド数 ヘッド次元 1トークン 32,768トークン 65,536トークン
Devstral Small 2 40 8 128 160KiB 5.37GB 10.74GB
Qwen3-Coder-30B-A3B 48 4 128 96KiB 3.22GB 6.44GB

Qwen3.8-27B、gpt-oss-20b、Gemma 4は、見る範囲を区切る層(スライディングウィンドウ)や別方式の層が混ざるため、この式をそのまま当てはめていません。

合計の例(僕らの計算です)

  • Devstral Small 2のQ4_K_M+32,768トークン:14.33+5.37=約19.7GB
  • Devstral Small 2のQ4_K_M+65,536トークン:14.33+10.74=約25.1GB
  • Qwen3-Coder-30B-A3BのQ4_K_M+32,768トークン:18.56+3.22=約21.8GB
  • Qwen3-Coder-30B-A3BのQ4_K_M+65,536トークン:18.56+6.44=約25.0GB

実行時の余分な領域と、macOS自身の使う分は含んでいません。

見立てです。上の計算を見ると、32GBのMacでは、24B〜30B級の4ビット版に32,768トークン前後の文脈なら収まりそうですが、65,536トークンになると、OSや他のアプリの分を考えて余裕が小さいと思います。KVキャッシュの精度を下げる設定や、文脈を短くする設定が役に立ちます(文脈とメモリの関係は、別の記事で詳しく扱います)。

Qwenのカードは、メモリ不足になったら、文脈の長さを32,768トークン程度まで短くするよう勧めています。

選び方・判断の基準

見立てです。

  1. まず、載るかどうか:ファイルの大きさに、KVキャッシュを足して、メモリの7〜8割以下に収める。
  2. 次に、ライセンス:仕事で使うなら、Apache 2.0か、条件つきか、先に読む。Devstral 2のような売上の条件は、個人利用でも、会社の名義で使うと関わりうる。
  3. 使い方に合う形か:エージェント型の道具(コマンドを自動実行する仕組み)につなぐなら、「tools」(道具の呼び出し)に対応と書かれたモデルを選ぶ。Ollamaの配布ページには、対応の表示がある。
  4. 成績表は参考程度に:測定の条件(道具の枠組み、文脈の長さ、試行回数)がカードごとに違う。同じ表の中で比べる。

よくあるつまずき

気をつけること

出典

更新履歴