Донавчання моделей машинного перекладу для галузевих завдань: MarianMT, NLLB, SeamlessM4T
Юридичний відділ компанії, що локалізує контракти на 10+ мов, витрачав 40 годин на тиждень на постредагування машинного перекладу. Generic-моделі плутали терміни в 15% випадків: "consideration" перетворювалося на "розгляд" замість "зустрічне задоволення". Ми донавчили MarianMT на корпусі з 50K паралельних речень — BLEU зріс з 28 до 46, час постредагування скоротився до 10 годин. Зниження витрат на постредагування на 30–50% та окупність інвестицій у fine-tuning менш ніж 3 місяці — типовий результат для наших проєктів. Нижче — як ми це робимо.
Чому донавчання моделі машинного перекладу критичне для бізнесу?
Generic-моделі дають BLEU 25–35 на технічних текстах. Після кастомного fine-tuning на доменних корпусах ми підіймаємо BLEU до 40–50, а COMET — на 0.1–0.15. Це знижує обсяг постредагування на 30-50% та виключає грубі смислові помилки. Без кастомізації ви втрачаєте до 20% точності перекладу на складних доменах. Порівняння з відкритими системами: наша модель краща за базову в 2 рази за BLEU на спеціалізованих доменах.
Порівняння базових архітектур
| Модель | Мови | Розмір | Ресурси для fine-tuning | Коли використовувати |
|---|---|---|---|---|
| MarianMT (Helsinki-NLP) | 1000+ пар | 150–300М параметрів | 1 GPU, 10–50K речень | Швидке донавчання під одну пару мов |
| NLLB-200 (Meta) | 200 мов | 1.3B–3.3B параметрів | 4–8 GPU, 100K+ речень | Мультимовні сценарії, рідкісні мови |
| SeamlessM4T (Meta) | 100 мов (текст+мова) | 2.3B параметрів | 8+ GPU, 200K+ речень | Інтеграція STT та перекладу в одному пайплайні |
Вибір архітектури залежить від цільових мов, бюджету на обчислення та бажаної якості. MarianMT у 3 рази швидший у навчанні, ніж NLLB, при порівнянній якості на однопарних завданнях.
Як ми будуємо pipeline для fine-tuning?
Наш процес включає п'ять етапів: аналітика даних, підготовка корпусу, навчання, оцінка, деплой. Розглянемо кожен на прикладі MarianMT для юридичного домену.
Підготовка даних
Паралельні корпуси — ключовий фактор успіху. Ми використовуємо:
- OPUS — безкоштовний ресурс із 500+ мовними парами (для загального домену)
- EMEA (медицина) та JRC-Acquis (юриспруденція) — спеціалізовані корпуси ЄС
- Власні дані клієнта: перекладені контракти, патентна документація, протоколи випробувань
Мінімальний обсяг: 10K паралельних речень для MarianMT, 100K+ для NLLB. Дані проходять дедуплікацію, фільтрацію шуму (довжини, ratio) та токенізацію через SentencePiece.
Навчання та оптимізація
from transformers import MarianMTModel, MarianTokenizer, Seq2SeqTrainingArguments, Seq2SeqTrainer import sacrebleu model_name = "Helsinki-NLP/opus-mt-ru-en" tokenizer = MarianTokenizer.from_pretrained(model_name) model = MarianMTModel.from_pretrained(model_name) def preprocess(examples): inputs = tokenizer(examples["ru"], max_length=512, truncation=True, padding=True) targets = tokenizer(text_target=examples["en"], max_length=512, truncation=True, padding=True) inputs["labels"] = targets["input_ids"] return inputs training_args = Seq2SeqTrainingArguments( output_dir="./marian_legal", predict_with_generate=True, per_device_train_batch_size=8, num_train_epochs=5, learning_rate=5e-5, fp16=True, generation_max_length=512, ) Ми підбираємо learning rate (1e-5 – 5e-5) та кількість епох, використовуємо early stopping по loss на валідації. Для великих моделей застосовуємо LoRA та 4-bit quantization, щоб вкластися в доступну GPU-пам'ять.
Оцінка та розгортання
# BLEU bleu = sacrebleu.corpus_bleu(hypotheses, [references]) print(f"BLEU: {bleu.score:.2f}") # COMET (краще корелює з людськими оцінками) from comet import download_model, load_from_checkpoint model_path = download_model("Unbabel/wmt22-comet-da") comet_model = load_from_checkpoint(model_path) scores = comet_model.predict(data, batch_size=8, gpus=1) Типовий приріст від fine-tuning на доменних даних: +3–8 BLEU, +0.05–0.1 COMET score. Для порівняння: різниця між системами-учасниками WMT — 1–3 BLEU. Модель готова до деплою через Triton Inference Server або ONNX Runtime з підтримкою batching.
Типові помилки при донавчанні та як їх уникнути
- Перенавчання на маленькому корпусі: використовуємо dropout 0.1, early stopping, data augmentation (back-translation).
- Зміщення домену: додаємо 10–20% універсальних даних (наприклад, OPUS).
- Втрата якості на загальному домені: мультитаскінг — навчаємо одночасно на домені та загальному корпусі.
- Галюцинації: включаємо forced decoding з обмеженням довжини, застосовуємо beam search з length penalty.
Які метрики гарантують якість перекладу?
Ми використовуємо дві метрики: BLEU (точність n-грам) та COMET (оцінка на основі нейромережі). Типовий приріст на доменних даних — +3–8 BLEU та +0.05–0.1 COMET. Цього достатньо для підвищення якості до рівня комерційних систем. Зниження витрат на постредагування на 30–50% — прямий фінансовий ефект.
Що входить у роботу
- Підготовка та очищення паралельних корпусів (включаючи ETL-пайплайн)
- Вибір та конфігурація базової моделі (MarianMT/NLLB/SeamlessM4T)
- Навчання з підбором гіперпараметрів (LR, batch size, dropout, number of beams)
- Оцінка якості (BLEU, COMET, ручна валідація на 200–500 реченнях)
- Експорт моделі в ONNX/TorchScript з оптимізацією latency p99
- Документація: model card, звіт з метриками, інструкція з деплою
- Підтримка протягом 30 днів після здачі
Процес та терміни
| Етап | Що робимо | Терміни |
|---|---|---|
| Аналітика | Збір даних, визначення метрик, вибір архітектури | 2–5 днів |
| Підготовка даних | Очищення, токенізація, вирівнювання | 3–10 днів |
| Навчання | Експерименти з hyperparams, LoRA, quantization | 1–5 днів |
| Оцінка та ітерації | Тестування на hold-out, виправлення артефактів | 2–5 днів |
| Деплой | Docker, REST API, моніторинг | 1–2 дні |
Орієнтовні терміни: від 10 робочих днів для MarianMT до 30 днів для NLLB. Вартість розраховується індивідуально під ваш стек та обсяг даних.
Чому варто довіритися нам?
Понад 5 років займаємося NLP-проєктами в продакшені. Виконали 15+ кастомізацій машинного перекладу для юридичних, медичних та технічних доменів. Гарантуємо прозору звітність на кожному етапі: ви отримуєте model card, метрики та код. Зв'яжіться з нами — оцінимо ваш проєкт і підберемо оптимальну архітектуру. Замовте консультацію з fine-tuning вже сьогодні.







