Compare · Three-way, tested

Gemma vs Mistral vs Qwen: Three Local LLMs Tested on German Job Ads and My Own Spoken German

I ran these three open models on my own laptop for two real jobs: pulling structured JSON out of German job ads for my Master's study project, and correcting my own spoken German for my app. One model won both, but not for the reason I expected, and a synthetic test nearly sent me the wrong way.

Tested 10 Oct 2026Reviewed 1 Nov 2026How I test →

Two tasks I ran on my own MacBook Pro (M1 Max, 64 GB) with Ollama: the model screening for my Master's study project (50 German job ads, summer term 2026) and two correction tests for my app myberuf (3 and 10 October 2026). Qwen3 was only in the first. Newer versions of all three exist and weren't tested.

Gemma 4 26B, Mistral Small 24B and Qwen3 14B in three columns with accuracy, valid-JSON rate and seconds per job ad from my local tests

Most "best local LLM" lists rank models on someone else's benchmark. These numbers come from two jobs I actually needed done, on one laptop: a MacBook Pro with an M1 Max and 64 GB of unified memory, running the models through Ollama.

  1. Structured extraction. For my Master's study project I had local models read German job advertisements and return every skill, task and qualification as JSON matching a fixed annotation scheme, scored against human annotations.1
  2. Correcting spoken German. For myberuf, my German-for-work practice app, the model corrects what a learner just said. I tested the candidates on made-up sentences first, then on 58 things I'd actually said, with every mistake documented in my German journal.2

The short answer

  • Gemma 4 26B (A4B) won both jobs on my Mac. In the extraction screening it tied Mistral on accuracy but returned valid JSON far more often (88% against 66%) and was more than four times faster (26.4 against 116.3 seconds per job ad). On my real spoken German it fixed more mistakes right (44 and 45 of 63 against 36 and 38) and left all 14 correct sentences alone.
  • Mistral Small 24B didn't win either job here. It caught slightly more errors on made-up sentences, but on real speech its fixes broke more sentences, and it was the slowest model in both tests. Mistral calls it latency-optimised on its own reference systems, so your hardware may tell a different story.
  • Qwen3 14B is the smallest of the three (9.3 GB to download) and landed between them on speed but behind on accuracy (entity F1 0.205 against 0.29). Consider it when memory is tight, and test it on your own data first.

The two tests at a glance

Test 1: structured extractionTest 2: correcting spoken German
PurposeMy Master's study projectMy app, myberuf
Data50 German job ads, gold annotations from the GOJA dataset1 3Round 1: 19 made-up sentences (17 with errors, 2 controls). Round 2: 58 things I said (44 with 63 documented mistakes, 14 correct)2
ModelsGemma 4 26B A4B, Mistral Small 24B, Qwen3 14B, plus Llama 3.1 8B and GPT-OSS 20BGemma 4 26B and Mistral Small 24B (gemma4:26b, mistral-small:24b)
SettingsTemperature 0, the same detailed English prompt, 4,096-token output limitThinking switched off for both, two runs per model, the app's own prompt and code
What countsEntity and relation F1 (0 to 1), share of valid JSON, seconds per documentMistakes fixed right, false alarms on correct sentences, seconds per sentence
WhenSummer term 20263 and 10 October 2026

Test 1: structured extraction from German job ads

Each model got the same prompt and one job ad at a time and had to return entities (skills, tasks, qualifications and five other types) and the relations between them as one JSON object. The scores compare that output with human annotations.1

ModelEntity F1Relation F1Valid JSONSeconds per job ad
Gemma 4 26B A4B0.2920.05988%26.4
Mistral Small 24B0.2770.04666%116.3
Qwen3 14B0.2050.01380%62.1
Llama 3.1 8B (reference)0.1500.00384%52.7

GPT-OSS 20B returned almost no parseable output and was dropped.1

How to read this:

  • Gemma and Mistral are close on accuracy. Fifty documents is a small sample: in the same study, five random 50-document samples of the final setup ranged from 0.386 to 0.453, and the report concludes that a sample this size can't support a one-point difference. So 0.292 against 0.277 isn't a real gap. Qwen3's 0.205 is further behind; still, re-check a gap that size on your own data.1
  • The F1 only covers documents that parsed. Mistral's 66% valid JSON means a third of its answers scored nothing usable, which flatters its F1. That's why valid JSON belongs next to accuracy in any table like this.
  • Speed decided it. Gemma was the fastest and the most reliable. Its mixture-of-experts design keeps 25.2 billion parameters in memory but activates only 3.8 billion per token, a plausible reason, though the study didn't isolate architecture as the cause.1

