Views
No views yet
| Language | OmniGEC-Minimal-8B (AYA-Expanse-8B) | OmniGEC-Minimal-12B (Gemma-3-12B) |
|---|---|---|
| Czech | 65.13 | 66.39 |
| English | 78.08 | 77.30 |
| Estonian | 41.52 | 55.12 |
| German | 78.22 | 75.47 |
| Greek | 56.03 | 53.01 |
| Italian | 77.83 | 74.70 |
| Latvian | 71.71 | 81.54 |
| Slovenian | 54.22 | 58.31 |
| Swedish | 55.99 | 63.91 |
| Ukrainian | 76.41 | 75.17 |
| Average | 65.51 | 68.09 |
| Language | OmniGEC-Fluency-8B (AYA-Expanse-8B) | OmniGEC-Fluency-12B (Gemma-3-12B) |
|---|---|---|
| Estonian | 49.55 | 52.42 |
| Icelandic | 35.04 | 42.50 |
| Ukrainian | 75.82 | 71.88 |
| Average | 53.47 | 55.60 |
| Sub-corpus | Tokens | Source | Notes |
|---|---|---|---|
| WikiEdits-MultiGEC | ≈ 1.2 M | Human Wikipedia “copy-edit” revisions (6 m window) | capped EN size to reduce bias |
| Reddit-MultiGEC | ≈ 13 M | Posts from ≥ 400 language-specific subreddits | content-moderated, GPT-4o-mini corrections |
| UberText-GEC (TBD) | ≈ 110 M | Ukrainian Telegram corpus | GPT-4o-mini corrections, UA-only |
| MultiGEC-25 | ≈ 0.5 M | Golden shared-task data | train/dev/test = 80 / 10 / 10 |
1pip install transformers
2git clone https://github.com/r-kovalch/omnigec-models.git
3cd multigec-models1from transformers import AutoTokenizer, AutoModelForCausalLM
2from src.instruction_templates import multigec_prompts
3from src.utils.multigec import LANG_TO_CODE, LANG_CODE_TO_TOKEN
4
5# For AYA-based models (OmniGEC-Minimal-8B, OmniGEC-Fluency-8B)
6def formatting_prompts_func(example):
7 language_code = LANG_TO_CODE[example["language"]]
8 language_token = LANG_CODE_TO_TOKEN[language_code]
9
10 user_input = example['feature']
11 prompt_template = multigec_prompts[example["language"]].prompt_template
12 instruction = prompt_template.format(original_text=user_input)
13
14 text = f"<|START_OF_TURN_TOKEN|><|USER_TOKEN|>{language_token}{instruction}<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>"
15
16 return text
17
18# For Gemma-based models (OmniGEC-Minimal-12B, OmniGEC-Fluency-12B)
19def formatting_prompts_func(example):
20 language_code = LANG_TO_CODE[example["language"]]
21 # Since special tokens for Gemma models does not have |, we remove them
22 language_token = LANG_CODE_TO_TOKEN[language_code].replace("|", "")
23
24 user_input = example['feature']
25 prompt_template = multigec_prompts[example["language"]].prompt_template
26 instruction = prompt_template.format(original_text=user_input)
27
28 text = f"<start_of_turn>user\n{language_token}{instruction}<end_of_turn>\n<start_of_turn>model\n"
29
30 return text
31
32repo = "lang-uk/OmniGEC-Minimal-8B" # or -Fluency-8B / -12B
33tok = AutoTokenizer.from_pretrained(repo)
34model = AutoModelForCausalLM.from_pretrained(repo, torch_dtype="auto")
35
36lang = "en"
37text = "She go to school every day ."
38# Choose formatting func accordingly to base model Gemma/Aya
39prompt = formatting_prompts_func(text)
40
41out = model.generate(**tok(prompt, return_tensors="pt"), max_new_tokens=1600)
42print(tok.decode(out[0], skip_special_tokens=True))