Gemma 4 12BはオープンウェイトでApache 2.0ライセンスのため、API料金やサブスクリプションなしで利用できます。モデルをダウンロードして自分のマシンで実行するか、ブラウザで試せます。必要なコストは、実行に使う手元のハードウェアだけです。
まず押さえておくべき点は、12Bがローカルおよびオンデバイス用途向けに作られていることです。より大型の31Bと26Bは、GoogleがAI Studioで無料チャット用にホストしています。12Bの主な利点は、16GBクラスのノートPCでも動かせることです。モデル仕様を先に確認したい場合は、Gemma 4 12Bとはを参照してください。
この記事では、ブラウザでの即時デモから、ローカルAPIとしてアプリに組み込める構成まで、無料で試せる6つの方法を実装手順ベースで紹介します。
クイックサマリー
| 方法 | 得られるもの | 最適な用途 |
|---|---|---|
| Hugging Face Space | ブラウザチャット、インストール不要 | 1分で試す |
| Ollama | ローカルモデル + OpenAI互換API | 開発者向け、ワンコマンド |
| LM Studio | GUI付きローカルデスクトップアプリ | ターミナル不要 |
| llama.cpp | 軽量ローカルAPIサーバー | 上級者向け、低オーバーヘッド構成 |
| HF Transformers | Python、完全制御、無料Colab GPU | ノートブック、検証、ファインチューニング |
| Google AI Edge | オンデバイス、モバイル | スマートフォン、エッジハードウェア |
方法1: ブラウザで試す(インストール不要)
最短で動作確認するなら、Hugging Faceの公式デモSpaceを使います。ダウンロード、アカウント作成、GPUは不要です。
手順:
- Gemma 4 12Bデモスペースを開く
- プロンプトを入力する
- 必要に応じて画像または音声クリップをアップロードする
- 応答を確認する
この方法は、モデルの雰囲気やマルチモーダル入力を素早く確認する用途に向いています。アプリケーションに組み込む段階では、次のOllamaやllama.cppのようなローカルAPI方式に移行すると扱いやすくなります。
方法2: Ollama(開発者向けの標準ルート)
Ollamaは、Gemma 4 12Bをローカルで起動し、OpenAI互換APIとして使う最も簡単な方法です。
Ollamaをインストールする
macOSまたはLinux:
curl -fsSL https://ollama.com/install.sh | sh
Windowsでは、ollama.comからインストーラーをダウンロードして実行します。
モデルをダウンロードして実行する
ollama pull gemma4:12b
ollama run gemma4:12b
ollama pullはモデルをダウンロードします。デフォルトでは4ビットQ4_K_Mビルドで、サイズは約8GBです。
ollama runを実行すると、ターミナル上で対話チャットが始まります。終了するには次を入力します。
/bye
ローカルAPIとして呼び出す
Ollamaはhttp://localhost:11434でOpenAI互換REST APIを公開します。APIキー、クラウド契約、レート制限は不要です。
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gemma4:12b",
"messages": [
{
"role": "user",
"content": "Explain how transformers work in two sentences."
}
]
}'
OpenAI互換のため、OpenAI SDKや対応ツールではベースURLを次のように差し替えるだけで使えます。
http://localhost:11434/v1
IDEやエージェントツールに接続する場合も同じ考え方です。設定パターンはCursorでのDeepSeek V4ウォークスルーと同様で、モデル名をgemma4:12bに置き換えます。
よく使うOllamaコマンド:
ollama list # ダウンロード済みモデルを表示
ollama ps # 実行中のモデルを表示
ollama show gemma4:12b # モデル詳細を表示
方法3: LM Studio(ターミナル不要)
コマンドラインを使いたくない場合は、Windows、macOS、Linux向けのデスクトップアプリであるLM Studioを使います。
手順:
- LM Studioをダウンロードしてインストールする
- モデルカタログで Gemma 4 12B を検索する
- RAMに合う量子化ビルドを選んでダウンロードする
- Chatタブを開いてプロンプトを入力する
LM Studioはローカルサーバーも起動できます。通常はポート1234でOpenAI互換エンドポイントを公開するため、GUIで試したあと、そのままAPIとして呼び出せます。
コードよりもチャットUIで検証したい場合や、非エンジニアと一緒にプロンプトを確認したい場合に向いています。
方法4: llama.cpp(軽量で高速)
llama.cppは、GGUFモデルを低オーバーヘッドで実行できる軽量な推論エンジンです。OpenAI互換サーバーも起動できます。
インストール
macOS:
brew install llama.cpp
Windows:
winget install llama.cpp
サーバーを起動する
公式GGUFビルドを指定してllama-serverを起動します。正確な12Bリポジトリ名は、Hugging Faceのggml-org/gemma-4コレクションで確認してください。
llama-server -hf ggml-org/gemma-4-12B-it-GGUF
起動後、次のOpenAI互換APIが使えます。
http://localhost:8080/v1
Ollamaより細かくチューニングしたい場合、依存関係を少なくしたい場合、または軽量なサーバー構成を作りたい場合に適しています。
方法5: Hugging Face Transformers(Pythonで完全制御)
ノートブック、検証スクリプト、ファインチューニング用途では、Hugging Face Transformersを使います。ローカルGPUがない場合は、無料のGoogle Colab GPUで試せます。
ライブラリをインストールする
pip install transformers torch accelerate torchvision
# 音声や動画入力を扱う場合
pip install librosa
Pythonで推論する
from transformers import AutoProcessor, AutoModelForMultimodalLM
MODEL_ID = "google/gemma-4-12B-it"
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForMultimodalLM.from_pretrained(
MODEL_ID,
dtype="auto",
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Write a short joke about saving RAM."},
]
inputs = processor.apply_chat_template(
messages,
tokenize=True,
return_dict=True,
return_tensors="pt",
add_generation_prompt=True,
enable_thinking=False,
).to(model.device)
input_len = inputs["input_ids"].shape[-1]
outputs = model.generate(
**inputs,
max_new_tokens=1024,
)
response = processor.decode(
outputs[0][input_len:],
skip_special_tokens=False,
)
print(processor.parse_response(response))
多段階推論を使いたい場合は、次のように変更します。
enable_thinking=True
画像または音声ファイルを渡す場合は、テキストの前に画像コンテンツ、必要に応じて音声コンテンツを含むリストを追加します。
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": "path/to/image.png"},
{"type": "text", "text": "この画像を説明してください。"},
],
}
]
Kaggleにもウェイトが公開されています。より詳しいコードパターンは開発者ガイドを参照してください。
方法6: Google AI Edge(オンデバイスおよびモバイル)
スマートフォンやエッジデバイスでGemma 4 12Bを動かす場合は、GoogleのAI Edgeスタックを使います。Google AI Edge GalleryアプリとLiteRT-LM CLIの両方で、12Bをオンデバイス実行できます。
LiteRT-LMでローカルサーバーを使う例:
litert-lm import \
--from-huggingface-repo=litert-community/gemma-4-12B-it-litert-lm \
gemma-4-12B-it.litertlm gemma4-12b
litert-lm serve
この構成は、データをデバイス外へ出したくないオフラインモバイルアシスタントや組み込みアプリに向いています。
ApidogでローカルGemma 4 12B APIをテストする
Ollamaまたはllama.cppでGemma 4 12Bを起動すると、ローカルマシン上にHTTP APIができます。アプリに組み込む前に、APIクライアントでリクエストとレスポンスの形を確認しておくと実装が安定します。Apidogを使うと、この確認をGUIで行えます。
Ollama APIをApidogで呼び出す
- Apidogをダウンロードする
- 新しいHTTPプロジェクトを作成する
-
POSTリクエストを追加する - URLに次を設定する
http://localhost:11434/v1/chat/completions
- BodyをJSONに設定する
- 次のペイロードを貼り付ける
{
"model": "gemma4:12b",
"messages": [
{
"role": "user",
"content": "Return a JSON object with two fields: city and country."
}
],
"stream": false
}
llama.cppと切り替えやすくする
Ollamaとllama.cppを使い分ける場合は、ベースURLを環境変数にしておくと便利です。
OLLAMA_BASE_URL=http://localhost:11434/v1
LLAMACPP_BASE_URL=http://localhost:8080/v1
Apidog側で環境を切り替えれば、同じリクエスト定義のままエンドポイントだけを変更できます。
レスポンスを検証する
GemmaにJSONを返させる用途では、アプリケーションコードに組み込む前に次を確認します。
-
contentフィールドに期待した文字列が入っているか - JSONとしてパースできる形式か
- 必須フィールドが存在するか
-
stream: trueにした場合、ストリーミング応答が正しく表示されるか
{
"model": "gemma4:12b",
"messages": [
{
"role": "user",
"content": "Return only valid JSON: {\"city\": string, \"country\": string}."
}
],
"stream": true
}
プロンプトのミス、フィールド名の誤り、JSON形式の崩れは、アプリケーション内で発見するよりAPIクライアント上で先に潰した方が効率的です。
APIクライアントを比較している場合は、無料のオンラインAPIテストツールと最適なPostman代替品も参考になります。同じテストフローはOpenAI互換エンドポイント全般に使えるため、PostmanでAPIをテストする方法のようなワークフローにもそのまま応用できます。
どの量子化を選ぶべきか?
Gemma 4 12Bは、量子化の強さによって必要メモリと品質が変わります。
| ビルド | 必要なメモリ | トレードオフ |
|---|---|---|
| フル精度 | 約16GB | 最高の品質 |
| 8ビット | 約14GB | ほぼフル品質 |
| 4ビット(Q4_K_M) | 約8GB | わずかな品質低下、幅広い環境で動作 |
Ollamaはデフォルトで4ビットビルドを使用します。そのため、8GB GPUや16GBユニファイドメモリのMacBookでも動かしやすい構成です。
余裕がある場合は8ビットビルドを選ぶと品質を上げられます。ただし、メモリ不足でスワップが発生すると大きく遅くなるため、まずは4ビットで安定動作を確認するのが安全です。
どの無料方法を選ぶべきか?
用途別の選び方は次のとおりです。
- まず触ってみたいだけ: Hugging Face Space
- アプリからローカルAPIとして呼びたい: Ollama
- ターミナルを使いたくない: LM Studio
- 軽量な構成にしたい: llama.cpp
- Pythonで細かく制御したい: Hugging Face Transformers
- ノートブックやファインチューニングをしたい: Transformers + 無料Colab GPU
- スマートフォンやエッジデバイスで動かしたい: Google AI Edge
多くの開発者にとっては、日常的なローカルAPI用途にOllama、実験や細かい制御にTransformers、という組み合わせが扱いやすいです。
無料のローカルGemmaを実用的に使うコツ
- 量子化をRAMに合わせる。 メモリ不足でスワップすると推論が大幅に遅くなります。最初は4ビットが安全です。
-
難しい問題では思考モードを使う。 数学や多段階推論では
enable_thinking=True、通常のチャットではFalseにして速度を優先します。 - コンテキストを増やしすぎない。 256Kウィンドウは大きいですが、長いログ、議事録、コードベースを入れるとすぐに膨らみます。
- 先にApidogでリクエストを検証する。 アプリ実装前にJSON形式、ストリーミング、エラーケースを確認します。
- 他の無料モデルと同じ構成で比較する。 同じローカルAPI検証パターンは、Qwen 3.7、MiniMax M3、Claude Opus 4.8のアクセスパスでも使えます。
よくある質問
Gemma 4 12Bは本当に無料ですか?
はい。Apache 2.0オープンウェイトで、商用利用を含め無料でダウンロードして実行できます。費用が発生するのは、実行に使うローカルハードウェアまたはクラウド環境です。
GPUは必要ですか?
必須ではありません。ただし、GPUがある方が高速です。4ビットビルドは8GB GPUまたは16GBユニファイドメモリのMacで動作します。CPUのみでも動きますが、推論速度は遅くなります。
Google AI StudioでGemma 4 12Bを使えますか?
現在はできません。AI Studioでは、無料ブラウザチャット用に31Bおよび26Bモデルがホストされています。12Bはローカルおよびオンデバイス利用向けのため、この記事で紹介した方法で自分の環境にセットアップします。
ローカルAPIにAPIキーは必要ですか?
不要です。Ollamaとllama.cppはキーなしでlocalhostにモデルを公開します。ツール側がAPIキー入力を求める場合は、任意のプレースホルダー文字列を入れてください。ローカルサーバー側では無視されます。
既存のOpenAIコードから呼び出せますか?
はい。Ollamaとllama.cppはOpenAI互換エンドポイントを公開します。ベースURLを次のいずれかに変更すれば、既存コードを大きく変えずに使えます。
http://localhost:11434/v1 # Ollama
http://localhost:8080/v1 # llama.cpp
画像や音声入力はどう扱いますか?
マルチモーダル入力をサポートするTransformers、LM Studio、またはAI Edgeアプリを使います。Transformersでは、メッセージのcontentに画像、テキスト、音声の要素を順に追加して渡します。
Ollamaとllama.cppはどちらが速いですか?
どちらも同じ系統の基盤エンジンを使います。llama.cppはオーバーヘッドが少なくチューニング項目も多い一方、Ollamaはセットアップが簡単です。ほとんどの用途では、まずOllamaで始め、必要に応じてllama.cppへ移行するのが現実的です。




Top comments (0)