🇺🇦 SyrzykAI: Модель перекладу з суржику на літературну українську

Base Model Dataset License: cc-by-nc-4.0

SyrzykAI — це нейромережева модель для автоматичного виправлення суржику, русизмів, кальок та граматичних інтерференцій у текстах. Модель перекладає (нормалізує) текст із суржику на чисту, нормативну літературну українську мову.

Модель заснована на багатомовній архітектурі NLLB-200 (600M параметрів) та донавчена за допомогою методології QLoRA на спеціалізованому паралельному корпусі українського суржику. Адаптери LoRA були злиті з базовою моделлю, що дозволяє легко використовувати її для 8-бітного інференсу без додаткових залежностей PEFT.

Деталі моделі

  • Базова модель: facebook/nllb-200-distilled-600M
  • Метод донавчання: QLoRA (4-bit, nf4, bfloat16) + злиття ваг (Merge and Unload)
  • Токенізатор: Специфічні мовні токени src_lang="ukr_Cyrl", tgt_lang="ukr_Cyrl"
  • Навчальні дані: vlddshk/syrzyk-dataset (6,299 ретельно перевірених пар речень)

Як використовувати (Quickstart)

Для використання моделі рекомендується використовувати 8-бітну квантизацію (через бібліотеку bitsandbytes), що суттєво зменшує використання VRAM та прискорює генерацію тексту.

Встановлення залежностей

pip install torch transformers accelerate bitsandbytes

Код для інференсу

import torch
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer, BitsAndBytesConfig

model_name = "vlddshk/SyrzykAI"

# 1. Завантаження токенізатора з вказанням української мови
tokenizer = AutoTokenizer.from_pretrained(
    model_name,
    src_lang="ukr_Cyrl", 
    tgt_lang="ukr_Cyrl"
)

# 2. Налаштування 8-бітної квантизації для економії пам'яті
bnb_config = BitsAndBytesConfig(load_in_8bit=True)

# 3. Завантаження моделі
model = AutoModelForSeq2SeqLM.from_pretrained(
    model_name,
    quantization_config=bnb_config,
    device_map="auto"
)
model.eval()

# 4. Функція для перекладу
def translate_surzhyk(text: str) -> str:
    inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
    inputs = {k: v.to(model.device) for k, v in inputs.items()}
    
    with torch.no_grad():
        outputs = model.generate(
            **inputs,
            max_new_tokens=128,
            num_beams=4,
            early_stopping=True
        )
        
    return tokenizer.decode(outputs[0], skip_special_tokens=True)

# Тестування
surzhyk_text = "Пойшлі на кофе с утра, а то якось грусно."
print("Суржик:", surzhyk_text)
print("Літературна:", translate_surzhyk(surzhyk_text))
# Очікуваний результат: Пішли на каву зранку, а то якось сумно.

Оцінка та метрики (Evaluation)

Модель оцінюється за допомогою стандартних метрик перекладу та нормалізації тексту на тестовій вибірці (545 речень) датасету Syrzyk-Dataset:

  • chrF: Найкраще підходить для оцінки морфологічно багатих слов'янських мов, оскільки працює на рівні символьних n-грам (гарно ловить виправлені закінчення).
  • SacreBLEU: Стандартна метрика для машинного перекладу.
  • CER (Character Error Rate) та WER (Word Error Rate): Допомагають зрозуміти ступінь необхідних змін у порівнянні з ідеальною літературною формою.

(Конкретні цифри бенчмарків оновлюються після кожного значного релізу моделі).

⚠️ Обмеження моделі (Limitations & Biases)

  • Специфічний домен: Модель призначена виключно для виправлення суржику та русизмів. Її не слід використовувати як класичний перекладач з російської на українську.
  • Регіональні особливості: Суржик варіюється від регіону до регіону. Модель може не розпізнати специфічні локальні діалектизми (закарпатський, галицький тощо), які не належать до типової російсько-української інтерференції.
  • Надмірна корекція: Іноді модель може виправляти слова, які є рідковживаними, але все ж нормативними українськими, замінюючи їх на більш поширені синоніми.
  • Довгі тексти: Модель оптимізована на рівні речень (max_length=128). Для великих абзаців рекомендується розбивати текст на окремі речення перед генерацією.

Автори та Citation

Проект розроблено в рамках ініціативи SyrzykAI. Репозиторій датасету: vlddshk/syrzyk-dataset.

Якщо ви використовуєте цю модель, будь ласка, посилайтеся на:

@misc{vlddshk_syrzykai_2026,
  title={SyrzykAI: Text Normalization Model for Surzhyk-to-Ukrainian Translation},
  author={vlddshk},
  year={2026},
  publisher={Hugging Face},
  howpublished={\url{https://huggingface.co/vlddshk/SyrzykAI}},
  license={cc-by-nc-4.0}
}
Downloads last month
102
Safetensors
Model size
1B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Space using vlddshk/SyrzykAI 1