Дообучение Whisper под доменную лексику заказчика

Представьте: ваш отдел продаж тратит часы на расшифровку звонков, а распознавание медицинских терминов выдаёт 30% ошибок. Базовая модель [Whisper](https://huggingface.co/openai/whisper-large-v3) Large v3 не справляется с доменной лексикой. Мы дообучаем Whisper на ваших данных — точность вырастает до

Направления AI-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1460
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1314
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1012
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1275
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    727
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1018

Представьте: ваш отдел продаж тратит часы на расшифровку звонков, а распознавание медицинских терминов выдаёт 30% ошибок. Базовая модель Whisper Large v3 не справляется с доменной лексикой. Мы дообучаем Whisper на ваших данных — точность вырастает до 95%+ на целевых терминах. За 3–4 недели получаете готовую ASR-модель, интегрированную в ваш пайплайн. Наш опыт — 20+ проектов по ASR, 5+ лет в NLP. Гарантируем качество и прозрачность результатов.

Базовый Whisper Large v3 показывает WER 6–9% на стандартной русской речи, но на медицинских терминах, юридических формулировках или технических названиях продуктов ошибки вырастают до 25–40%. Дообучение под конкретный домен снижает WER до 3–8% на целевой лексике.

По данным Hugging Face Model Card, Whisper Large v3 обучен на 680k часов данных, но специализированная лексика покрыта слабо. — Источник: Hugging Face Whisper

Почему дообучение Whisper критично для вашего бизнеса?

Стандартные модели ASR ориентированы на общую речь. Если в вашей сфере используются редкие термины, аббревиатуры или профессиональный сленг, ошибки распознавания приводят к неверным данным, снижению качества аналитики и потерям времени на ручную коррекцию. Дообучение решает эти проблемы.

Когда дообучение необходимо

  • Специфическая терминология с нулевым или малым покрытием в обучающих данных
  • Сильный региональный или профессиональный акцент
  • Низкое качество записи (телефония 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 секунд

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, ) 

Стратегия обучения

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
Переключение между доменами Требуется новая модель Простая замена адаптера

Метрики качества

Этап WER на домене WER на общей речи
Базовый large-v3 25–40% 6–9%
После fine-tuning (full) 4–8% 7–11%
После LoRA fine-tuning 5–10% 6–9%

Full fine-tuning даёт чуть лучший результат на домене, но риск деградации на общей речи. LoRA сохраняет баланс и в 10 раз быстрее обучается.

Инфраструктура для обучения

Минимальная конфигурация: 1x A100 80GB. Время обучения при 20 часах данных:

  • 4 000 шагов, batch 16: ~8 часов на A100
  • Для smaller бюджета — обучение на RTX 4090 с gradient checkpointing и fp16: те же 4 000 шагов займут ~24–36 часов

Стоимость обучения на облачном GPU рассчитывается индивидуально. Экономия от автоматизации расшифровки — до $18k–26k в год при потоке 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 дня. Свяжитесь с нами для оценки вашего проекта.