Text Classification
Laya
ONNX
Greek
English
speech-recognition
asr-error-detection
recmeets
somniusx commited on
Commit
23e9b93
·
verified ·
1 Parent(s): c144ae7

RecMeets Laya v1 (run 4): Greek and English, 8-bit ONNX

Browse files
Files changed (5) hide show
  1. .gitattributes +1 -0
  2. README.md +47 -0
  3. laya.json +13 -0
  4. model.onnx +3 -0
  5. tokenizer.json +3 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ base_model: convaiinnovations/laya
4
+ language: [el, en]
5
+ pipeline_tag: text-classification
6
+ tags: [laya, speech-recognition, asr-error-detection, recmeets, onnx]
7
+ datasets: [google/fleurs]
8
+ ---
9
+
10
+ # RecMeets' Laya: is this word a speech-recognition mistake?
11
+
12
+ A fine-tune of [Laya](https://huggingface.co/convaiinnovations/laya) (`laya-multilingual`, Apache 2.0) for [RecMeets](https://lefteros.com/apps/recmeets/)' Check words: given a word in its sentence as a speech recognizer wrote it, how likely is it a mistake? Greek and English.
13
+
14
+ **Input** (Laya's `noul` question, one per word): the question in `laya.json`, and this state:
15
+
16
+ ```
17
+ Sentence: <about ten words either side, the word marked ⟦ ⟧>
18
+ Word: <the word>
19
+ Engine confidence: <0.00–1.00, or unknown>
20
+ In the <Greek|English> dictionary: <yes|no|can't tell>
21
+ ```
22
+
23
+ **Output:** the probability of "true" (a mistake), after the temperature in `laya.json`.
24
+
25
+ ## Data
26
+
27
+ Real mistakes of the engine RecMeets uses (whisper.cpp, large-v3-turbo, as RecMeets configures it): [FLEURS](https://huggingface.co/datasets/google/fleurs) Greek and English (Google, CC BY 4.0) transcribed in 10-minute files, each word labelled by aligning the transcript with FLEURS' reference text. Train: 71,906 Greek and 54,845 English words (9,880 and 2,547 mistakes), balanced to 35% mistakes. Test: FLEURS' test split (other speakers). The dictionary answer comes from LibreOffice's el_GR and en_US hunspell dictionaries.
28
+
29
+ ## Results (AUROC on FLEURS test)
30
+
31
+ | | Greek, all words | Greek, unsure words | English, unsure words |
32
+ |---|---|---|---|
33
+ | the engine's confidence alone | 0.82 | 0.63 | 0.74 |
34
+ | the dictionary alone | | 0.85 | 0.70 |
35
+ | stock laya-multilingual (same question) | 0.41 | | |
36
+ | **this model** | **0.90** | **0.91** | **0.86** |
37
+ | TypeSafe Jev (cloud), the same input | | 0.93 | 0.89 |
38
+
39
+ "Unsure words": the engine's confidence under 0.5, four letters or more (what Check words lists).
40
+
41
+ ## Files
42
+
43
+ - `model.onnx` (343 MB): exported with Laya's `export_onnx.py`; matrix products in ONNX Runtime's 8-bit block format (`MatMulNBits`), the embedding table in 8 bits; the same AUROC as the 32-bit model. Inputs `input_ids`, `attention_mask`, `marker_pos`, `marker_mask`, `qtype` (2), output `logits`. One sequence at a time (the export keeps batch size 1 inside its rotary code).
44
+ - `tokenizer.json`: mmBERT's, unchanged.
45
+ - `laya.json`: the question, the token budgets, special tokens and the fitted temperature.
46
+
47
+ How it was made: `scripts/laya/` and `docs/research/laya-finetune.md` in the RecMeets repository. By Lefteris Iliadis (Lefteros.com), 2026.
laya.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "instructions": "A speech recognizer wrote this sentence. Is the word marked ⟦ ⟧ a recognition mistake: a word the speaker most likely did not say?",
3
+ "criteria_false": "right: the word the speaker said, spelled correctly",
4
+ "criteria_true": "a mistake: misheard, misspelled, not a real word, or the wrong word here",
5
+ "max_len": 1024,
6
+ "head_max_len": 256,
7
+ "cls": 2,
8
+ "sep": 1,
9
+ "mask": 4,
10
+ "pad": 0,
11
+ "mask_token": "<mask>",
12
+ "temperature": 1.7306629419326782
13
+ }
model.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a7b35f5c4943a87fa323fb5355876773860875cecf46dc90fa9f86d1e0d10efd
3
+ size 343202156
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:609d8f4c067cd3950f88594c5a802616cea245823836ef5848ee4fc40aab5b6f
3
+ size 34363188