Instructions to use matejkalc99/mulon with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use matejkalc99/mulon with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-9B") model = PeftModel.from_pretrained(base_model, "matejkalc99/mulon") - Notebooks
- Google Colab
- Kaggle
Mulon: an experimental LoRA adapter for modern Triestine
Mulon is a LoRA adapter that makes Qwen/Qwen3.5-9B write and converse in the Triestine dialect of Trieste, Italy. It was made by a small hobby team. It is an experimental research artifact and our first public release, version 1.
Native Triestine speakers have not validated this model — all quality judgments so far come from AI review and non-native speakers.
Quickstart
Needs transformers ≥ 5 (tested 5.3.0) and peft (tested 0.19.0). The adapter targets the text backbone, so load the base with AutoModelForCausalLM; bf16 needs ~18 GB (CPU works, but slowly). Only greedy, non-thinking decoding was evaluated.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
BASE = "Qwen/Qwen3.5-9B"
ADAPTER = "matejkalc99/mulon"
tokenizer = AutoTokenizer.from_pretrained(BASE)
base = AutoModelForCausalLM.from_pretrained(BASE, dtype=torch.bfloat16, device_map="auto")
model = PeftModel.from_pretrained(base, ADAPTER).eval()
# System instruction used in all of our evaluations.
system = (
"Rispondi in triestino moderno, con frasi naturali e utili. Mantieni questo registro anche nei "
"consigli e nelle risposte pratiche. Usa le forme attestate «xe», «go», «te ga», «no» solo quando "
"persona e significato le richiedono, senza inserirle a forza. Esegui la richiesta, non limitarti a "
"tradurre la domanda, e rispetta il formato. Conserva chi parla, agisce e possiede le cose, oltre a "
"quantità, tempi e negazioni. Non aggiungere fatti, cause o azioni già compiute. Se manca "
"un’informazione, dillo o chiedila; presenta possibilità e consigli come tali."
)
messages = [
{"role": "system", "content": system},
{"role": "user", "content": "Scrivi a Davide per chiedergli di riportarmi il caricatore entro domani."},
]
inputs = tokenizer.apply_chat_template(
messages, add_generation_prompt=True, enable_thinking=False,
return_tensors="pt", return_dict=True,
).to(model.device)
with torch.no_grad():
out = model.generate(**inputs, max_new_tokens=256, do_sample=False) # greedy, as evaluated
print(tokenizer.decode(out[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))
Performance
| Our 32-task suite | Mulon | Bare base |
|---|---|---|
| Complete tasks /32 | 28 | 14 |
| Conversations /20 | 18 | 9 |
| Rewrites /12 | 10 | 5 |
| Multi-turn /8 | 6 | 2 |
| Critical failures | 0 | 2 |
- Small custom suite written by us and judged by AI — not a general benchmark.
- Held-out authentic forum text: perplexity 48.7 vs the bare base's 526.1 — in-domain fit, not proof of natural fluency.
What it still gets wrong
- Sometimes falls back to standard Italian when asked for Triestine, and sometimes keeps dialect when standard Italian is requested.
- Fluent-sounding answers can swap names or ownership, or drop constraints.
- Training text is one forum (atrieste.eu), written register 2006–2026 — not spoken Triestine.
- Most replayed conversation examples have AI-written targets (366 of 489), never checked by native speakers.
- Benchmarks are small: do not use it for consequential answers.
License & data
Source posts are CC BY-NC-SA 3.0 under atrieste.eu's rules; credit to its writers, and thanks. This release is CC BY-NC-SA 4.0 (research, non-commercial). The base Qwen3.5-9B is Apache-2.0 and not included; download it separately.
Files
The two PDFs hold the full training and evaluation reports.
| File | Contents |
|---|---|
README.md |
this card |
adapter_model.safetensors |
LoRA weights |
adapter_config.json |
PEFT config |
docs/Triestine_v10_Training_Report.pdf |
training report |
docs/Triestine_v10_Evaluation_Report.pdf |
evaluation report |
They carry the build label "v10", the development name of this v1 release.
The adapter SHA-256 is d3baa14f82376e22c73994ce0ca6edbee753b08b4908c26f4852958c788724b7.
hf download matejkalc99/mulon adapter_model.safetensors --local-dir ./mulon
sha256sum ./mulon/adapter_model.safetensors
- Downloads last month
- 25