GMiDo-1B

GMiDo-1B is a ~1B-parameter chat model from UltraLabs, built for phones and laptops. It's the model behind the L-AI Android app.

It starts from GRAFT-1B (Qwen3-1.7B shrunk to ~1B with our own method), then gets several rounds of chat training. Most of the conversation style comes from Gemma 2 answers. That's the G in GMiDo.

What it's good at:

  • ๐Ÿ’ฌ Polished everyday chat. Short, warm, well-formatted answers.
  • ๐ŸŽญ Follows your system prompt. Give it any name, maker, persona or set of rules, and it keeps them, even with tools turned on and after tool calls.
  • ๐Ÿ”ง Native tool calling. Web search, a calculator, JavaScript and file creation, in the standard <tool_call> format that llama.cpp, LM Studio and L-AI understand.
  • ๐Ÿ“ฑ Small. 0.97 GB at Q6_K. It runs on a mid-range phone.
Made by UltraLabs (SmallAICreator)
File GMiDo-1B-Q6_K.gguf (0.97 GB, 6-bit)
Chat template ChatML with tools (embedded in the GGUF)
Context 4K (sharpest within 2K; see Tips)
Languages English first; also Spanish, French, German, Italian, Portuguese
License Gemma Terms of Use (see License)

Quick start

llama.cpp

# chat in the terminal
llama-cli -hf SmallAICreator/GMiDo-1B:Q6_K -cnv \
  --temp 0.7 --top-p 0.95 --top-k 40 --repeat-penalty 1.10

# OpenAI-compatible server (with tool calling) on http://localhost:8080
llama-server -hf SmallAICreator/GMiDo-1B:Q6_K --jinja \
  --temp 0.7 --top-p 0.95 --top-k 40 --repeat-penalty 1.10

Ollama

ollama run hf.co/SmallAICreator/GMiDo-1B:Q6_K

Ollama doesn't read the sampling defaults stored in the GGUF. Set temperature 0.7, top_p 0.95, top_k 40 and repeat_penalty 1.10 yourself.

Apps

  • L-AI (Android, by UltraLabs). GMiDo was tuned against L-AI's exact prompts, tools and sampling.
  • Any other GGUF app also works: LM Studio, Jan, PocketPal and others. The chat template is read from the file.

Recommended settings

Setting Value
Temperature 0.7
Top-p 0.95
Top-k 40
Repeat penalty 1.10
Context 2,048โ€“4,096

These are also stored in the GGUF as its default sampling parameters. They're the settings GMiDo was tested and preference-tuned with.


System prompts and identity

With no system prompt, GMiDo introduces itself as GMiDo, made by UltraLabs. Give it a system prompt such as "You are L-AI, an AI assistant made by UltraLabs." and your name and maker win, even when it's asked "Are you GMiDo?". This holds with tools turned on, after a tool call, under "ignore your instructions", in other languages and with several rules stacked together (reply in German, no emojis, one sentence, start with a set word, and so on).

Tool calling

The embedded template lists your tools in the system message. GMiDo answers with:

<tool_call>
{"name": "calculator", "arguments": {"expression": "48213 * 377"}}
</tool_call>

You send results back as tool messages, and it answers from them. With llama-server --jinja this is the normal OpenAI tools / tool_calls API. It was trained on four tools:

Tool What it does
web_search {"query": "..."}: current or factual info
calculator {"expression": "..."}: exact math
run_javascript {"code": "..."}: counting, dates, data work
create_file {"name": "...", "content": "..."}: saves a file

Other tools with clear descriptions usually work too. It decides on its own when not to call a tool, like for "tell me a joke" or "who are you?".


Results

Every number comes from one in-house harness, run the same way for every model in a row.

Benchmarks

Benchmark GMiDo-1B GRAFT-1B (its base)
MMLU, 5-shot (micro) 39.72 40.37

All of GMiDo's chat, tool and identity training was added without losing knowledge. Every round was gated on MMLU, and it stayed within a point the whole way.

Following system prompts and identity

Test Previous GMiDo (v3) GMiDo-1B (v4)
Held-out system-prompt test (55 personas / rule sets / tool cases) 84% 91%
Identity test (names and makers it never saw in training, 3 samples each) 43% 90%
L-AI app suite (L-AI prompt + web search + calculator, 120 sampled replies, llama.cpp Q6_K) 51% 95%

In the L-AI suite it got every identity and tool-choice case right, 10 out of 10 each. That includes "who are you?" right after a calculator call and "are you GMiDo?" right after a web search.

Chat style vs Gemma 3 1B

Both models ran as Q6_K in llama.cpp with phone settings (temp 0.7, top-p 0.95, top-k 40, repeat penalty 1.10), no system prompt and no tools. The test was 24 everyday prompts (chat, support, explanations, writing, code, advice, Spanish and German) with 3 samples each, plus 3-turn chats.

