Розгортання OpenAI Whisper на виділеному сервері (Self-Hosted)

Ми часто стикаємося з ситуацією: клієнту потрібно транскрибувати сотні годин аудіо щомісяця. Хмарні API або дорогі, або небезпечні — дані йдуть на сторону, а вартість зростає лінійно. Self-hosted Whisper дає повний контроль над даними, передбачувану вартість при великих обсягах та можливість тонкого

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

Часті запитання

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

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

Ми часто стикаємося з ситуацією: клієнту потрібно транскрибувати сотні годин аудіо щомісяця. Хмарні API або дорогі, або небезпечні — дані йдуть на сторону, а вартість зростає лінійно. Self-hosted Whisper дає повний контроль над даними, передбачувану вартість при великих обсягах та можливість тонкого налаштування під конкретний акцент або домен. Наприклад, на одному з проєктів ми розгорнули Whisper large-v3 на двох A10G, обробляючи до 8 годин аудіо на годину з точністю, порівнянною з хмарним рішенням, але з економією більш ніж у 4 рази. При цьому ми використовували VAD-фільтр та word_timestamps для синхронізації субтитрів. Така конфігурація дозволяє обробляти до 2000 годин аудіо на місяць на одному GPU-сервері. Для оцінки вашого навантаження зв'яжіться з нашим інженером — ми підберемо оптимальну конфігурацію.

Які проблеми вирішуємо?

  • Низька точність на шумних аудіо: VAD-фільтр та налаштування beam_size покращують розпізнавання. Ми налаштовуємо параметри під ваш тип аудіо.
  • Висока затримка при потоковому записі: використовуємо чанкування та WebSocket.
  • Відсутність моніторингу: Prometheus + Grafana відстежують GPU utilization та глибину черги.

Як розгорнути Whisper на виділеному сервері?

Архітектура production-розгортання включає кілька ключових компонентів:

Audio Input → Nginx → FastAPI Workers → Whisper Workers (GPU) → PostgreSQL ↓ ↓ Redis Queue S3 Storage 

Основні компоненти:

  • FastAPI — REST API для прийому завдань
  • Celery — черга асинхронної обробки
  • Redis — брокер завдань та кеш
  • faster-whisper — inference engine (CTranslate2)
  • PostgreSQL — зберігання транскрипцій та метаданих

Покрокова інструкція налаштування:

  1. Встановіть Docker та NVIDIA Container Toolkit.
  2. Зберіть образ воркера з faster-whisper та залежностями.
  3. Запустіть Redis та PostgreSQL.
  4. Розгорніть FastAPI-застосунок, що реалізує REST-ендпоїнти.
  5. Запустіть Celery worker з прив'язкою до GPU через --gpus all.
  6. Налаштуйте моніторинг через Prometheus та Grafana.
  7. Протестуйте на тестових аудіофайлах, варіюючи мову та тривалість.

Процес налаштування воркера

Конфігурація Celery worker для faster-whisper з підтримкою retry та моніторингом:

from celery import Celery from faster_whisper import WhisperModel app = Celery('whisper_tasks', broker='redis://localhost:6379/0') model = WhisperModel("large-v3", device="cuda", compute_type="int8_float16") @app.task(bind=True, max_retries=3) def transcribe_audio(self, file_path: str, language: str = None): try: segments, info = model.transcribe( file_path, language=language, vad_filter=True, word_timestamps=True ) return { "language": info.language, "duration": info.duration, "segments": [ {"start": s.start, "end": s.end, "text": s.text} for s in segments ] } except Exception as exc: raise self.retry(exc=exc, countdown=60) 

Вимоги до заліза

Для запуску Whisper необхідна дискретна відеокарта NVIDIA з підтримкою CUDA. Рекомендовані конфігурації залежно від навантаження:

Навантаження GPU RAM Диск
до 10 годин/день RTX 3080 10GB 16 GB 100 GB SSD
до 100 годин/день RTX 4090 32 GB 500 GB SSD
більше 100 годин/день 2x A10G 64 GB 2 TB NVMe

Як вибрати правильну модель Whisper?

Вибір моделі впливає на точність та швидкість. У production найчастіше використовують large-v3, але для легких завдань підійде medium. Порівняння на основі даних faster-whisper:

Модель VRAM Швидкість (xRT) WER (англ.)
tiny ~1 GB ~32x ~7.7%
base ~1 GB ~16x ~5.2%
small ~2 GB ~6x ~4.0%
medium ~5 GB ~2x ~3.0%
large-v3 ~10 GB ~1x ~2.2%

*Швидкість відносно real-time (xRT: чим більше, тим швидше).

Моніторинг та надійність

  • Celery Flower для моніторингу черги завдань
  • Prometheus + Grafana для метрик GPU utilization та queue depth
  • Автоматичний перезапуск воркерів через systemd
  • Healthcheck endpoint з перевіркою доступності GPU
Приклад docker-compose.yml для розгортання
version: '3.8' services: redis: image: redis:7 db: image: postgres:15 api: build: ./api depends_on: [redis, db] worker: build: ./worker deploy: resources: reservations: devices: - capabilities: [gpu] 

Економічні переваги self-hosted Whisper

При транскрибації від 3000 хвилин на місяць власний сервер окупається швидше. Хмарні тарифи лінійні, тоді як self-hosted на A10G при завантаженні 50% дає економію в 3-6 разів. Крім того, ви отримуєте повний контроль над обробкою даних і можете кастомізувати модель під свою предметну область. Зниження витрат на транскрибацію безпосередньо покращує ROI. Замовте консультацію — ми розрахуємо економію для вашого обсягу.

Що входить у роботу

  • Аудит аудіо-навантаження та підбір конфігурації GPU.
  • Розгортання FastAPI + Celery + Redis + PostgreSQL.
  • Налаштування faster-whisper з VAD-фільтром та word_timestamps.
  • Інтеграція з S3-сумісним сховищем.
  • Моніторинг через Prometheus + Grafana.
  • Документація API та інструкція з експлуатації.
  • Навчання команди роботі з системою.

Терміни та вартість

  • Базове розгортання: 2–3 дні.
  • З чергою завдань та API: 5–7 днів.
  • Повна production-система з моніторингом: до 2 тижнів.
  • Вартість розраховується індивідуально під ваше навантаження та вимоги.

Наш досвід у розгортанні Whisper — понад 30 проєктів. Гарантуємо стабільну роботу та своєчасну підтримку. Якщо вас цікавить впровадження self-hosted Whisper, отримайте консультацію інженера — ми підготуємо пропозицію та оцінимо проєкт протягом дня.