Қазақша
Til-Core-0.5B-QazGramma-GEC — қазақ мәтініндегі грамматикалық, орфографиялық, пунктуациялық және сөз қолданысы қателерін түзететін 498M параметрлі GEC моделі. Репозиторий көлемі — 1.02 ГБ; ол Til-Core-0.5B негізінде fine-tune жасалған.
Модель мағынаны сақтап, тек түзетілген мәтінді қайтаруға үйретілген. Дұрыс берілген мәтінді өзгеріссіз қалдыру да тапсырмаға кіреді.
Құрылымы мен үйрету
Table with columns: Сипаттама, Мәні| Сипаттама | Мәні |
|---|
| Архитектура | Qwen2ForCausalLM |
| Параметр саны | 498M |
| Қабат саны | 18 |
| Сөздік | 256000 токен |
| Контекст ұзындығы | 32768 токен |
| Әдіс | LoRA, merged |
| Үйрету жұбы | 9,599 |
| Epoch | 3 |
Үйрету жинағында синтетикалық GEC жұптары қолданылған. LoRA барлық 7 projection қабатына қолданылып, соңында негізгі модельмен біріктірілген.
Бағалау
Table with columns: Бөлік, Exact match, chrF, Keep-correct| Бөлік | Exact match | chrF | Keep-correct |
|---|
| test | 22.0 | 90.2 | 69.2 |
| organic_social | 6.2 | 82.6 | — |
| synthetic | 15.7 | 83.6 | — |
organic_social бөлігі шынайы әлеуметтік желі мәтіндерінен тұрады және модель үшін қиынырақ. Сирек қателер мен күрделі құрылымдар түзетілмей қалуы мүмкін. Қолданба түзетілген жолды бастапқы мәтінмен салыстырып, мағынасының сақталғанын тексере алады.
Іске қосу
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "TilQazyna/Til-Core-0.5B-QazGramma-GEC"
tokenizer = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(
repo, dtype=torch.bfloat16, device_map="auto"
).eval()
instruction = "Мәтіндегі қателерді түзет. Мағынаны өзгертпе. Тек түзетілген мәтінді қайтар."
text = "Мен бугін мектепке бардым"
prompt = f"### Нұсқау:\n{instruction}\n\n### Мәтін:\n{text}\n\n### Түзетілген:\n"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=80, do_sample=False)
answer = output[0][inputs["input_ids"].shape[1]:]
print(tokenizer.decode(answer, skip_special_tokens=True).split("###")[0].strip())
Қолжетімділік
Карточка мен файл атаулары ашық көрінеді. Файлдарды жүктеу «Request access» өтінімі мақұлданғаннан кейін мүмкін болады; шешімді TilQazyna командасы қабылдайды.
Байланысты репозиторийлер
Базалық модель — Til-Core-0.5B. GEC деректерінің TilQazyna жинағы — Til-GEC.
Русский
Til-Core-0.5B-QazGramma-GEC — GEC-модель на 498M параметров для исправления грамматических, орфографических, пунктуационных ошибок и ошибок словоупотребления в казахском тексте. Репозиторий занимает 1.02 ГБ; модель получила fine-tune на основе Til-Core-0.5B.
Модель обучена сохранять смысл и возвращать только исправленный текст. В задачу также входит копирование исходной строки без изменений, если она написана правильно.
Устройство и обучение
Table with columns: Характеристика, Значение| Характеристика | Значение |
|---|
| Архитектура | Qwen2ForCausalLM |
| Параметров | 498M |
| Слоёв | 18 |
| Словарь | 256000 токенов |
| Длина контекста | 32768 токенов |
| Метод | LoRA, merged |
| Обучающих пар | 9,599 |
| Epoch | 3 |
Для обучения использованы синтетические пары GEC. LoRA применили ко всем 7 projection-слоям, затем адаптер объединили с базовой моделью.
Оценка
Table with columns: Часть, Exact match, chrF, Keep-correct| Часть | Exact match | chrF | Keep-correct |
|---|
| test | 22.0 | 90.2 | 69.2 |
| organic_social | 6.2 | 82.6 | — |
| synthetic | 15.7 | 83.6 | — |
Часть organic_social содержит реальные тексты из социальных сетей и даётся модели сложнее. Редкие ошибки и сложные конструкции могут остаться без исправления.
Как запустить
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "TilQazyna/Til-Core-0.5B-QazGramma-GEC"
tokenizer = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(
repo, dtype=torch.bfloat16, device_map="auto"
).eval()
instruction = "Мәтіндегі қателерді түзет. Мағынаны өзгертпе. Тек түзетілген мәтінді қайтар."
text = "Мен бугін мектепке бардым"
prompt = f"### Нұсқау:\n{instruction}\n\n### Мәтін:\n{text}\n\n### Түзетілген:\n"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=80, do_sample=False)
answer = output[0][inputs["input_ids"].shape[1]:]
print(tokenizer.decode(answer, skip_special_tokens=True).split("###")[0].strip())
Доступ
Карточка и имена файлов доступны для просмотра. Файлы можно скачать после одобрения заявки через «Request access»; решение по заявке принимает команда TilQazyna.
Связанные репозитории
Базовая модель — Til-Core-0.5B. Коллекция TilQazyna с данными GEC — Til-GEC.
English
Til-Core-0.5B-QazGramma-GEC is a 498M-parameter GEC model for correcting grammar, spelling, punctuation, and word-use errors in Kazakh text. The repository is 1.02 GB; the model was fine-tuned from Til-Core-0.5B.
The model is trained to preserve meaning and return only the corrected text. Its task also covers leaving an input unchanged when no correction is needed.
Architecture and training
Table with columns: Property, Value| Property | Value |
|---|
| Architecture | Qwen2ForCausalLM |
| Parameters | 498M |
| Layers | 18 |
| Vocabulary | 256000 tokens |
| Context length | 32768 tokens |
| Method | LoRA, merged |
| Training pairs | 9,599 |
| Epochs | 3 |
Training used synthetic GEC pairs. LoRA targeted all 7 projection layers, and the resulting adapter was merged into the base checkpoint.
Evaluation
Table with columns: Split, Exact match, chrF, Keep-correct| Split | Exact match | chrF | Keep-correct |
|---|
| test | 22.0 | 90.2 | 69.2 |
| organic_social | 6.2 | 82.6 | — |
| synthetic | 15.7 | 83.6 | — |
The organic_social split contains real social-media text and is more difficult for the model. Rare error types and complex constructions may remain uncorrected.
Usage
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "TilQazyna/Til-Core-0.5B-QazGramma-GEC"
tokenizer = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(
repo, dtype=torch.bfloat16, device_map="auto"
).eval()
instruction = "Мәтіндегі қателерді түзет. Мағынаны өзгертпе. Тек түзетілген мәтінді қайтар."
text = "Мен бугін мектепке бардым"
prompt = f"### Нұсқау:\n{instruction}\n\n### Мәтін:\n{text}\n\n### Түзетілген:\n"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=80, do_sample=False)
answer = output[0][inputs["input_ids"].shape[1]:]
print(tokenizer.decode(answer, skip_special_tokens=True).split("###")[0].strip())
Access
The card and file names are publicly visible. Downloads require an approved request submitted with the “Request access” button; the TilQazyna team makes the access decision.
The base checkpoint is Til-Core-0.5B. TilQazyna's GEC data collection is Til-GEC.
Лицензия · License: apache-2.0 · TilQazyna