Instructions to use NetherQuartz/ilo-toki-MiLMMT-46-1b-merged with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use NetherQuartz/ilo-toki-MiLMMT-46-1b-merged with Transformers:
# Use a pipeline as a high-level helper # Warning: Pipeline type "translation" is no longer supported in transformers v5. # You must load the model directly (see below) or downgrade to v4.x with: # 'pip install "transformers<5.0.0' from transformers import pipeline pipe = pipeline("translation", model="NetherQuartz/ilo-toki-MiLMMT-46-1b-merged")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("NetherQuartz/ilo-toki-MiLMMT-46-1b-merged") model = AutoModelForCausalLM.from_pretrained("NetherQuartz/ilo-toki-MiLMMT-46-1b-merged", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use NetherQuartz/ilo-toki-MiLMMT-46-1b-merged with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf NetherQuartz/ilo-toki-MiLMMT-46-1b-merged:Q4_K_M # Run inference directly in the terminal: llama cli -hf NetherQuartz/ilo-toki-MiLMMT-46-1b-merged:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf NetherQuartz/ilo-toki-MiLMMT-46-1b-merged:Q4_K_M # Run inference directly in the terminal: llama cli -hf NetherQuartz/ilo-toki-MiLMMT-46-1b-merged:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf NetherQuartz/ilo-toki-MiLMMT-46-1b-merged:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf NetherQuartz/ilo-toki-MiLMMT-46-1b-merged:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf NetherQuartz/ilo-toki-MiLMMT-46-1b-merged:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf NetherQuartz/ilo-toki-MiLMMT-46-1b-merged:Q4_K_M
Use Docker
docker model run hf.co/NetherQuartz/ilo-toki-MiLMMT-46-1b-merged:Q4_K_M
- LM Studio
- Jan
- Ollama
How to use NetherQuartz/ilo-toki-MiLMMT-46-1b-merged with Ollama:
ollama run hf.co/NetherQuartz/ilo-toki-MiLMMT-46-1b-merged:Q4_K_M
- Unsloth Studio
How to use NetherQuartz/ilo-toki-MiLMMT-46-1b-merged with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for NetherQuartz/ilo-toki-MiLMMT-46-1b-merged to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for NetherQuartz/ilo-toki-MiLMMT-46-1b-merged to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for NetherQuartz/ilo-toki-MiLMMT-46-1b-merged to start chatting
- Atomic Chat new
- Docker Model Runner
How to use NetherQuartz/ilo-toki-MiLMMT-46-1b-merged with Docker Model Runner:
docker model run hf.co/NetherQuartz/ilo-toki-MiLMMT-46-1b-merged:Q4_K_M
- Lemonade
How to use NetherQuartz/ilo-toki-MiLMMT-46-1b-merged with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull NetherQuartz/ilo-toki-MiLMMT-46-1b-merged:Q4_K_M
Run and chat with the model
lemonade run user.ilo-toki-MiLMMT-46-1b-merged-Q4_K_M
List all available models
lemonade list
ilo toki — MiLMMT-46 1B
A translator between Toki Pona and English, Russian and Vietnamese. Small enough to run on a phone: it powers ilo toki, which does all of its translation on device.
This repository holds both the merged weights and GGUF builds, so there is one place to look rather than a repository per format.
Prompt format
The model keeps the prompt format of its base, and there is no chat template — do not wrap the input in one.
Translate this from Toki Pona to English:
Toki Pona: jan li moku e kili
English:
The translation follows the final <target language>: line and ends at the
model's end-of-generation token. Either side can be the source:
Translate this from Russian to Toki Pona:
Russian: Я тебя люблю.
Toki Pona:
Language names are written out in full — Toki Pona, English, Russian,
Vietnamese. Getting the format wrong does not fail loudly: the model keeps
producing fluent text while silently ignoring the requested target language.
Toki Pona is written in lower case; capitalization in the input is not something the model expects.
Which file to use
| File | Size | Notes |
|---|---|---|
ilo-toki-MiLMMT-46-1b-Q4_K_M.gguf |
0.94 GB | Smallest. |
ilo-toki-MiLMMT-46-1b-Q5_K_M.gguf |
1.00 GB | |
ilo-toki-MiLMMT-46-1b-Q6_K.gguf |
1.24 GB | |
ilo-toki-MiLMMT-46-1b-Q8_0.gguf |
1.29 GB | What the app ships — see below. |
model.safetensors |
2.48 GB | Merged weights, bf16, for transformers. |
The quantizations sit unusually close together because the 262k-token embedding matrix is about a third of the model and quantizes the same way in all of them. Q8_0 therefore costs only 0.05 GB more than Q6_K and 0.35 GB more than Q4_K_M, which is why the app ships it: on a phone the difference between these files is small, while the difference between fitting in RAM and not is enormous.
Running it
With llama.cpp:
llama-cli -m ilo-toki-MiLMMT-46-1b-Q8_0.gguf --no-cnv \
-p "Translate this from Toki Pona to English:
Toki Pona: jan li moku e kili
English:"
With transformers:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "NetherQuartz/ilo-toki-MiLMMT-46-1b-merged"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
prompt = "Translate this from Toki Pona to English:\nToki Pona: jan li moku e kili\nEnglish:"
inputs = tokenizer(prompt, return_tensors="pt")
print(tokenizer.decode(model.generate(**inputs, max_new_tokens=64)[0]))
How it was built
A LoRA adapter (NetherQuartz/ilo-toki-MiLMMT-46-1b)
trained with TRL SFT — rank 64, targeting the attention and MLP projections as
well as the token embeddings — merged into
MiLMMT-46-1B-v0.1
and quantized with llama.cpp.
The base is a 46-language translation model from Xiaomi Research, so the fine-tune starts from a model that already translates rather than from a general purpose one.
A note for anyone re-merging this adapter
The adapter puts a LoRA on embed_tokens, and gemma3 ties lm_head to that same
tensor. A plain merge_and_unload() produces a model that repeats a single token
forever: a LoRA on an embedding changes what the lookup returns, not the stored
weights, so during training the tied output head read the base embeddings —
merging writes the delta into the tensor and the head suddenly sees an update it
never saw while training.
The weights here were merged with the output head untied and left at the original
embeddings, which reproduces training exactly. That is also why model.safetensors
carries a separate lm_head.weight and tie_word_embeddings is false.
Licence
Gemma Terms of Use, inherited through the base model.
- Downloads last month
- 93
Model tree for NetherQuartz/ilo-toki-MiLMMT-46-1b-merged
Base model
google/gemma-3-1b-pt