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

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Дообчання Whisper під доменну лексику замовника
Складний
від 1 тижня до 3 місяців
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Донавчання Whisper під доменну лексику замовника Базовий Whisper Large v3 показує WER 6–9% на стандартній російській мові, але на медичних термінах, юридичних формулюваннях чи технічних назвах продуктів помилки зростають до 25–40%. Донавчання під конкретний домен знижує WER до 3-8% на цільовій лексиці. ### Коли донавчання необхідне - Специфічна термінологія з нульовим або малим покриттям у навчальних даних - Сильний регіональний або професійний акцент - Низька якість запису (телефонія 8 kHz, шумні умови) - Кодове перемикання (суміш російської з англійським технічними термінами) - Власна назва: Названа назва для значного вдосконалення: 10–30 годин розміченого аудіо цільового домену. Для вузької спеціалізації (один диктор, чисті умови) достатньо 2-5 годин.

Формат для навчання (HuggingFace datasets):```python 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`:python 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% параметрів, зберігаючи якість:python 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)

Мінімальна конфігурація: 1x A100 80 ГБ. Час навчання при 20 годинах даних: - 4 000 кроків, batch 16: ~8 годин на A100 - Вартість на AWS (p4d.24xlarge): ~$160 Для smaller бюджету - навчання на RTX 4090 з gradient checkpointing і fp16: ті ж 4-30. ### Терміни проекту - Підготовка та розмітка даних: 1-2 тижні (залежить від наявності транскрипцій) - Навчання та підбір гіперпараметрів: 3-5 днів - Тестування та валідація: 3-5 днів - Разом: 3-4 тижні