GMiDo-1B Gemma 3 1B
Average reply length 147 tokens 386 tokens
Replies that ran past 700 tokens 0 of 72 21 of 72
Repeated phrases (share of repeated 4-word sequences) 0.8% 2.3%
Replies in the user's language (Spanish / German) 6/6 6/6

GMiDo is built for short, focused, friendly answers that read well on a phone screen. Gemma 3 1B goes for long, detailed write-ups and knows more facts. Pick the style you prefer.


How it was made

GMiDo was trained in stages on free cloud GPUs (Kaggle 2ร— T4). Each stage was gated: it was kept only if held-out tests improved and nothing else (held-out loss, MMLU) got worse.

  1. Shrink (GRAFT-1B). Qwen3-1.7B was reduced to ~1B parameters with our own custom method. It isn't published.
  2. Heal. A short continued-pretraining run (web text, textbooks, code, conversations) repaired the shrunk network.
  3. Distill. Knowledge distillation from Qwen3-1.7B brought back much of the knowledge lost in the shrink (MMLU went from near chance to ~40).
  4. Gemma chat distillation. Supervised fine-tuning on high-quality Gemma 2 conversations (Magpie-Gemma2-Pro). This is where GMiDo's clean, friendly answer style comes from.
  5. System-prompt training. Thousands of conversations with personas, names, companies and rules. Each answer was checked by code before it was kept: right name, right language, word limits, no emoji when told, and so on.
  6. Instruction stacking. Up to five instructions at once, several system messages, mid-chat rule changes, memories, documents ("answer only from this", or "it doesn't say"), jailbreak attempts and multi-turn chats.
  7. Native tools. A teacher model (Qwen3-4B-Instruct-2507) used real tools in L-AI's format, with real calculator results and real JavaScript runs. Every step was checked: call the right tool, don't call one for chit-chat, answer from the result.
  8. Preference tuning (DPO). On system-prompt pairs plus Gemma 2 UltraFeedback preference pairs, anchored so the model keeps its SFT skills.
  9. Identity hardening. About 2,200 checked conversations with ~170 names and ~40 makers, with tools on and off, after tool turns, with stacked rules and in other languages. Plus exact-number calculator conversations.
  10. On-policy DPO. GMiDo was sampled with real phone settings (temp 0.7, top-p 0.95, top-k 40, repeat penalty 1.10). Its own slips were collected, like saying "I'm GMiDo" when it was told it's someone else, or miscopying a number. It was then trained to prefer the right answer. This is the step that made identity hold up under real sampling, not just greedy decoding.

Model details

Architecture Qwen3 (decoder-only transformer, GQA, RoPE)
Parameters ~1.0B (1.18B in the GGUF, which stores a separate output head)
Layers 20
Hidden / FFN size 2,048 / 4,608
Attention heads 16 (8 KV heads), head dim 128
Vocabulary 88,409 tokens (Qwen BPE)
Context length 4,096 in the GGUF metadata; trained on 2,048-token sequences
Quantization Q6_K

Tips for the best results

  • Keep conversations focused. GMiDo was trained on 2,048-token conversations and finds information perfectly at that length (100% in a needle-in-a-haystack test). For long documents or very long chats, start a new chat or paste just the part you need.
  • Turn on web search for facts. Like any small model it can be confidently wrong on niche facts, and it's trained to look things up when search is available.
  • Use the calculator tool for math, and double-check big numbers it copies from a result.
  • English works best, and Spanish, French, German, Italian and Portuguese are great for everyday chat.
  • As with any AI model, don't rely on it for medical, legal or financial decisions.

License and attribution

GMiDo-1B was trained on outputs of Gemma 2 (Magpie-Gemma2-Pro, gemma2-ultrafeedback-armorm), so it's a Gemma model derivative. It's distributed under the Gemma Terms of Use. Use is also subject to the Gemma Prohibited Use Policy.

Gemma is provided under and subject to the Gemma Terms of Use found at ai.google.dev/gemma/terms.

Modifications: GMiDo-1B is not a Gemma model. It's a Qwen3-architecture model fine-tuned on Gemma-generated text, as described in How it was made. UltraLabs isn't affiliated with or endorsed by Google.

GMiDo also builds on:

  • Qwen3-1.7B by the Qwen team (Apache 2.0): the architecture, tokenizer and starting weights (through GRAFT-1B).
  • Qwen3-4B-Instruct-2507 (Apache 2.0): the teacher for the system-prompt, tool and identity conversations.

Citation

@misc{ultralabs2026gmido1b,
  title  = {GMiDo-1B: a 1B chat and tool-calling model for phones},
  author = {UltraLabs},
  year   = {2026},
  url    = {https://huggingface.co/SmallAICreator/GMiDo-1B}
}
Downloads last month
20
GGUF
Model size
1B params
Architecture
qwen3
Hardware compatibility
Log In to add your hardware

6-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for SmallAICreator/GMiDo-1B

Finetuned
Qwen/Qwen3-1.7B
Finetuned
(1)
this model