What happened next: Gemma became the model for all later work. With a tuned prompt (two fully annotated examples) and one retry for broken JSON, it reached entity F1 0.437 and valid JSON for 99.6% of all 498 job ads, at 31 seconds each, against 0.801 for the supervised reference system (measured on character spans, so not a like-for-like comparison).1 Two findings from that phase matter for anyone choosing a model:

  • Size didn't order quality. Gemma 4 26B beat NVIDIA's Nemotron 3 Super, which activates about 12 billion of its 120 billion parameters per token. Within the Gemma family, the larger 31B version did better (0.543 on the same 50 documents, run in the cloud).1
  • Reliable JSON and correct content are different problems. Adding a schema retry and a reviewer pass that was only allowed to fix labels lifted schema-valid output from 18% to 89% but moved entity F1 by 0.011. The code check behind the reviewer rejected 71.4% of its proposals for breaking its rules or returning invalid JSON.1

Test 2: correcting my own spoken German

In myberuf, a learner speaks, Whisper transcribes it, and the model returns corrections as JSON. Qwen3 wasn't part of this test; it was Gemma against Mistral.2

Round 1, made-up sentences (3 October 2026):

Gemma 4 26BMistral Small 24B
Error sentences flagged with a required fix26 of 3028 of 30
Corrected sentence matches the documented right form24 of 3024 of 30
Control sentences left without fixes4 of 44 of 4
English words in German speech counted as errors0 of 44 of 4
Failed calls (no valid JSON after one retry)0 of 380 of 38
Mean time per sentence2.7 s7.9 s

On this evidence I kept Mistral: it flagged slightly more, the exact corrections tied, and Gemma made one meaning-changing suggestion in both runs.

Round 2, things I actually said (10 October 2026):

Gemma 4 26BMistral Small 24B
Documented mistakes fixed right (two runs)44 and 45 of 6338 and 36 of 63
Mistakes caught at all45 and 47 of 6350 and 46 of 63
Correct sentences left alone14 of 14, both runs12 of 14, both runs
My words rewritten outside the mistakes1 and 13 and 5
English work words replaced as a mistake0 of 191 of 19 in each run
Failed checks0 of 1160 of 116
Median time per sentence3.0 s7.9 to 8.4 s
Time for an 85-second answer9 to 10 s35 to 57 s

Real speech reversed the decision, and I switched to Gemma. Mistral caught about as many mistakes, but its fixes often broke the sentence: a dropped subject here, the article fixed while the verb stayed in the wrong place there. It also changed two sentences that were already right. Gemma's typical failure was the opposite: it missed things, mostly wrong word choices that it labelled "more natural" instead of a mistake, and verb position after a long clause. For a learner, a missed mistake costs less than a confident wrong correction.2

Practical takeaway

Test on the real thing. My made-up sentences pointed to Mistral; 58 sentences I'd actually said pointed clearly to Gemma, and the gap in correct fixes held in both runs.

Setup tips that cost me time

  • Switch the thinking off, and check it really is off. On Ollama's OpenAI-compatible endpoint, think: false was ignored for Gemma 4: one sentence took 42 seconds and returned nothing, while reasoning_effort: "none" gave valid JSON in 2.5 to 3.3 seconds.2 Qwen3 also has a thinking mode; its model card documents how to switch it off.4
  • Measure valid JSON separately from accuracy. A parser and a schema check catch broken output without any reference answers. They can't catch a missing entity, so you still need a scored sample.1
  • One retry for broken JSON is cheap; a reviewer model isn't. The retry was worth it; the reviewer pass made each document about 3.5 times slower for one point of F1.1
  • Never let a second model overwrite output without a check in code. That rule caught 350 bad reviews in my study. I wrote it up in how to evaluate LLM output.

Sizes and licences

Gemma 4 26B A4BMistral Small 24BQwen3 14B
Parameters25.2B total, 3.8B active per token124B514.8B4
LicenceApache 2.06Apache 2.05Apache 2.04
Ollama download16 to 19 GB, 256K context714 GB, 32K context79.3 GB, 40K context7

All three are open weights under Apache 2.0, so the choice is about quality, speed and memory, not licensing. Search suggestions now mention newer versions (Qwen 3.5 to 3.8, Mistral Small 4); I haven't tested those, and the ranking above may not carry over.

