ndgold commited on
Commit
3f04132
·
verified ·
1 Parent(s): 977eb70

Upload folder using huggingface_hub

Browse files
Files changed (5) hide show
  1. README.md +4 -58
  2. config.json +32 -2
  3. generation_config.json +12 -12
  4. model.safetensors +1 -1
  5. tokenizer_config.json +0 -15
README.md CHANGED
@@ -1,61 +1,7 @@
1
  ---
2
- license: apache-2.0
3
- base_model: Qwen/Qwen3-0.6B
4
  library_name: mlx
5
- tags: [mlx, text-simplification, easy-language, accessibility, multilingual, qwen3]
6
- language: [de, fr, en, es, ar, da, et, fi, hi, it, ja, ko, nl, pt, ru, sk, sv, tr, vi]
 
7
  ---
8
-
9
- # Qwen3-0.6B-EasyLanguage (4-bit, MLX)
10
-
11
- LoRA fine-tune of **Qwen/Qwen3-0.6B** that rewrites live speech transcripts into easy-to-read
12
- registers across **20 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
13
- [Live Linguist](https://github.com/ngoldbla/live-linguist) on-device captioner.
14
- Each locale follows its own national / European Easy-to-Read or plain-language standard.
15
- Quantized to 4-bit for Apple-silicon inference via MLX.
16
-
17
- It splits run-ons into short sentences, drops disfluencies, keeps names/numbers, and
18
- stays in the input language. Trained on a lean prompt (no few-shots) so the register is
19
- internalized — shorter prompts, lower live-caption latency.
20
-
21
- ## Evaluation (held-out test set; SARI = simplification quality)
22
- | lang | SARI ft | SARI stock | chrF ft | LID ft | compliance ft |
23
- | --- | --- | --- | --- | --- | --- |
24
- | de | 47.89 | 32.98 | 42.26 | 1.0 | 0.99 |
25
- | fr | 56.93 | 33.31 | 51.19 | 1.0 | 1.0 |
26
- | es | 59.34 | 36.57 | 54.79 | 1.0 | 0.995 |
27
- | en | 59.17 | 32.46 | 54.57 | 1.0 | 1.0 |
28
- | ar | 49.23 | 50.11 | 45.74 | 0.985 | 0.94 |
29
- | da | 53.12 | 35.58 | 50.24 | 0.995 | 0.94 |
30
- | et | 49.39 | 30.48 | 52.76 | 1.0 | 1.0 |
31
- | fi | 50.55 | 35.2 | 56.33 | 1.0 | 0.985 |
32
- | hi | 52.66 | 35.16 | 45.05 | 0.995 | 0.82 |
33
- | it | 53.34 | 49.18 | 48.83 | 1.0 | 0.8299 |
34
- | ja | 8.37 | 8.29 | 40.85 | 1.0 | 0.97 |
35
- | ko | 49.55 | 43.77 | 40.03 | 1.0 | 0.98 |
36
- | nl | 51.9 | 38.96 | 48.38 | 0.985 | 0.9 |
37
- | pt-BR | 55.02 | 37.54 | 52.11 | 1.0 | 0.82 |
38
- | pt-PT | 57.44 | 38.96 | 58.14 | 1.0 | 0.975 |
39
- | ru | 50.61 | 41.13 | 49.65 | 1.0 | 0.94 |
40
- | sk | 50.92 | 40.59 | 46.68 | 1.0 | 0.975 |
41
- | sv | 53.23 | 40.16 | 55.08 | 0.995 | 0.96 |
42
- | tr | 51.32 | 31.73 | 49.91 | 0.995 | 0.97 |
43
- | vi | 59.62 | 41.3 | 58.75 | 1.0 | 0.725 |
44
- | zh-CN | 8.75 | 8.5 | 51.67 | 0.955 | 0.925 |
45
-
46
- ## Usage (MLX)
47
- ```python
48
- from mlx_lm import load, generate
49
- model, tok = load("ndgold/Qwen3-0.6B-EasyLanguage-4bit")
50
- msgs = [{"role":"system","content":"<framework system prompt>"},
51
- {"role":"user","content":"Original: <utterance>\nRewritten:"}]
52
- p = tok.apply_chat_template(msgs, add_generation_prompt=True, tokenize=False, enable_thinking=False)
53
- print(generate(model, tok, prompt=p, max_tokens=96))
54
- ```
55
-
56
- ## Sources & licenses
57
- - **Base model:** Qwen3 (Apache-2.0).
58
- - **German seed data:** [tum-nlp/German4All-Corpus](https://huggingface.co/datasets/tum-nlp/German4All-Corpus) (German Wikipedia, CC BY-SA).
59
- - **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).
60
- - Intended for the **Live Linguist** on-device live-caption simplifier. Not a general chatbot.
61
-
 
1
  ---
2
+ language: en
 
3
  library_name: mlx
4
+ pipeline_tag: text-generation
5
+ tags:
6
+ - mlx
7
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
config.json CHANGED
@@ -5,6 +5,7 @@
5
  "attention_bias": false,
6
  "attention_dropout": 0.0,
7
  "bos_token_id": 151643,
 
8
  "eos_token_id": [
9
  151645,
10
  151643
@@ -14,6 +15,36 @@
14
  "hidden_size": 1024,
15
  "initializer_range": 0.02,
16
  "intermediate_size": 3072,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  "max_position_embeddings": 40960,
18
  "max_window_layers": 28,
19
  "model_type": "qwen3",
@@ -35,8 +66,7 @@
35
  "rope_theta": 1000000,
36
  "sliding_window": null,
37
  "tie_word_embeddings": true,
38
- "torch_dtype": "bfloat16",
39
- "transformers_version": "4.51.0",
40
  "use_cache": true,
41
  "use_sliding_window": false,
42
  "vocab_size": 151936
 
5
  "attention_bias": false,
6
  "attention_dropout": 0.0,
7
  "bos_token_id": 151643,
8
+ "dtype": "bfloat16",
9
  "eos_token_id": [
10
  151645,
11
  151643
 
15
  "hidden_size": 1024,
16
  "initializer_range": 0.02,
17
  "intermediate_size": 3072,
18
+ "layer_types": [
19
+ "full_attention",
20
+ "full_attention",
21
+ "full_attention",
22
+ "full_attention",
23
+ "full_attention",
24
+ "full_attention",
25
+ "full_attention",
26
+ "full_attention",
27
+ "full_attention",
28
+ "full_attention",
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention",
41
+ "full_attention",
42
+ "full_attention",
43
+ "full_attention",
44
+ "full_attention",
45
+ "full_attention",
46
+ "full_attention"
47
+ ],
48
  "max_position_embeddings": 40960,
49
  "max_window_layers": 28,
50
  "model_type": "qwen3",
 
66
  "rope_theta": 1000000,
67
  "sliding_window": null,
68
  "tie_word_embeddings": true,
69
+ "transformers_version": "4.57.6",
 
70
  "use_cache": true,
71
  "use_sliding_window": false,
72
  "vocab_size": 151936
generation_config.json CHANGED
@@ -1,13 +1,13 @@
1
  {
2
- "bos_token_id": 151643,
3
- "do_sample": true,
4
- "eos_token_id": [
5
- 151645,
6
- 151643
7
- ],
8
- "pad_token_id": 151643,
9
- "temperature": 0.6,
10
- "top_k": 20,
11
- "top_p": 0.95,
12
- "transformers_version": "4.51.0"
13
- }
 
1
  {
2
+ "bos_token_id": 151643,
3
+ "do_sample": true,
4
+ "eos_token_id": [
5
+ 151645,
6
+ 151643
7
+ ],
8
+ "pad_token_id": 151643,
9
+ "temperature": 0.6,
10
+ "top_k": 20,
11
+ "top_p": 0.95,
12
+ "transformers_version": "4.57.6"
13
+ }
model.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:314cb1b4bbbfc57edce46292ee4d73c66f95c24068361aaa981f1c222d91d4a3
3
  size 335450548
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f00c3328b59c3650a1a6f5413f5587e26d15c37b6ae5d75bf1214b40b1889c9a
3
  size 335450548
tokenizer_config.json CHANGED
@@ -5,21 +5,6 @@
5
  "clean_up_tokenization_spaces": false,
6
  "eos_token": "<|im_end|>",
7
  "errors": "replace",
8
- "extra_special_tokens": [
9
- "<|im_start|>",
10
- "<|im_end|>",
11
- "<|object_ref_start|>",
12
- "<|object_ref_end|>",
13
- "<|box_start|>",
14
- "<|box_end|>",
15
- "<|quad_start|>",
16
- "<|quad_end|>",
17
- "<|vision_start|>",
18
- "<|vision_end|>",
19
- "<|vision_pad|>",
20
- "<|image_pad|>",
21
- "<|video_pad|>"
22
- ],
23
  "is_local": true,
24
  "local_files_only": false,
25
  "model_max_length": 131072,
 
5
  "clean_up_tokenization_spaces": false,
6
  "eos_token": "<|im_end|>",
7
  "errors": "replace",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  "is_local": true,
9
  "local_files_only": false,
10
  "model_max_length": 131072,