Мы часто сталкиваемся с ситуацией: клиенту нужно транскрибировать сотни часов аудио ежемесячно. Облачные 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 — хранение транскрипций и метаданных
Пошаговая инструкция настройки:
- Установите Docker и NVIDIA Container Toolkit.
- Соберите образ воркера с faster-whisper и зависимостями.
- Запустите Redis и PostgreSQL.
- Разверните FastAPI-приложение, реализующее REST-эндпоинты.
- Запустите Celery worker с привязкой к GPU через
--gpus all. - Настройте мониторинг через Prometheus и Grafana.
- Протестируйте на тестовых аудиофайлах, варьируя язык и длительность.
Процесс настройки воркера
Конфигурация 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, получите консультацию инженера — мы подготовим предложение и оценим проект в течение дня.







