Googleは2026年6月3日にGemma 4 12Bをリリースしました。ローカルでコードを書く開発者がまさに求めていたサイズです。十分な推論能力を持ちながら、すでに手元にあるノートPCで動かせます。
最大のポイントは新しい中間サイズの登場です。これまでのGemma 4ラインナップには、小型のエッジモデルと26Bのフラッグシップモデルがあり、その間にギャップがありました。12Bはこの空白を埋める存在です。Googleによると、ベンチマーク性能は26Bモデルに迫りつつメモリ使用量は半分以下で、最近のMacやミドルレンジGPUがすでに満たしている16GBという下限に収まります。
このガイドでは、12Bバリアントの変更点を解説し、Ollamaで実行してOpenCodeのローカルでプライベートなコーディングアシスタントとして接続する方法を紹介します。
Gemma 4 12Bの新機能
- 120億パラメータ。E4Bエッジモデルと26B Mixture-of-Expertsフラッグシップの間に位置づけられています。
- ネイティブマルチモーダル入力。 テキスト、画像、音声を同じモデルに入力できます。アーキテクチャはエンコーダーフリーで、画像は軽量な埋め込みモジュールを通し、生の音声はテキストトークン空間に直接射影されます。ビジョンエンコーダーを後付けする方式と比べて、構造がシンプルです。
- 26Bモデルに迫る推論性能。 Googleによると、12Bのベンチマーク性能は26Bバリアントに近づいており、メモリフットプリントは半分未満です。
- Multi-Token Prediction(MTP)ドラフターによる低遅延化。トークンごとの応答を待つインタラクティブな用途で特に効果を発揮します。
- エージェントワークフロー対応。 ツール呼び出しや複数ステップのコーディングループも、後付けの機能ではなく最初から第一級機能として設計されています。
- Apache 2.0ライセンス。 商用利用・ファインチューニング・再配布が可能です。Gemma 4ファミリーのダウンロード数は1億5000万回を突破しました。
重みはHugging FaceとKaggleで公開されており、Transformers、llama.cpp、MLX、SGLang、vLLMで初日からサポートされています。Ollamaはllama.cppとGGUFをベースにしているため、12Bは以前のGemma 4モデルと同じように動作します。
Gemma 4 12Bとファミリー他モデルの比較
| バリアント | 最適な用途 | メモリ |
|---|---|---|
| E4B(エッジ) | スマートフォン、組み込み・オンデバイスアプリ | 最小限 |
| 12B(新) | ノートPCでのローカルコーディング+画像・音声 | 16GB以上 |
| 26B MoE(フラッグシップ) | より高度な推論、大規模なマルチファイル作業 | 24GB以上 |
より軽量なマシンを使っている場合や、小型のデフォルトモデルで十分な場合は、従来のGemma 4 + Ollama + OpenCodeセットアップが引き続き有効です。12Bは、メモリ容量に余裕があり、26Bに移行せずに、より強い推論性能が欲しいときのアップグレード先です。
必要なもの
- Apple Silicon(M1〜M5)搭載のMac(ユニファイドメモリ16GB以上)、または16GB以上のGPUを搭載したPC
- macOSの場合はHomebrew
- OpenCodeのインストール(opencode.aiを参照)
Googleが示す最低要件は16GBです。この水準であれば、日常的な作業で12Bを快適に実行できます。24GB以上あれば、長時間のセッションや大きなコンテキストウィンドウも心配無用です。
ステップ1:Ollamaのインストール
macOSの場合:
brew install --cask ollama-app
open -a Ollama
Linuxの場合:
curl -fsSL https://ollama.com/install.sh | sh
メニューバーアイコン(macOS)またはサービスの起動を待ってから、サーバーが動作しているか確認します:
ollama list
ローカルAPIは http://localhost:11434 で動作します。
ステップ2:Gemma 4 12Bを取得する
ollama pull gemma4:12b
デフォルトの4ビット量子化ではダウンロードサイズは約8GBです。ダウンロードできたか確認します:
ollama list
# NAME ID SIZE MODIFIED
# gemma4:12b ... ~8 GB ...
簡単な動作確認を実行します:
ollama run gemma4:12b "Write a small TypeScript function that debounces a callback"
GPUで処理されているか確認します:
ollama ps
# Should show a CPU/GPU split, e.g. 12%/88% CPU/GPU
Apple Siliconでは、最近のOllamaビルドがAppleのMLXバックエンドを自動的に使用するため、アクセラレーションのための追加設定は不要です。
タグが見つからない場合 Gemma 4 12Bはリリースされたばかりなので、Ollamaレジストリにまだ
gemma4:12bがない場合は、Hugging Faceから公式GGUFを取得してインポートするか、Ollamaを更新(brew upgrade ollama-app)して再試行してください。
ステップ3:Gemma 4 12BをOpenCodeに接続
OpenCodeは ~/.config/opencode/opencode.jsonc から設定を読み込みます。Ollamaをカスタムプロバイダーとして追加します:
{
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"gemma4:12b": {}
}
}
}
}
Ollamaはキーの検証を行いませんが、OpenCodeには認証エントリが必要です。~/.local/share/opencode/auth.json にプレースホルダーを追加します:
{
"ollama": {
"type": "api",
"key": "ollama"
}
}
OpenCodeを再起動し、/models を実行して ollama/gemma4:12b に切り替えます。これで、コードを1行もマシンの外に送信しないコーディングアシスタントが使えるようになります。
ステップ4:モデルをメモリに常駐させる
デフォルトでは、Ollamaは約5分間アイドル状態が続くとモデルをアンロードするため、ターミナルに戻るたびにコールドスタートが発生します。常駐させるには:
launchctl setenv OLLAMA_KEEP_ALIVE "-1"
Ollamaを再起動して変更を反映させます。OS再起動後も設定を維持するには、~/.zshrc に以下を追加します:
export OLLAMA_KEEP_ALIVE="-1"
Ollamaのメニューバーアイコンからログイン時に開くを有効にすれば、作業を始める前にサーバーの準備が整います。
OpenCodeでGemma 4 12Bが得意なこと
パラメータ数の増加とMTPドラフターの効果は、より小型のモデルでは物足りなかった作業で最も顕著に表れます:
- マルチステップ編集。 複数ファイルにまたがる計画を8Bより正確に把握できるため、小規模なリファクタリングが一発で通ることが増えます。
- コードの説明とレビュー。 モジュールの役割やバグが潜んでいそうな場所を尋ねると、より的確な回答が返ってきます。
- ボイラープレートとスキャフォールディング。 設定ファイル、テストスタブ、ルートハンドラー、CRUD層がきれいに生成されます。
- 画像入力。 12Bはマルチモーダルなので、エラーダイアログのスクリーンショットやUIモックアップを渡して修正やコンポーネントの生成を依頼できます。別途ビジョンモデルを用意する必要はありません。
まだ苦手なこと
- 大規模な横断的リファクタリング。 十数ファイルにまたがる連携変更はまだズレが生じます。12Bは8Bより改善していますが、根本的な解決には至っていません。
- 最も難しいデバッグ。 複数の抽象化レイヤーにまたがるバグや深いドメイン知識が必要なケースでは、フロンティアクラウドモデルにまだ分があります。
- 16GBでの超長コンテキスト。 モデルは大きなコンテキストウィンドウをサポートしていますが、16GBマシンではメモリ不足時に品質が低下します。入力をある程度抑えるか、24GB以上に移行してください。
ハイブリッド運用:ローカルのGemma 4 12B+クラウドモデル
日常的な作業の7割をローカルでこなし、難しい3割だけクラウドに振る、という運用に落ち着く人が多いです。それぞれの選択肢は以下の通りです:
- haimaker.ai — Claude Opus、GPT-5、Gemini Proをはじめ数百のモデルを1つのAPIキーで利用可能。統一された料金体系とベンチマークで、ルーティング前に比較・検討できます。
- Ollama — ローカルのGemma 4 12B。無料でプライベート、日常的な編集やコードの参照に最適。
- プロバイダーAPIを直接利用 — 1つのクラウドベンダーだけで十分で、キーをプロバイダーごとに自分で管理したい場合。
OpenCodeにHaimakerをOllamaと並べて追加します:
{
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"gemma4:12b": {}
}
},
"haimaker": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://api.haimaker.ai/v1"
},
"models": {
"anthropic/claude-sonnet-4-6": {},
"openai/gpt-5": {},
"google/gemini-2.5-pro": {}
}
}
}
}
Haimakerキーを auth.json に追加します:
{
"ollama": {
"type": "api",
"key": "ollama"
},
"haimaker": {
"type": "api",
"key": "YOUR_HAIMAKER_API_KEY"
}
}
簡単な作業にはGemma 4 12Bを使い、タスクが難しくなったら /models でSonnetやGPT-5に切り替えます。すべてをフロンティアモデルで実行する場合と比べて、クラウド費用を大幅に削減できます。手動切り替えを省略したい場合は、Haimakerの自動ルーターがタスクの複雑度を検出してモデルを自動選択します。
haimaker.ai でサインアップし、モデルカタログ全体をご覧ください。
トラブルシューティング
/modelsにプロバイダーが表示されない。 設定を編集した後はOpenCodeを再起動してください。実行中に opencode.jsonc は再読み込みされません。
「Model not found」エラー。 ollama list を実行し、モデルIDが完全に一致していることを確認してください。通常は gemma4:12b です。タグがまだレジストリにない場合は、ステップ2のHugging Face GGUFインポートに関する注記を参照してください。
Ollamaでの認証エラー。 "key": "ollama" にプレースホルダーの auth.json があれば十分です。OpenCodeはエントリが存在すれば十分です。
生成が遅い。 Apple SiliconでMLXアクセラレーションを利用するには、最新のOllamaビルドを使用していることを確認してください(ollama --version)。メモリを大量に消費するアプリを閉じましょう。16GB環境では、動画を再生しているブラウザタブが数個あるだけでスワップに追い込まれることがあります。
長いプロンプトで品質が低下する。 16GBマシンでのメモリ不足が原因です。コンテキスト入力を控えめにするか、24GB以上に移行して余裕を確保してください。
便利なOllamaコマンド
| コマンド | 説明 |
|---|---|
ollama list | ダウンロード済みモデルの一覧表示 |
ollama ps | 実行中のモデルとメモリ使用量の表示 |
ollama run gemma4:12b | インタラクティブチャット |
ollama stop gemma4:12b | メモリからアンロード |
ollama pull gemma4:12b | 最新バージョンへの更新 |
ollama rm gemma4:12b | モデルの削除 |
まとめ
Gemma 4 12Bは、多くの人が待っていたローカルモデルです。マルチモーダル対応、Apacheライセンス、16GBのノートPCで日常的なコーディングの大部分をこなせる十分な性能を備えています。Ollamaで実行し、OpenCodeから接続すれば、ルーティンワーク用のプライベートアシスタントが手に入ります。難しい問題には、/models で切り替えられるクラウドモデルを用意しておけば、ローカル実行の速度とプライバシーを維持しつつ、推論能力の天井にぶつかることもありません。
ローカル環境のセットアップが初めての方は、より小型のデフォルトモデル向けのGemma 4 + OpenCodeガイドから始めるか、OpenClawを使っている場合はGemma 4 + OpenClawセットアップを参照してください。クラウドの料金についてはモデルカタログをご覧ください。