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
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for matejkalc99/mulon

Finetuned
Qwen/Qwen3.5-9B
Adapter
(1003)
this model