Where my skills fit

The method behind both tests, scoring against a reference, keeping valid JSON separate from accuracy, and never trusting a model's review without a check in code, is packaged in my LLM evaluation pack: LLM output validation and LLM evaluation integrity come straight out of the study. They help whichever model you run.

FAQ

Is Gemma better than Qwen?

In my tests, yes: Gemma 4 26B scored entity F1 0.292 against 0.205 for Qwen3 14B on the same 50 German job ads, returned valid JSON more often (88% against 80%) and was faster (26.4 against 62.1 seconds per ad). Qwen3 14B is much smaller, though, and newer Qwen versions weren't part of the test.

Gemma 4 or Mistral Small: which should I run?

On my Mac, Gemma 4 26B: tied on extraction accuracy, far more valid JSON (88% against 66%), more than four times faster, and on my real spoken German it fixed more mistakes right and left correct sentences alone. Mistral Small 24B caught slightly more errors on made-up sentences. Test both on your own data before you decide.

Which local LLM is best for structured JSON output?

Of the models I tested, Gemma 4 26B A4B: the highest valid-JSON rate in the screening (88%) and the best accuracy. With one retry for broken JSON it parsed 99.6% of 498 documents. GPT-OSS 20B returned almost no parseable output in the same setup.

Can I run these models on a Mac?

I ran all three on a MacBook Pro with an M1 Max and 64 GB of unified memory, one request at a time. I didn't log peak memory during inference, so I can't give you a minimum. Ollama's downloads are 16 to 19 GB for Gemma 4 26B, 14 GB for Mistral Small 24B and 9.3 GB for Qwen3 14B.

Which is fastest?

Gemma 4 26B in both of my tests: 26.4 seconds per job ad against 62.1 for Qwen3 14B and 116.3 for Mistral Small 24B, and 3.0 against roughly 8 seconds per spoken sentence against Mistral.

Should I fine-tune a local model instead?

Only after the prompt work. In my study, a deliberately small QLoRA adapter trained on the laptop in 106.5 minutes (32.8 GB peak memory) and moved entity F1 from 0.392 to 0.404, a change within the noise.

Sources

  1. Aviral Kapoor, "Evaluating Local Large Language Models for Structured Information Extraction from German Job Advertisements", Master's study project, summer term 2026. Pipeline code: goja-llm-extraction on GitHub.
  2. My test records for myberuf: correction model comparisons of 3 and 10 October 2026 (private repository).
  3. Krüger, K., Binnewitt, J., Ehmann, K., Winnige, S., and Akbik, A. (2025). Improving Online Job Advertisement Analysis via Compositional Entity Extraction. Proceedings of EMNLP 2025.
  4. Qwen3-14B model card, Qwen on Hugging Face.
  5. Mistral Small 3, Mistral AI.
  6. Gemma 4 26B A4B model card, Google on Hugging Face.
  7. Ollama library: gemma4, mistral-small, qwen3 (read 1 Nov 2026).
Whichever you pick

LLM Evaluation & Fact-Checking

Report AI results you never have to retract.

3 skillsSee pack →
3 skills
€39
Free starter kit

Get the free starter kit

Four skills that work in Claude, Claude Code and Codex alike: handover, session start, social captions and an honest exam-prep tutor. Free, so you can judge the standard.

Compare

More comparisons

All comparisons →

Head-to-head ChatGPT vs Claude Plus or Pro: which $20 assistant fits the work you do, and is it worth paying for both? Head-to-head Claude Code vs Codex Which coding agent should you pay for, and when is it worth having both? Which for which job ChatGPT vs Claude vs Gemini vs Copilot Which assistant fits which job, and do you need more than one?
Keep reading

Related guides

AI engineering How to Evaluate LLM Output Without Fooling Yourself Seven evaluation rules from 55+ auditable LLM runs with zero retracted numbers: re-derive numbers, check confounds, compare on the same items. AI engineering Grounding an LLM in Official Facts: How to Stop AI Feedback From Inventing Things Make an LLM check answers only against official facts you supply, never its memory. A worked example with tests, and why code gets the last word. AI engineering The AI Builder's Glossary: Agents, Skills, MCP, RAG and Evals in Plain English The AI field in five themes and 40 terms, in plain English: models, context and RAG, tools and agents, reliability, and shipping AI features.