MAATRIX / Блог / Как поднять Whisper для распознавания речи на сервере

Как поднять Whisper для распознавания речи на сервере

Как поднять Whisper для распознавания речи на сервере

MAATRIX

Расшифровка аудио и видео, субтитры, голосовой ввод, транскрипция интервью и звонков — всё это закрывает одна открытая модель. Whisper для распознавания речи на сервере даёт приватную и бесплатную альтернативу облачным сервисам: ваши записи не уходят на сторону, а платить за минуты не нужно. Разберём по шагам установку, выбор модели под задачу, честные требования к GPU и CPU и то, как обращаться к распознаванию из приложений.

Обсудить статью, задать вопрос или начать новую тему

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

Перейти в сообщество →

Что такое Whisper и что он умеет

Whisper — открытая модель распознавания речи от OpenAI, обученная на огромном объёме аудио и понимающая множество языков, включая русский. Она переводит речь в текст, расставляет тайм-коды для субтитров, умеет определять язык и даже переводить речь на английский. Качество на чистой записи близко к человеческому, а на шумном аудио заметно лучше старых движков.

Ценность локального Whisper — в приватности и экономии. Облачные сервисы транскрипции берут плату за минуты и получают доступ к вашим записям, что неприемлемо для конфиденциальных интервью, звонков и внутренних совещаний. Свой сервер обрабатывает аудио у вас, ничего не отправляя наружу, и позволяет расшифровывать сколько угодно без счёта за минуты.

Применений масса: субтитры к видео, расшифровка подкастов и интервью, голосовые заметки в текст, транскрипция звонков поддержки, ввод голосом для приложений. Whisper — это фундамент, поверх которого строят и простую расшифровку файлов, и сложные пайплайны вроде голосовых ассистентов.

Требования: GPU или хватит CPU

Приятная особенность Whisper — он работает и на GPU, и на CPU, и выбор зависит от объёмов. На видеокарте распознавание идёт в разы быстрее реального времени: час аудио расшифровывается за минуты. На процессоре тоже работает, просто медленнее, и для небольших моделей это вполне терпимо.

Ключевой выбор — размер модели, он определяет и качество, и требования. Модели идут от tiny и base (быстрые, скромные по качеству) через small и medium к large-v3 (лучшее качество, но тяжелее). Ориентиры по видеопамяти: small требует около 2–3 ГБ VRAM, medium — 5–6 ГБ, large-v3 — порядка 10 ГБ. На CPU модели tiny, base и small работают комфортно при 8–16 ГБ обычной оперативной памяти.

Практичное правило: для единичных файлов и невысоких требований к качеству хватает CPU-сервера с моделью small — это дёшево и приватно. Для потоковой обработки, больших объёмов и максимального качества с large-v3 нужен GPU-сервер. У MAATRIX доступны оба варианта с оплатой из России картой, СБП или криптой: обычный VPS под небольшие задачи и GPU-сервер под серьёзную нагрузку.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать GPU-сервер

Установка faster-whisper

Оригинальный Whisper работает, но для сервера лучше взять faster-whisper — оптимизированную реализацию, которая быстрее и экономнее по памяти при том же качестве. Подготовьте окружение Python и установите пакет:

apt update && apt install -y python3-venv python3-pip ffmpeg
python3 -m venv venv && source venv/bin/activate
pip install faster-whisper

Пакет ffmpeg обязателен — он отвечает за чтение аудио и видео разных форматов и их подготовку. faster-whisper при первом запуске сам скачает выбранную модель и закэширует её. Если на сервере есть видеокарта NVIDIA с драйвером и CUDA, библиотека задействует её автоматически, иначе спокойно посчитает на процессоре.

Проверить наличие GPU можно командой nvidia-smi — она покажет карту и объём VRAM. На этом всё готово к первой расшифровке: модель установлена, кодеки на месте, окружение изолировано в отдельной песочнице и не мешает системе.

Первая расшифровка

