Files
gemma4-research/CORPUS_ollama_variants.md
T
Mortdecai 2336fb437e docs: add gemma4:12b variant + smoke-test results
- 11.9B dense, 256K ctx, Q4_K_M, vision+audio+tools+thinking
- requires Ollama >= 0.30.5; upgraded steel141 0.20.4 -> 0.30.8 to pull
- smoke-tested 2026-06-16: text/vision/tools pass at 70 tok/s 100% GPU on 3090 Ti
- flag: mort-bakeoff 0.20.4 thinking-in-context pin now needs re-verification
- audio capability listed by ollama show but UNVERIFIED through API

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 17:51:30 -04:00

4.2 KiB
Raw Blame History

Gemma 4 on Ollama — Available Variants

Last verified against Seth's homelab: 2026-06-16 (12b added; steel141 Ollama upgraded 0.20.4 → 0.30.8)

Ollama Model Tags

Tag Params Quant Size on Disk VRAM Notes
gemma4:e4b-it-q8_0 ~8B total / 4B effective Q8_0 11.6GB ~12GB Vision + audio capable. ~25 tok/s on V100
gemma4:12b 11.9B dense Q4_K_M (default) 7.6GB ~8.4GB Released 2026-06-03, Apache-2.0. Encoder-free unified multimodal — ollama show lists vision + audio + tools + thinking. 256K context (262144). 52.4M CLIP projector. Smoke-tested on steel141 2026-06-16: text reasoning correct, vision accurate (shapes/colors/spatial/OCR), tool call fired on explicit ask — all at 70 tok/s, 100% GPU on 3090 Ti. Fits a 16GB laptop. Requires Ollama ≥ 0.30.5 (HTTP 412 on older — this gated the whole 0.20.x homelab). Separate gemma4:12b-mtp tag adds Multi-Token-Prediction drafters (1.42.2× speculative decode). Google: near-26B-MoE quality at <½ the memory; beats Gemma 3 27B on GPQA Diamond / MMLU-Pro / DocVQA.
gemma4:26b 25.2B total / 3.8B active (MoE) Q4_K_M (default) 18.0GB ~18GB Sweet spot for quality/speed. ~134 tok/s on 3090 Ti. 8 experts active of 128 + 1 shared — runs at ~4B-speed, hence throughput. Q4_K_M inference is standard (Mixtral/DeepSeek ship same); the "MoE quality degrades at 4-bit" caveat is a training-time concern, not inference. See tooling/huggingface/model-cards/gemma-4-26B-A4B-it-README.md for the full card.
gemma4:31b-it-q4_K_M 31.3B Q4_K_M 19.9GB ~24.5GB Sharpest but 5x slower (~28 tok/s on 3090 Ti, memory pressure)

Throughput note: gemma4:12b (70 tok/s) is slower per-token than gemma4:26b (~134 tok/s) despite being smaller — because 26b is MoE (only ~3.8B params active per token) while 12b is fully dense (all 11.9B active). Pick 12b for quality-per-VRAM and audio on a small box; pick 26b for raw speed when you have the VRAM.

⚠️ Ollama 0.20.4 pin invalidated (2026-06-16): steel141 was upgraded 0.20.4 → 0.30.8 to pull gemma4:12b. The mort-bakeoff-2026-04-18.md finding ("thinking does NOT accumulate in context on Ollama 0.20.4") was pinned to that version and must be re-verified on 0.30.8 before relying on it. Binary backup + override saved in .backup/ollama-bin-0.20.4-*.

Capabilities by Variant (from ollama show)

All variants support:

  • Text generation (completion, chat)
  • Vision (image input via base64 in images field)
  • Tool/function calling (native Ollama tool format)
  • Thinking (configurable — ollama show lists it; Seth's finding is to leave it false for tool-use workloads)

E-series (E2B, E4B) additionally support:

  • Audio input (conformer encoder) — but not via Ollama; requires llama.cpp with the mmproj-*-E*B-it-*.gguf projector, or vLLM's input_features_padded. See tooling/inference-frameworks/README.md.

gemma4:12b ollama show lists audio as a capability (encoder-free design projects raw waveforms directly). UNVERIFIED through the Ollama API — the 2026-06-16 smoke test covered text, vision, and tools only. Before relying on 12b audio, confirm Ollama 0.30.8 actually accepts an audio payload (historically it rejected audio for the E-series even when ollama show advertised it).

GPU Coexistence (pve197 V100 32GB)

  • gemma4:26b + SDXL Turbo: ~28.5GB peak VRAM — fits on V100-32GB
  • gemma4:31b: 24.5GB alone — memory pressure with any coexisting model
  • gemma4:e4b-it-q8_0: ~12GB — comfortable headroom

Ollama API Endpoint

  • /api/generate (single-turn, used by AI_Visualizer)
  • /api/chat (multi-turn with message history, used by Simon)
  • Both accept tools, images, stream, options, keep_alive

Important Ollama Defaults to Override

Parameter Ollama Default Recommended Why
num_ctx 2048 4096-32768 Default is absurdly small, causes truncation
num_predict 128 512-4096+ Default truncates almost all useful output
think true (Ollama 0.20+) false See GOTCHAS doc
keep_alive 5m 30m-4h Prevents expensive model reload between calls