--- license: apache-2.0 base_model: Qwen/Qwen3-0.6B library_name: mlx tags: [mlx, text-simplification, easy-language, accessibility, multilingual, qwen3] language: [de, fr, en, es, ar, da, et, fi, hi, it, ja, ko, nl, pt, ru, sk, sv, tr, vi, zh, uk, ro, bg, pl, hr, nb, hu, cs] --- # Qwen3-0.6B-EasyLanguage (4-bit, MLX) LoRA fine-tune of **Qwen/Qwen3-0.6B** that rewrites live speech transcripts into easy-to-read registers across **29 language locales** — German (Leichte Sprache), French (FALC), English (Easy/Plain English), Spanish (Lectura Fácil), Easy-to-Read Arabic (Inclusion Europe / Information for All), Letlæst (Inclusion Europe ETR), and more — for the [Live Linguist](https://github.com/ngoldbla/live-linguist) on-device captioner. Each locale follows its own national / European Easy-to-Read or plain-language standard. Quantized to 4-bit for Apple-silicon inference via MLX. It splits run-ons into short sentences, drops disfluencies, keeps names/numbers, and stays in the input language. Trained on a lean prompt (no few-shots) so the register is internalized — shorter prompts, lower live-caption latency. ## Evaluation (held-out test set; SARI = simplification quality) | lang | SARI ft | SARI stock | chrF ft | LID ft | compliance ft | | --- | --- | --- | --- | --- | --- | | de | 47.56 | 32.98 | 41.93 | 1.0 | 0.985 | | fr | 57.97 | 33.31 | 51.47 | 1.0 | 0.99 | | es | 59.45 | 36.57 | 54.68 | 1.0 | 0.99 | | en | 60.99 | 32.46 | 55.03 | 1.0 | 0.975 | | ar | 50.04 | 50.11 | 46.58 | 0.99 | 0.945 | | da | 53.67 | 35.58 | 51.18 | 0.99 | 0.93 | | et | 47.65 | 30.48 | 50.87 | 1.0 | 0.995 | | fi | 49.9 | 35.2 | 55.87 | 1.0 | 0.975 | | hi | 51.87 | 35.16 | 44.18 | 0.99 | 0.805 | | it | 54.0 | 49.18 | 48.83 | 1.0 | 0.8557 | | ja | 8.39 | 8.29 | 41.38 | 1.0 | 0.965 | | ko | 49.23 | 43.77 | 39.56 | 1.0 | 0.975 | | nl | 51.68 | 38.96 | 48.21 | 0.99 | 0.89 | | pt-BR | 55.34 | 37.54 | 51.92 | 1.0 | 0.755 | | pt-PT | 58.17 | 38.96 | 58.38 | 1.0 | 0.93 | | ru | 51.09 | 41.13 | 49.39 | 1.0 | 0.93 | | sk | 51.19 | 40.59 | 46.52 | 1.0 | 0.96 | | sv | 53.62 | 40.16 | 54.36 | 0.99 | 0.965 | | tr | 50.51 | 31.73 | 49.61 | 0.995 | 0.97 | | vi | 60.23 | 41.3 | 58.21 | 1.0 | 0.685 | | zh-CN | 9.0 | 8.5 | 51.54 | 0.995 | 0.935 | | uk | 52.12 | 39.63 | 51.13 | 0.995 | 0.99 | | ro | 51.7 | 40.75 | 50.94 | 1.0 | 0.94 | | bg | 50.83 | 34.17 | 52.76 | 0.985 | 0.98 | | pl | 50.56 | 36.93 | 48.21 | 1.0 | 0.97 | | hr | 51.3 | 33.88 | 50.85 | 0.995 | 0.99 | | nb | 51.82 | 29.97 | 54.57 | 0.99 | 0.97 | | hu | 49.74 | 38.56 | 51.06 | 1.0 | 0.985 | | cs | 49.41 | 39.47 | 46.51 | 0.995 | 0.985 | ## Usage (MLX) ```python from mlx_lm import load, generate model, tok = load("ndgold/Qwen3-0.6B-EasyLanguage-4bit") msgs = [{"role":"system","content":""}, {"role":"user","content":"Original: \nRewritten:"}] p = tok.apply_chat_template(msgs, add_generation_prompt=True, tokenize=False, enable_thinking=False) print(generate(model, tok, prompt=p, max_tokens=96)) ``` ## Sources & licenses - **Base model:** Qwen3 (Apache-2.0). - **German seed data:** [tum-nlp/German4All-Corpus](https://huggingface.co/datasets/tum-nlp/German4All-Corpus) (German Wikipedia, CC BY-SA). - **Synthetic pairs (all other languages + de augmentation):** spoken→easy-language pairs generated by Claude (Anthropic) — Leichte Sprache (de), FALC (fr), Easy/Plain English (en), Lectura Fácil (es), and 25 further locales following each language's Easy-to-Read / plain-language standard (Inclusion Europe "Information for All", Selkokieli, Lättläst, やさしい日本語, ISO 24495-1, …). Every pair is filtered by a deterministic validator suite (per-language sentence-length caps, language-ID, fidelity anchoring, number preservation, anti-parroting). - Intended for the **Live Linguist** on-device live-caption simplifier. Not a general chatbot.