1 Download Updated 11 hours ago
ollama run amersacirovic/openamer-max-phone
Second tier of the OpenAmer-Max family — a 3B assistant for smartphones and laptops. Runs offline, answers in 0.1–0.5 s, and knows where its own limits are.
2,5 GB · Q6_K GGUF · Apache-2.0 · CPU-friendly
Every tier is named after its hardware target, not after marketing:
| Tier | Parameters | Target |
|---|---|---|
OpenAmer-Max-Watch |
≤ 1B | smartwatch — released |
OpenAmer-Max-Phone |
1–5B | smartphone — this model: 3.09B |
OpenAmer-Max-Tab |
5–10B | tablet |
OpenAmer-Max-Desktop |
10–20B | desktop PC |
OpenAmer-Max-Pro … Tera |
20B–10T | workstation → cluster |
All numbers on the released build, on an RTX 5060 Laptop (8 GB). Raw logs ship with the
release: proof-*.json.
| Test | Result |
|---|---|
| Frozen benchmark, 23 unseen cases (contamination-free) | 23⁄23 — 100 % |
| Answer-token accuracy, held-out split | 98,76 % |
| Fresh test, 12 questions never in any training set | 12⁄12 — 100 % |
| Shipped-form probe through Ollama | 7⁄7 |
| Base model without fine-tuning, same benchmark | 18⁄23 — +5 cases from training |
| Latency | 0.08 – 0.5 s · ~110 tok/s on CPU |
Benchmark categories all full: facts 7⁄7 · paraphrases 3⁄3 · refusals 5⁄5 · Bosnian 3⁄3 · Bosnian refusals 1⁄1 · long 1⁄1 · short 1⁄1 · edge 2⁄2.
What the fresh test caught that the benchmark could not: at stage 2 the model passed 23⁄23 while claiming “Ja. OpenAmer kann Musik generieren” — an invented product capability — and answered “Auf einem Android-Telefon. Android wird nicht unterstützt” — inverted. Both were fixed by targeted stages, not by more data.
| Limitation | Example |
|---|---|
| No reliable general knowledge | capital of Italy → may answer “Genoa” |
| No 4-digit multiplication | 86 × 83 → 7118 (correct: 7138) |
| Bosnian only for trained phrasings | unseen Bosnian wordings degrade |
| Free text is correct in content, not always in style | “…aus Ruckfall oder Aufregung” |
| Not a chatbot for essays | 3B budget: what one skill gains, another pays for |
One command — no GGUF download, no Modelfile:
ollama run amersacirovic/openamer-max-phone
Also on ollama.com — the same weights, served by Ollama’s registry.
Below: the manual route with the bare GGUF, if you prefer to keep the file.
curl -L -o openamer-max-phone.gguf \
https://huggingface.co/openamer-max/openamer-max-phone/resolve/main/openamer-max-phone-q6.gguf
ollama create OpenAmer-Max-Phone -f Modelfile # Modelfile ships with the release
curl -s http://127.0.0.1:11434/api/chat -d '{
"model": "OpenAmer-Max-Phone",
"messages": [{"role":"user","content":"Was ist OpenAmer?"}],
"stream": false,
"options": {"temperature": 0}
}' | jq -r .message.content
Ein persoenlicher KI-Assistent, der lokal auf deinem Rechner laeuft und Aufgaben ausfuehrt. Entwickelt von Amer Sacirovic in der Schweiz.
| Base | Qwen/Qwen2.5-3B-Instruct (Apache-2.0) |
| Method | QLoRA 4-bit, LoRA r=32 α=64 on all 7 projections — 59.87 M trainable (3.4 %) |
| Data | 2 890 examples, 11 categories — Watch categories + long text + platform + limits |
| Stages | 5 continuations, each starting from its own previous adapter at half the LR |
| Compute | 46 steps per stage, ~10 min, 4.19 GB VRAM, 8 GB consumer GPU |
| Release | merged → GGUF f16 → Q6_K (2,5 GB) |
Stage path: 22⁄23 → 23⁄23 → 23⁄23 → 23⁄23 with fresh test 7⁄9 → 11⁄12 → 12⁄12. Token accuracy 94.74 % → 97.38 % → 98.31 % → 98.76 %.
Two findings worth passing on:
repeat_penalty 1.1 caused a factual error. The shipped model answered “Ne radi na
Androidu” instead of “Ne radi na iPhoneu”. The adapter, the merged model and the same
model with a system prompt all answered correctly — only the Ollama build with the token
penalty flipped. With repeat_penalty 1.0 it is right. For factual models, that parameter
is harmful.Every number above has a script behind it. When a score dropped, the first question was always: “can my checker even accept the correct answer?”
č/ć/š/ž/đ were missing from the normalisation table."kann musik".
Forbid entries must describe the false claim, not a word that occurs in a right answer."ne radi" was required. A negation must be
checked for which object it negates.The sixth lesson, and the most expensive: repeat_penalty 1.1 in the Ollama Modelfile
flipped a negation from “does not run on iPhone” to “does not run on Android”. The
adapter, the merged model and the same model with a system prompt all answered correctly
— only the build with the token penalty failed. The penalty punishes exactly the words a
negation needs twice. Every card in this family ships repeat_penalty 1.0.
What the fresh test caught that the benchmark could not: at stage 2 this tier passed 23⁄23 while claiming “Ja. OpenAmer kann Musik erzeugen” (an invented capability) and answering “Android wird nicht unterstützt” (inverted). Both were fixed by targeted stages. A frozen benchmark you optimise against will not show you this — only questions that never appear in any training set will.
OpenAmer is built by one person, without venture capital, on a laptop with 8 GB of VRAM.
PayPal: https://www.paypal.com/qrcodes/managed/bfb5b6b5-c04c-4836-af60-987dff8cff61

A ⭐ on GitHub helps as much as a donation.
OpenAmer-Max-Phone ist die zweite Stufe der OpenAmer-Max-Familie: ein 3B-Modell für Smartphone und Laptop, das offline läuft, in 0,1–0,5 s antwortet und seine eigenen Grenzen benennen kann.
Fünf Etappen, jede aus dem eigenen Vorgänger — 22⁄23 → 23⁄23 → 23⁄23 → 23⁄23, Frischtest 7⁄9 → 11⁄12 → 12⁄12. Der Weg ist dokumentiert, damit er nachvollziehbar bleibt.
Gebaut von Amer Sacirovic in der Schweiz, ohne Konzern, auf einem Laptop mit 8 GB VRAM.