--- license: apache-2.0 language: - de - bs - hr - sr - en base_model: Qwen/Qwen2.5-7B-Instruct tags: - gguf - ollama - llama.cpp - on-device - tablet - german - bosnian - qwen2.5 - lora pipeline_tag: text-generation library_name: llama.cpp --- # OpenAmer-Max-Tab **Third tier of the OpenAmer-Max family — a 7.62B assistant for tablets and mid-range machines. Runs offline, answers in under a second, knows its limits.** 4,4 GB · Q4_K_M GGUF · Apache-2.0 · 16k context --- ## The family Every tier is named after its hardware target, not after marketing: | Tier | Parameters | Target | Status | |---|---|---|---| | `OpenAmer-Max-Watch` | ≤ 1B | smartwatch (0.6B, 639 MB) | [released](https://huggingface.co/openamer-max/openamer-max-watch) | | `OpenAmer-Max-Phone` | 1–5B | smartphone (3.09B, 2.5 GB) | [released](https://huggingface.co/openamer-max/openamer-max-phone) | | **`OpenAmer-Max-Tab`** | **5–10B** | **tablet — this model: 7.62B** | **this page** | | `OpenAmer-Max-Desktop` | 10–20B | desktop PC | in progress | | `OpenAmer-Max-Pro` … `Tera` | 20B–10T | workstation → cluster | planned | --- ## Measured results | Test | Result | |---|---| | **Frozen benchmark, 23 unseen cases** (contamination-free) | **22/23 — 95,7 %** | | Categories | facts 7/7 · paraphrases 3/3 · refusals 5/5 · Bosnian 2/3 · Bosnian refusals 1/1 · long 1/1 · short 1/1 · edge 2/2 | | **Fresh test, 12 questions never in any training set** | **12/12** (content-verified) | | Latency | 0.2 – 1.1 s on CPU | | Size | 4,7 GB in Ollama (Q4_K_M), 14,5 GB as f16 | ## What it does well - Correct product facts, and honest refusals when the answer is not in context - Correct negation polarity: *"Auf dem iPhone. OpenAmer läuft auf einem Android-Telefon…"* - Documents (Word, Excel, PDF), code, arithmetic, summarising — the 7B base keeps general ability that the smaller tiers lose - German and Bosnian, 16k context for longer documents ## What it does not do | Limitation | Detail | |---|---| | Same weak Bosnian phrasing as the smaller tiers | *"Mogu li koristiti OpenAmer bez interneta?"* answers correctly in substance, but does not use the words "internet"/"mreža" — the one benchmark case it misses | | No 4-digit multiplication guarantee | check before trusting arithmetic | | Not a substitute for a large model | 7.62B, not 70B — long reasoning chains stay shaky | --- ## Quick start (Ollama) ```bash curl -L -o openamer-max-tab-q4.gguf \ https://huggingface.co/openamer-max/openamer-max-tab/resolve/main/openamer-max-tab-q4.gguf ollama create OpenAmer-Max-Tab -f Modelfile # ships with this repo curl -s http://127.0.0.1:11434/api/chat -d '{ "model": "OpenAmer-Max-Tab", "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. > **Important:** keep `repeat_penalty` at **1.0**. With 1.1 the model flipped a > negation in the Phone tier ("does not run on Android" instead of "iPhone") — the > penalty punishes exactly the words a negation needs twice. --- --- ## How this was measured — and when the *test* was wrong, not the model 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?" 1. **AND vs OR in keyword checks** — a synonym group checked with AND fails an answer that contains two of three correct words. Groups must be OR-linked. 2. **A refusal counted as a violation** — a safety answer (*"I won't give instructions for that"*) was scored as a breach because the checker searched for the word "Anleitung". 3. **Diacritics scored as wrong language** — correct Bosnian was flagged as drift because `č/ć/š/ž/đ` were missing from the normalisation table. 4. **A forbidden phrase that also appears in the correct answer** — *"Nein. OpenAmer kann Musik **nicht** erzeugen"* was rejected because the forbid list held `"kann musik"`. Forbid entries must describe the false claim, not a word that occurs in a right answer. 5. **An inverted polarity scored as correct** — *"Šta OpenAmer ne može?"* answered with *"Ne radi na Androidu"* passed, because only `"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. --- ## Support this project OpenAmer is built by one person, without venture capital, on a laptop with 8 GB of VRAM. **PayPal:** ![PayPal](paypal-qr.png) A ⭐ on GitHub helps as much as a donation. --- ## Deutsch **OpenAmer-Max-Tab** ist die dritte Stufe der OpenAmer-Max-Familie: ein 7,62B-Modell für Tablets und mittlere Rechner, das offline läuft und seine Grenzen benennen kann. - **4,4 GB** (Q4_K_M), 16k Kontext - **22/23** auf einem eingefrorenen, kontaminationsfreien Prüfstand (95,7 %) - **12/12** bei nie trainierten Fragen - Behält die allgemeinen Fähigkeiten der 7B-Basis: Dokumente, Code, Rechnen, Zusammenfassen Basis ist Qwen2.5-7B-Instruct (Apache 2.0), verfeinert mit QLoRA in mehreren Etappen. Gebaut von Amer Sacirovic in der Schweiz, ohne Konzern, auf einem Laptop mit 8 GB VRAM.