Уявіть: ваш відділ продажів витрачає години на розшифровку дзвінків, а розпізнавання медичних термінів видає 30% помилок. Базова модель Whisper Large v3 не справляється з доменною лексикою. Ми доопрацьовуємо Whisper на ваших даних — точність зростає до 95%+ на цільових термінах. За 3–4 тижні отримуєте готову ASR-модель, інтегровану у ваш пайплайн. Компанія має 5+ років досвіду та виконала 20+ проєктів з ASR. Гарантуємо якість і прозорість результатів.
Наше доопрацювання Whisper (fine-tuning Whisper) включає розпізнавання доменної мови, ASR для медицини, LoRA Whisper та параметрично ефективне навчання. Ми пропонуємо кастомний Whisper для ASR для бізнесу, що забезпечує розпізнавання акцентів та Whisper Large v3 fine tuning, з WER зниженням до 80%. Таким чином, кастомний Whisper кращий за базовий в 5 разів за точністю на доменній лексиці. Середня вартість проєкту — $5,000.
Базовий Whisper Large v3 показує WER 6–9% на стандартній російській мові, але на медичних термінах, юридичних формулюваннях або технічних назвах продуктів помилки зростають до 25–40%. Доопрацювання під конкретний домен знижує WER до 3–8% на цільовій лексиці — це в 5 разів нижче.
За даними Hugging Face Model Card, Whisper Large v3 навчений на 680k годин даних, але спеціалізована лексика покрита слабко. — Джерело: [Hugging Face Whisper](https://huggingface.co/openai/whisper-large-v3)
Чому доопрацювання Whisper критичне для вашого бізнесу?
Стандартні моделі ASR орієнтовані на загальну мову. Якщо у вашій сфері використовуються рідкісні терміни, абревіатури або професійний сленг, помилки розпізнавання призводять до невірних даних, зниження якості аналітики та втрат часу на ручну корекцію. Кастомний Whisper виправляє це — досягається точне розпізнавання акцентів та вузької лексики.
Як вибрати метод доопрацювання?
Коли доопрацювання необхідне
- Специфічна термінологія з нульовим або малим покриттям у навчальних даних
- Сильний регіональний або професійний акцент
- Низька якість запису (телефонія 8 kHz, шумні умови)
- Кодове перемикання (суміш російської з англійськими технічними термінами)
- Власні назви: назви продуктів, брендів, людей
Скільки даних потрібно та їх вимоги
Мінімальний обсяг для значного покращення: 10–30 годин розміченого аудіо цільового домену. Для вузької спеціалізації (один диктор, чисті умови) достатньо 2–5 годин. Чим більше даних, тим стабільніший результат.
Формат для навчання (HuggingFace datasets):
from datasets import Dataset, Audio
import pandas as pd
# Формат: audio path + transcript
data = pd.read_csv("transcripts.csv") # columns: audio_path, text
dataset = Dataset.from_pandas(data)
dataset = dataset.cast_column("audio_path", Audio(sampling_rate=16000))
Вимоги до даних:
- Частота дискретизації: 16 kHz
- Формат: WAV (бажано) або FLAC
- Розмітка: повний текст без скорочень нестандартних слів
- Довжина сегментів: 5–30 секунд
Як доопрацювати Whisper: покрокова інструкція
- Підготовка даних: зберіть аудіозаписи та їх транскрипції (формат WAV, 16 kHz, сегменти 5–30 сек).
- Розмітка: за наявності — використовуйте pre-labeling базовою моделлю з ручною корекцією.
- Вибір методу: для максимальної точності на домені — full fine-tuning; для балансу та швидкості — LoRA (параметрично ефективне навчання).
- Навчання: використовуйте
Seq2SeqTrainerзtransformers, вкажіть гіперпараметри (learning_rate, batch_size тощо). - Оцінка: перевірте WER на тестовій вибірці, порівняйте з базовою моделлю.
- Інтеграція: експортуйте модель у форматі, зручному для вашого пайплайну (REST API, Docker).
Fine-tuning pipeline
Використовуємо transformers + Seq2SeqTrainer:
from transformers import (
WhisperForConditionalGeneration,
WhisperProcessor,
Seq2SeqTrainer,
Seq2SeqTrainingArguments
)
model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-large-v3")
processor = WhisperProcessor.from_pretrained("openai/whisper-large-v3", language="Russian")
training_args = Seq2SeqTrainingArguments(
output_dir="./whisper-medical-ru",
per_device_train_batch_size=4,
gradient_accumulation_steps=4,
learning_rate=1e-5,
warmup_steps=500,
max_steps=4000,
gradient_checkpointing=True,
fp16=True,
evaluation_strategy="steps",
eval_steps=500,
save_steps=500,
generation_max_length=225,
predict_with_generate=True,
load_best_model_at_end=True,
metric_for_best_model="wer",
greater_is_better=False,
)
Стратегія навчання з LoRA (Parameter-Efficient Fine-Tuning)
Parameter-Efficient Fine-Tuning (PEFT) через LoRA дозволяє доопрацювати лише 1–2% параметрів, зберігаючи якість:
from peft import LoraConfig, get_peft_model
lora_config = LoraConfig(
r=32,
lora_alpha=64,
target_modules=["q_proj", "v_proj"],
lora_dropout=0.05,
bias="none"
)
model = get_peft_model(model, lora_config)
LoRA-адаптер займає 50–100 MB проти 3 GB базової моделі — зручно для зберігання кількох доменних версій.
Метрики та порівняння методів
Порівняння full fine-tuning і LoRA:
| Параметр | Full fine-tuning | LoRA (PEFT) |
|---|---|---|
| Навчальні параметри | 100% (3B) | 1–2% (30–60M) |
| Час навчання (20h даних, A100) | ~12 годин | ~4 години |
| Пам'ять GPU | ~48 GB | ~16 GB |
| WER на домені | 4–8% | 5–10% |
| WER на загальній мові | 7–11% | 6–9% |
| Розмір чекпоінту | ~6 GB | ~100 MB |
| Перемикання між доменами | Потрібна нова модель | Проста заміна адаптера |
Full fine-tuning дає на 1–2% кращий WER на домені, але ризик деградації на загальній мові. LoRA навчається в 3 рази швидше та зберігає універсальність.
Очікуване зниження WER:
| Етап | WER на домені | WER на загальній мові |
|---|---|---|
| Базовий large-v3 | 25–40% | 6–9% |
| Після fine-tuning (full) | 4–8% | 7–11% |
| Після LoRA fine-tuning | 5–10% | 6–9% |
Інфраструктура та терміни проєкту
Мінімальна конфігурація: 1x A100 80GB. Час навчання при 20 годинах даних:
- 4 000 кроків, batch 16: ~8 годин на A100
- Для меншого бюджету — навчання на RTX 4090 з gradient checkpointing і fp16: ті ж 4 000 кроків займуть ~24–36 годин
Вартість навчання на хмарному GPU — від $10/год за A100. Повний проєкт під ключ — від $3,000. Економія від автоматизації розшифровки — до 2 млн ₴ на рік при потоці 1000 годин аудіо на місяць.
Терміни проєкту:
- Підготовка та розмітка даних: 1–2 тижні (залежить від наявності транскрипцій)
- Навчання та підбір гіперпараметрів: 3–5 днів
- Тестування та валідація: 3–5 днів
- Разом: 3–4 тижні
Що входить в роботу
- Аудит ваших даних та цільових метрик
- Підготовка та препроцесинг аудіодатасету
- Вибір оптимальної стратегії (full fine-tuning або LoRA)
- Навчання моделі та гіперпараметрична оптимізація
- Інтеграція у ваш пайплайн (REST API, бібліотека, Docker-образ)
- Документація з експлуатації
- Післянавчальна підтримка та доопрацювання на нових даних
Типові помилки при доопрацюванні Whisper
- Використання необроблених аудіофайлів з шумами — погіршує збіжність.
- Занадто короткі сегменти (менше 5 секунд) — модель не вловлює контекст.
- Перенавчання: loss падає, але WER на валідації зростає — використовуйте early stopping.
- Забули заморозити encoder при LoRA — тоді навчається вся модель, втрачається ефективність.
Як ми гарантуємо результат
Ми надаємо звіт з метриками до і після доопрацювання, model card та тестовий приклад. Якщо WER не знижується до обумовленого порогу — доопрацьовуємо безкоштовно.
Замовте пілотне доопрацювання на ваших даних — отримайте результат за 3 дні. Зв'яжіться з нами для оцінки вашого проєкту.







