Qwen3 1.7B — Easy Language (Q5_K_M GGUF)

A LoRA fine-tune of Qwen/Qwen3-1.7B that rewrites spoken sentences into the Easy Language register of the same language — FALC in French, Leichte Sprache in German, Lectura Fácil in Spanish, and the Inclusion Europe "Easy-to-Read" standard elsewhere.

It is a same-language simplification model, not a translation model. Given French in, it produces simpler French out. It never translates.

Built for Live Linguist, an on-device live captioning app. Everything runs locally; this model exists so that simplification never requires a server.

Prompt contract — this is not optional

The model was trained against one exact rendering, and deviating from it degrades output silently. There is no error, just worse rewrites.

<|im_start|>system
{SYSTEM_PROMPT}<|im_end|>
<|im_start|>user
Original: {SENTENCE}
Rewritten:<|im_end|>
<|im_start|>assistant
<think>

</think>

Three things people get wrong:

  1. The assistant turn is pre-filled with an EMPTY think block — literally <think>\n\n</think>\n\n. This is Qwen3's enable_thinking=false form. Omit it and the model may emit reasoning into your caption.
  2. {SYSTEM_PROMPT} carries a trailing /no_think soft switch. It belongs to the prompt, not the template.
  3. No few-shot examples, and no rolling context. The fine-tune internalised the register, so it was trained on the bare Original:/Rewritten: turn. Injecting examples or prior segments is out-of-distribution and bleeds context into the rewrite.

The system prompts are the per-language framework packs in the app repo under core/src/main/resources/framework_packs/.

Sampling — fixed, and evaluated under these values

parameter value
temperature 0 (greedy)
repeat_penalty 1.3
repeat_last_n 20
n_predict 128

These are not tuning knobs. The gate results below were produced under exactly these settings.

Evaluation

20-prompt validator-clean rate across 12 languages, scored by the same validators the app uses at runtime (sentence length, one-idea-per-sentence, no invented content, still-in-source-language):

100.00% (20/20) against a 97.23% MLX baseline.

Why Q5_K_M and not Q4_K_M

This model ships at Q5_K_M deliberately. On the 20-prompt validator gate it scored:

artifact validator-clean vs 97.23% baseline
bf16 100.00% −2.77 pp ✅
Q5_K_M 100.00% −2.77 pp ✅
Q4_K_M 85.00% +12.23 pp ❌

bf16 passing rules out training, chat template and tokenizer, so the loss at Q4_K_M is quantisation. The companion 0.6B is unharmed by Q4_K_M, so the sensitivity belongs to this model rather than to the quantiser.

Read that with the sample size in mind. 20 prompts is a screen for gross breakage, not a quality measurement — 17/20 versus 19/20 is two prompts and well inside binomial noise at n=20. What is solid is narrower: Q4_K_M failed this gate, Q5_K_M matched bf16 on everything measured, and the extra ~150 MB removes a risk that would otherwise rest on twenty samples.

Limitations

  • Twenty prompts is a screen, not a benchmark. At n=20 the binomial interval is roughly ±10 pp. This catches gross breakage; it does not establish parity of quality.
  • Grammar is imperfect at these sizes. A real 0.6B output was "La semaine dernière, nous avons partis à la médina" — the register is right (disfluency removed, run-on split) and the auxiliary is wrong (sommes, not avons).
  • Simplified text is a paraphrase. The app labels it "~ simplified — may not be exact" for this reason. It should not be relied on where exact wording is legally or medically material.
  • No real-hardware latency measurement exists yet. The 1.7B has not been benchmarked on a phone.

Licence and attribution

Apache-2.0, inherited from the base model.

  • Qwen3 by Alibaba Cloud — Qwen/Qwen3-1.7B
  • Easy Language fine-tune by ndgold

Provenance

  • LoRA: rank 16, alpha 320 (scale 20.0 × rank), dropout 0.05, on q_proj/k_proj/v_proj/o_proj of the top 16 layers only; max sequence 1024; 1 epoch.
  • Trained locally on an RTX 5060 Ti (sm_120).
  • SHA-256 of this artifact: 4bca904824b7969a0704415762668f88f01c3137b1ab9b32c89848c749dddcb3

The app pins this hash and verifies it after download; a mismatch aborts the install.

Downloads last month
101
GGUF
Model size
2B params
Architecture
qwen3
Hardware compatibility
Log In to add your hardware

5-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ndgold/Qwen3-1.7B-EasyLanguage-GGUF

Finetuned
Qwen/Qwen3-1.7B
Quantized
(342)
this model

Dataset used to train ndgold/Qwen3-1.7B-EasyLanguage-GGUF