Распознавание запускается коротким скриптом. Вы указываете размер модели, устройство (GPU или CPU) и файл, а на выходе получаете текст с тайм-кодами:

from faster_whisper import WhisperModel
model = WhisperModel("small", device="cuda")
segments, info = model.transcribe("audio.mp3", language="ru")
for s in segments:
    print(s.start, s.end, s.text)

Модель вернёт сегменты речи с началом и концом каждого фрагмента — это удобно и для чтения, и для генерации субтитров в форматах SRT или VTT. Параметр языка можно не задавать, тогда Whisper определит его сам, но явное указание русского ускоряет работу и повышает точность на русскоязычных записях.

Поэкспериментируйте с размерами модели на своём аудио: часто small или medium дают отличный результат при разумной скорости, а large-v3 стоит брать, когда важна максимальная точность на сложных записях с шумом, акцентами или специфической лексикой. Для длинных файлов на CPU запускайте обработку в фоне, а не ждите в интерактиве.

Доступ по API

Чтобы распознавание было доступно приложениям, оберните его в простой HTTP-сервис. На сервере поднимается лёгкий веб-эндпоинт, который принимает аудиофайл, прогоняет его через модель и возвращает текст. Так к транскрипции обращаются и ваш сайт, и мобильное приложение, и другие сервисы инфраструктуры.

Модель разумно загрузить в память один раз при старте сервиса, а не на каждый запрос — загрузка занимает время, и держать модель наготове гораздо эффективнее. Тогда обработка файла сводится к самому распознаванию. Для потоковой нагрузки на GPU это даёт высокую пропускную способность: карта расшифровывает часы аудио за минуты, обслуживая множество запросов.

Закройте API авторизацией и фаерволом, чтобы чужие не расходовали ваши ресурсы и не заливали произвольные файлы. Если сервис доступен из интернета, поставьте перед ним обратный прокси с HTTPS и токеном доступа. Ограничьте максимальный размер загружаемого файла, чтобы защититься от перегрузки. Эти простые меры превращают Whisper в надёжный приватный сервис распознавания для всей вашей инфраструктуры.

Оптимизация и применения

Для ускорения и экономии памяти faster-whisper поддерживает квантование — режим вычислений int8 заметно снижает потребление памяти с минимальной потерей качества, что особенно полезно на CPU и скромных картах. Экспериментируйте с типом вычислений под своё железо, находя баланс скорости и точности.

Поверх базовой транскрипции строят полезные сценарии. Субтитры к видео генерируются напрямую из сегментов с тайм-кодами. Расшифровку звонков и совещаний можно передать языковой модели для автоматического резюме — связка Whisper и локальной LLM даёт приватный конвейер «речь в текст и краткое содержание». Голосовой ввод в приложение реализуется тем же эндпоинтом, принимающим короткие записи.

По мере роста объёмов вы легко масштабируете решение: перейти с CPU на GPU-сервер ради скорости у MAATRIX можно из панели с привычной оплатой из России, без смены площадки. Так распознавание речи растёт вместе с вашими задачами, оставаясь приватным и не привязанным к оплате за минуты чужого сервиса.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать GPU-сервер

Обсудить статью, задать вопрос или начать новую тему

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

Перейти в сообщество →

Частые вопросы

Нужен ли GPU для Whisper?

Не обязательно. Модели tiny, base и small комфортно работают на CPU при 8–16 ГБ RAM. GPU нужен для больших объёмов, потоковой обработки и максимального качества с моделью large-v3.

Какую модель выбрать?

Для единичных файлов и экономии — small на CPU. Для баланса качества и скорости — medium. Для максимальной точности на сложных записях — large-v3, но ей нужно около 10 ГБ VRAM.

Whisper понимает русский?

Да, модель обучена на множестве языков, включая русский, и хорошо распознаёт русскую речь. Явное указание языка ускоряет работу и повышает точность на русскоязычных записях.

Как оплатить сервер из России?

У MAATRIX доступна оплата картой российского банка, по СБП, криптовалютой и токеном MAAT, зарубежная карта не требуется.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.