Muszka Instruct 1.5B v1.0
Muszka Instruct 1.5B v1.0 (English)
Overview
Muszka Instruct 1.5B v1.0 is a small Polish chat and instruction model (1.5B parameters, 1.6B with embeddings), built on speakleash/Bielik-1.5B-v3.0-Instruct. It is tuned for style and instruction following: simple, natural Polish, short answers that respect the requested length and form, and no unnecessary Markdown or boilerplate.
It is meant for places where a big model does not fit: a Raspberry Pi, a laptop CPU, a browser, an offline device. Facts are not its strength: for knowledge, pair it with retrieval (RAG), for example with the rest of the Muszka family.
What changes compared with the base model
On our set of 100 Polish instructions (e-mails, summaries, explaining to a child, simplifying text, creative writing, formatting, conversation), with automatic checks:
| Bielik 1.5B v3.0 Instruct | Muszka Instruct 1.5B v1.0 | |
|---|---|---|
| Follows the requested length and form | 60% | 79% |
| Unfinished answers | 7% | 0% |
| Unnecessary Markdown (bold, headers, lists) | 25% | 0% |
| Boilerplate opening ("Oto…", "Here is…") | 20% | 2% |
Biggest gains: summaries (60% → 100% within the requested length) and explanations for children (73% → 93%). Still weaker: strict word limits, formal e-mails.
Name origin
Muszka means "little fly" in Polish, after the fruit fly (Drosophila melanogaster), whose tiny nervous system shows how much a compact network can do with very little energy. The Muszka family follows the same idea: small models that run on ordinary hardware. Part of the muszkaowocowa.pl initiative; model page: muszkaowocowa.pl/en/muszka-instruct.
Muszka family:
- muszka-guard-0.1b-v1.1: a safety classifier for Polish prompts.
- muszka-instruct-1.5b-v1.0: this model.
- More Muszka models are in the works.
Files
model.safetensors: full weights (bf16) fortransformers, further fine-tuning and research.- GGUF for llama.cpp, Ollama and LM Studio in muszka-instruct-1.5b-v1.0-GGUF (Q4_K_M, Q5_K_M, Q6_K, F16; optimized for Polish text).
Quickstart
Transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
name = "Fibogacci/muszka-instruct-1.5b-v1.0"
tokenizer = AutoTokenizer.from_pretrained(name)
model = AutoModelForCausalLM.from_pretrained(name, dtype="auto", device_map="auto")
messages = [{"role": "user", "content": "Wyjaśnij dziecku w dwóch zdaniach, dlaczego pada deszcz."}]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt",
return_dict=True).to(model.device)
out = model.generate(**inputs, max_new_tokens=300, do_sample=True, temperature=0.2, top_p=0.9,
repetition_penalty=1.05)
print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
llama.cpp / Ollama
llama-cli -hf Fibogacci/muszka-instruct-1.5b-v1.0-GGUF:Q4_K_M -cnv --temp 0.2 --repeat-penalty 1.05
ollama run hf.co/Fibogacci/muszka-instruct-1.5b-v1.0-GGUF:Q4_K_M
Recommended settings: temperature 0.2–0.7, top-p 0.9, repetition penalty 1.05. A system
prompt is optional. Context length: 8,192 tokens. Chat format: ChatML (<|im_start|> / <|im_end|>), included in the
tokenizer and the GGUF files.
Raspberry Pi 5
Q4_K_M in llama.cpp on a Raspberry Pi 5 / Pi 500 generates about 12 tokens per second
with 2 threads (-t 2; more threads are slower, because the Pi's memory bandwidth drops),
which is comfortable reading speed. Please use the K-quants provided here: on the
Pi 5's Cortex-A76 cores, llama.cpp's Q4_0 / Q8_0 paths produce garbage for this model family.
Limitations
- A small model: it can be wrong about facts, names and numbers. Do not use it as a source of knowledge without retrieval.
- Strict word limits and formal letters are not always kept.
- Polish only; other languages were not a goal.
- No additional safety tuning beyond the base model; for public deployments consider an input filter such as muszka-guard.
Acknowledgements & attribution
Muszka Instruct builds on the open work of the Polish AI community:
- Bielik LLM team, SpeakLeash and ACK Cyfronet AGH: Krzysztof Ociepa, Łukasz Flis, Remigiusz Kinas, Adrian Gwoździej and Krzysztof Wróbel, together with Sebastian Kondracki, the whole SpeakLeash team and community, and the ACK Cyfronet AGH team (PLGrid), for Bielik-1.5B-v3.0-Instruct (Apache 2.0). Technical report: Bielik v3 Small.
Muszka is an independent project, not an official SpeakLeash model.
License: Apache 2.0, the same as the base model.
Muszka Instruct 1.5B v1.0 (wersja polska)
Wprowadzenie
Muszka Instruct 1.5B v1.0 to mały polski model do rozmowy i wykonywania poleceń (1,5 mld parametrów, 1,6 mld ze słownikiem), zbudowany na speakleash/Bielik-1.5B-v3.0-Instruct. Został dostrojony pod styl i trzymanie się poleceń: prosta, naturalna polszczyzna, krótkie odpowiedzi w zadanej długości i formie, bez zbędnego Markdownu i formułek.
Jest przeznaczony tam, gdzie duży model się nie mieści: na Raspberry Pi, na zwykły procesor laptopa, do przeglądarki albo na urządzenie offline. Fakty nie są jego mocną stroną. Wiedzę lepiej dostarczyć z wyszukiwania (RAG), na przykład razem z innymi modelami z rodziny Muszka.
Co się zmienia względem modelu bazowego
Na naszym zestawie 100 polskich poleceń (e-maile, streszczenia, wyjaśnianie dziecku, upraszczanie tekstu, twórcze pisanie, formatowanie, rozmowa), z automatycznym sprawdzaniem:
| Bielik 1.5B v3.0 Instruct | Muszka Instruct 1.5B v1.0 | |
|---|---|---|
| Trzyma się zadanej długości i formy | 60% | 79% |
| Urwane odpowiedzi | 7% | 0% |
| Zbędny Markdown (pogrubienia, nagłówki, listy) | 25% | 0% |
| Formułka na początku („Oto…”) | 20% | 2% |
Największa poprawa: streszczenia (60% → 100% w zadanej długości) i wyjaśnienia dla dzieci (73% → 93%). Nadal słabiej: ścisłe limity słów, formalne e-maile.
Skąd nazwa
Nazwa nawiązuje do muszki owocowej (Drosophila melanogaster). Jej maleńki układ nerwowy pokazuje, ile potrafi niewielka sieć przy bardzo małym zużyciu energii. Rodzina Muszka idzie tym tropem: małe modele, które działają na zwykłym sprzęcie. Projekt powstaje w ramach inicjatywy muszkaowocowa.pl; strona modelu: muszkaowocowa.pl/muszka-instruct.
Rodzina Muszka:
- muszka-guard-0.1b-v1.1: filtr bezpieczeństwa dla polskich zapytań.
- muszka-instruct-1.5b-v1.0: ten model.
- Kolejne modele z rodziny Muszka są w przygotowaniu.
Pliki
model.safetensors: pełne wagi (bf16) dotransformers, dalszego dotrenowania i badań.- GGUF do llama.cpp, Ollamy i LM Studio w muszka-instruct-1.5b-v1.0-GGUF (Q4_K_M, Q5_K_M, Q6_K, F16; zoptymalizowane pod polski tekst).
Szybki start
Transformers
from transformers import AutoTokenizer, AutoModelForCausalLM
name = "Fibogacci/muszka-instruct-1.5b-v1.0"
tokenizer = AutoTokenizer.from_pretrained(name)
model = AutoModelForCausalLM.from_pretrained(name, dtype="auto", device_map="auto")
messages = [{"role": "user", "content": "Wyjaśnij dziecku w dwóch zdaniach, dlaczego pada deszcz."}]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt",
return_dict=True).to(model.device)
out = model.generate(**inputs, max_new_tokens=300, do_sample=True, temperature=0.2, top_p=0.9,
repetition_penalty=1.05)
print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
llama.cpp / Ollama
llama-cli -hf Fibogacci/muszka-instruct-1.5b-v1.0-GGUF:Q4_K_M -cnv --temp 0.2 --repeat-penalty 1.05
ollama run hf.co/Fibogacci/muszka-instruct-1.5b-v1.0-GGUF:Q4_K_M
Zalecane ustawienia: temperatura 0,2–0,7, top-p 0,9, kara za powtórzenia 1,05. Prompt
systemowy jest opcjonalny. Długość kontekstu: 8 192 tokeny. Format czatu: ChatML (<|im_start|> / <|im_end|>), zapisany w
tokenizerze i w plikach GGUF.
Raspberry Pi 5
Q4_K_M w llama.cpp na Raspberry Pi 5 / Pi 500 generuje około 12 tokenów na sekundę na
2 wątkach (-t 2; więcej wątków jest wolniej, bo spada przepustowość pamięci Pi), czyli
wygodnie do czytania. Używaj udostępnionych tu kwantów K: na rdzeniach Cortex-A76 w Pi 5
ścieżki Q4_0 / Q8_0 w llama.cpp dają dla tej rodziny modeli nieczytelny tekst.
Ograniczenia
- To mały model: może mylić fakty, nazwy i liczby. Nie traktuj go jako źródła wiedzy bez wyszukiwania.
- Ścisłe limity słów i formalne pisma nie zawsze są dotrzymane.
- Tylko język polski; inne języki nie były celem.
- Bez dodatkowego strojenia bezpieczeństwa ponad model bazowy. Przy publicznych wdrożeniach warto dodać filtr wejścia, np. muszka-guard.
Podziękowania i atrybucja
Muszka Instruct powstała na bazie otwartej pracy polskiej społeczności AI:
- Zespół Bielik LLM, SpeakLeash i ACK Cyfronet AGH: Krzysztof Ociepa, Łukasz Flis, Remigiusz Kinas, Adrian Gwoździej i Krzysztof Wróbel, a także Sebastian Kondracki, cały zespół i społeczność SpeakLeash oraz zespół ACK Cyfronet AGH (PLGrid), twórcy Bielik-1.5B-v3.0-Instruct (Apache 2.0). Raport techniczny: Bielik v3 Small.
Muszka to niezależny projekt, a nie oficjalny model SpeakLeash.
Licencja: Apache 2.0, tak jak model bazowy.