Instructions to use NetherQuartz/ilo-toki-1.4-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-1.4-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-1.4-MiLMMT-46-1b-merged")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("NetherQuartz/ilo-toki-1.4-MiLMMT-46-1b-merged") model = AutoModelForCausalLM.from_pretrained("NetherQuartz/ilo-toki-1.4-MiLMMT-46-1b-merged", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use NetherQuartz/ilo-toki-1.4-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-1.4-MiLMMT-46-1b-merged:Q4_K_M # Run inference directly in the terminal: llama cli -hf NetherQuartz/ilo-toki-1.4-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-1.4-MiLMMT-46-1b-merged:Q4_K_M # Run inference directly in the terminal: llama cli -hf NetherQuartz/ilo-toki-1.4-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-1.4-MiLMMT-46-1b-merged:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf NetherQuartz/ilo-toki-1.4-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-1.4-MiLMMT-46-1b-merged:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf NetherQuartz/ilo-toki-1.4-MiLMMT-46-1b-merged:Q4_K_M
Use Docker
docker model run hf.co/NetherQuartz/ilo-toki-1.4-MiLMMT-46-1b-merged:Q4_K_M
- LM Studio
- Jan
- Ollama
How to use NetherQuartz/ilo-toki-1.4-MiLMMT-46-1b-merged with Ollama:
ollama run hf.co/NetherQuartz/ilo-toki-1.4-MiLMMT-46-1b-merged:Q4_K_M
- Unsloth Studio
How to use NetherQuartz/ilo-toki-1.4-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-1.4-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-1.4-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-1.4-MiLMMT-46-1b-merged to start chatting
- Docker Model Runner
How to use NetherQuartz/ilo-toki-1.4-MiLMMT-46-1b-merged with Docker Model Runner:
docker model run hf.co/NetherQuartz/ilo-toki-1.4-MiLMMT-46-1b-merged:Q4_K_M
- Lemonade
How to use NetherQuartz/ilo-toki-1.4-MiLMMT-46-1b-merged with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull NetherQuartz/ilo-toki-1.4-MiLMMT-46-1b-merged:Q4_K_M
Run and chat with the model
lemonade run user.ilo-toki-1.4-MiLMMT-46-1b-merged-Q4_K_M
List all available models
lemonade list
- Atomic Chat
ilo toki 1.4 — 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.
What changed in 1.4
Two things, and the second one matters more than the first.
Training. group_by_length is off. The datasets in the mix have different
length profiles, so grouping similar lengths into a batch also grouped by source;
mixing them was meant to improve the model's fit across the whole mixture. Measured
on the project's own held-out split it is a small, consistent gain: BLEU is up on
five of six directions against 1.3.
The merge is fixed, and this is the larger change. Releases 1.1 through 1.3
were merged with the output head untied from the trained embeddings, on the
belief that the head had never seen them during training. That belief was wrong for
the mechanism this adapter uses. The adapter trains individual embedding rows
through PEFT's trainable_token_indices, and PEFT explicitly finds the weights
tied to the embedding matrix and puts a tied adapter on each — so the output head
read the trained rows throughout training, and untying handed the merged model a
head it had never used.
Merging correctly changes 119 of 153 probe answers and fixes most of what earlier releases were known for:
| 1.3 as released | 1.4 | |
|---|---|---|
toki pona named as another language |
2 of 18 probes | 0 |
jan li lape ala |
«Someone is sleeping» | «People are awake» |
jan li lape ala → Russian |
«Люди спят не спится» | «Люди не спят» |
la where the relation is causal |
«If my computer breaks down…» | «…because my phone is broken» |
| unseen proper names | copied in latin script | tokiponized, phonotactically legal |
It also makes the files about 23% smaller: llama.cpp stores one embedding matrix for a tied model and two for an untied one, so Q8_0 is 0.996 GiB where 1.3 was 1.29.
If you are fine-tuning this base yourself with trainable_token_indices, do not
untie the head at merge time. The check is one line: build the peft model and look
for TrainableTokensLayer — there should be two, on embed_tokens and on
lm_head.
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.
Which file to use
| File | Size | Notes |
|---|---|---|
ilo-toki-1.4-MiLMMT-46-1b-Q4_K_M.gguf |
0.81 GB | Smallest. |
ilo-toki-1.4-MiLMMT-46-1b-Q5_K_M.gguf |
0.85 GB | |
ilo-toki-1.4-MiLMMT-46-1b-Q6_K.gguf |
1.01 GB | |
ilo-toki-1.4-MiLMMT-46-1b-Q8_0.gguf |
1.07 GB | What the app ships. |
model.safetensors |
2.00 GB | Merged weights, bf16, for transformers. |
Running it
llama-completion -m ilo-toki-1.4-MiLMMT-46-1b-Q8_0.gguf --temp 0 --top-k 1 -no-cnv \
-p "Translate this from Toki Pona to English:
Toki Pona: jan li moku e kili
English:"
Greedy decoding is what this model is meant to be run with. There is one right answer per input, and sampling only ever walks away from it.
How it was built
A LoRA adapter (NetherQuartz/ilo-toki-1.4-MiLMMT-46-1b,
revision 48f57ca984) trained with TRL SFT — rank 64, targeting the attention and
MLP projections, plus 15 764 individual embedding rows through PEFT's
trainable_token_indices — merged into
MiLMMT-46-1B-v0.1 with
the output head left tied, and quantized with llama.cpp. The checkpoint is the one
at 17 500 steps, the minimum of the validation loss.
Training data
| Dataset | What it contributes |
|---|---|
tokipona-mined-pairs |
Mined parallel sentences. |
tokipona-proper-names-mt |
Proper names, which Toki Pona transliterates rather than borrows. |
tokipona-wiki-titles-mt |
Wikipedia titles. |
tokipona-wiki-parallel-mt |
Parallel Wikipedia text. |
lipu-sewi |
lipu sewi. |
tatoeba-tokipona |
Tatoeba sentence pairs. |
Alongside tok↔x pairs the mix includes x↔y pairs between the natural
languages, meant to keep their generation fluent without crowding out the pairs
where Toki Pona is one side.
Known limitations
- Short inputs still acquire invented specifics.
soweli lili li lape lon tomointo Russian can produce a mouse that the sentence never mentioned. - Unmarked features get a default rather than a reading. Toki Pona marks neither number nor tense; both readings are valid, but the model picks rather than infers from context.
- Transliteration of unseen names is legal but not conventional.
Fukuokacomes back as a well-formed toki pona word that is not the attested one. Names the training data has seen are right.
Licence
Gemma Terms of Use, inherited through the base model.
- Downloads last month
- -
Model tree for NetherQuartz/ilo-toki-1.4-MiLMMT-46-1b-merged
Base model
google/gemma-3-1b-pt