GEMINI LABJP
NANOLITE — Nano Banana 2 Lite is here: Google's fastest and most cost-efficient Gemini Image model, made for running lightweight image generation cheaplyOMNIFLASH — Gemini Omni Flash is in public preview, a natively multimodal model that lets enterprises and developers build custom, dynamic video workflowsAGENTS — Managed Agents expand with background: true for async server-side runs and polling, remote MCP server integration, and refreshing credentials across interactionsMEMORY — The Memory Bank IngestEvents API is generally available, decoupling event ingestion from memory generation so you can stream content continuouslyTHROUGHPUT — Provisioned Throughput now lets you submit up to seven pending orders for the same model and regionDEPRECATE — Image generation models shut down on August 17, and the Grok 4.1 family on the Gemini Enterprise Agent Platform on August 20NANOLITE — Nano Banana 2 Lite is here: Google's fastest and most cost-efficient Gemini Image model, made for running lightweight image generation cheaplyOMNIFLASH — Gemini Omni Flash is in public preview, a natively multimodal model that lets enterprises and developers build custom, dynamic video workflowsAGENTS — Managed Agents expand with background: true for async server-side runs and polling, remote MCP server integration, and refreshing credentials across interactionsMEMORY — The Memory Bank IngestEvents API is generally available, decoupling event ingestion from memory generation so you can stream content continuouslyTHROUGHPUT — Provisioned Throughput now lets you submit up to seven pending orders for the same model and regionDEPRECATE — Image generation models shut down on August 17, and the Grok 4.1 family on the Gemini Enterprise Agent Platform on August 20
Articles/API / SDK
API / SDK/2026-05-04Advanced

Judging Gemma 4 and Nemotron 3 Nano Omni on 100 of My Own Images, Not a Benchmark Score

Heron-Bench and JMMMU headline scores are the wrong input for an adoption decision on local Japanese multimodal models. Using a wallpaper classifier as the case, here is how to build a 100-image eval set, weight errors by what they actually cost, and catch regressions when you re-quantize.

Gemma 412Nemotron 3 Nano OmniMultimodal AIGemini API192Evaluation3Production32Japanese LLM

Premium Article

The wallpaper app I run sorts incoming images into about 30 categories, and the Gemini API does that sorting. Day to day the volume is trivial. The bill arrives when I revise the category definitions, because that means re-running all ~38,000 images: roughly ¥3,400 and about five hours, three or four times a year.

Could that full re-classification run locally? That was the question.

The case looked good on paper. Gemma 4's multimodal variants ship under Apache 2.0 with no commercial restrictions, and NVIDIA's Nemotron 3 Nano Omni unifies vision, audio, and language in one 30B-parameter architecture with just 3B active. Read the published benchmark tables long enough and you start thinking this is clearly good enough now. I thought exactly that.

Then I measured it on 100 of my own images, and the conclusion flipped.

It flipped not because accuracy was low. Accuracy was fine. The way it was wrong was not. Here is where that gap comes from, and how to see it before you commit — with the code I actually used.

Getting the three models straight first

Compare these without pinning down their roles and none of the later numbers will read correctly.

Gemini API (Gemini 3.5 family): the frontier cloud option. As of July 2026 the generally available latest is gemini-3.5-flash, and that is now what gemini-flash-latest resolves to. For stable Japanese multimodal understanding it is still clearly ahead. Usage-based pricing, and image-bearing calls cost noticeably more than text-only ones.

Gemma 4 (26B A4B, 31B Dense, and friends): mid-sized open models for local and on-prem use, Apache 2.0, commercially free. The multimodal variants handle image and audio understanding and fit on a workstation you can actually own.

Nemotron 3 Nano Omni: NVIDIA's omni-modal model, built around a single architecture spanning vision, audio, and language, and tuned for edge AI agents. With only 3B active parameters it runs on DGX Spark–class hardware.

One thing worth flagging early: the "omni" in Nemotron is a bet on work that crosses modalities. Pulling a single label out of a single still image — my entire use case — gives that design nothing to work with. The numbers later show this plainly.

Why a headline score doesn't represent your workload

Japanese multimodal evaluation usually points at Heron-Bench and JMMMU. Both are good benchmarks. Neither headline score belongs in an adoption decision.

Heron-Bench is a collection of subtasks — captioning, OCR, chart and diagram understanding — and what gets published is their weighted average. JMMMU is the Japanese counterpart to MMMU, solving university-entrance-level problems across disciplines from images and text. It measures academic comprehension well.

Now line that up against my workload: one image in, one of 30 categories out. No OCR. No chart reading. No multi-step reasoning. No vertical text.

Most of what constitutes the headline score has nothing to do with me. A two-point gap tells me nothing if that gap was earned entirely outside the subtasks I use.

The reverse happens just as often — a model that loses on the aggregate wins on the one subtask you care about.

Benchmarks answer "which model is broadly capable." They do not answer "should this model go into my production." Only your own data answers the second question.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
A stratified 100-image eval set across 30 categories, with the Python that builds it (sampling, accuracy, confusion matrix)
Why 82% accuracy still failed the adoption bar — building a cost matrix and a cost-weighted error rate
Going from Q4 to Q5 raised accuracy but made cost-weighted error worse: the measurement, and the regression job that catches it
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Gemini Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

Related Articles

API / SDK2026-04-30
Building an LLM-as-Judge Evaluation Pipeline with Gemini — Production-Grade Design and Implementation
A practical guide to building an LLM-as-Judge evaluation pipeline using Gemini 2.5 Pro / 3 Pro as the judge. Covers Pointwise / Pairwise judging, bias mitigation, human-correlation measurement, and cost optimization, with working Python code for production use.
API / SDK2026-04-22
Quietly Catching Wrong Answers in Your Gemini-Powered App — A Production Auto-Eval Loop
Running Gemini in production eventually shows you responses that are 'kind of wrong.' I want to catch them before users do. This is the exact auto-eval loop I run over live traffic, with the prompts I use and the mistakes I had to learn my way through.
API / SDK2026-06-28
When Gemini × Qdrant Hybrid Search Was Quietly Losing Recall — Field Notes on Instrumenting RRF Weights and Sparse-Vector Drift
Run Gemini embeddings with Qdrant hybrid search in production and your dashboards stay green while recall quietly slips. These field notes show how to catch it with measurement — RRF weights, sparse-vector drift, missing payload indexes — and protect it with a quality budget.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →