faster-whisper: локальная транскрибация на CPU и GPU
На странице · 5 разделов
faster-whisper — реализация распознавания Whisper на CTranslate2: на CPU можно начать с многоязычной модели small и вычисления int8, а для CUDA проверить совместимость библиотек и выбрать float16. Сначала получите транскрипт разрешённой тестовой записи, затем сравните слова и таймкоды с вручную выверенным эталоном. Заявленная разработчиком скорость не гарантируется на вашем устройстве.
Данные проверены 30 сентября 2026 года: код SYSTRAN закреплён на
2ce7f9d7, карточка модели small — на536b0662. Это документированный способ, а не собственный запуск Modelium. s1 s2 s6
Когда выбирать faster-whisper, а когда другой стек?
faster-whisper — Python-библиотека, которая выполняет Whisper inference через CTranslate2. Она подходит, когда нужен управляемый локальный пайплайн транскрибации файла, CPU или NVIDIA CUDA и доступ к сегментам/таймкодам из Python. Это не отдельная новая модель распознавания: качество зависит от выбранного checkpoint и настроек, а не только от названия библиотеки. s1 s4
Если задача — просто понять, какой размер и язык весов нужен, сначала откройте страницу моделей Whisper. Для разметки собеседников одной транскрибации недостаточно: отдельный путь — локальная диаризация. s1
Что подготовить для первого запуска на CPU?
По закреплённой документации нужен Python 3.9+ и установка пакета через pip install faster-whisper; звук декодируется PyAV, поэтому для этого пути системный FFmpeg отдельно не требуется. Создайте отдельное Python-окружение и подготовьте файл audio.mp3, использование которого разрешено. Сам пакет и веса не были установлены на машине Modelium в рамках этой статьи. s1
Для воспроизводимого пилота закрепите версию самого пакета и checkpoint; в исходном коммите указана версия 1.2.1, а реестр имён направляет small на Systran/faster-whisper-small. Закреплённая карточка этого многоязычного checkpoint содержит ru и метку mit; это конкретный конвертированный артефакт, а не обещание таких же условий для каждого Whisper-файла. Не загружайте вместо него вес с похожим названием без проверки происхождения и лицензии. s2 s3 s6
Начальный выбор для CPU — device="cpu", compute_type="int8". CTranslate2 документирует типы вычисления и возможность преобразования хранения весов при загрузке; фактическая поддержка зависит от устройства, а скорость и расход RAM измеряются на собственном файле. Ни размер model.bin, ни число параметров не равны минимальной памяти. s1 s7
Команда для локального теста после установки, из каталога с разрешённым audio.mp3: python3 -c 'from faster_whisper import WhisperModel; m=WhisperModel("Systran/faster-whisper-small", revision="536b0662742c02347bc0e980a01041f333bce120", device="cpu", compute_type="int8"); segments, info=m.transcribe("audio.mp3", language="ru", task="transcribe", beam_size=5); print("".join(s.text for s in segments))'. Первое обращение к ID модели может скачать файлы с Hugging Face: не считайте команду офлайн-проверкой до предварительного кэширования. segments — генератор, поэтому чтение его в join действительно запускает обработку. Это пример, сверенный с API и карточкой, но не исполненный Modelium. s1 s3 s4 s6
Как перейти на NVIDIA GPU без ложных требований к памяти?
В указанном README путь CUDA использует device="cuda" с compute_type="float16" либо int8_float16. Разработчики указывают cuBLAS для CUDA 12 и cuDNN 9 для CUDA 12; совместимость конкретной системы и версии CTranslate2 нужно подтвердить до работы с реальными данными. При отсутствии подходящих библиотек вернитесь к проверенному CPU-пути и устраните проблему окружения отдельно. s1
В таблицах проекта приведены авторские времена и память для 13-минутной записи: GPU-сценарий large-v2 выполнен на RTX 3070 Ti 8 GB и CUDA 12.4; CPU-сценарий small — на i7-12700K с восемью потоками. Эти цифры нельзя превращать в минимальные требования к GPU/RAM, переносить на другой batch size или сравнивать с другой моделью как независимый бенчмарк. Разработчики сами требуют одинаковый beam size и число CPU-потоков при сравнении реализаций; Modelium измерений не проводил. s1
Как понять, что транскрипт получен правильно?
Сначала убедитесь, что файл читается, результат не пустой, а вывод остаётся на русском (language="ru", task="transcribe"). Затем вручную разметьте небольшой разрешённый фрагмент и сравните имена, числа, пропуски, и начало/конец сегментов с исходным аудио. Непустой ответ сам по себе не доказывает точность: решение о качестве требует эталона на ваших условиях. Путь такой проверки описан в задаче локального распознавания речи. s4
У обычного WhisperModel.transcribe параметр vad_filter по умолчанию выключен, а у batched-пути включён: результаты нельзя сравнивать, не зафиксировав этот параметр и размер батча. Если исчезают короткие фразы или границы сегментов не совпадают, перепроверьте звук и параметры фильтрации по отдельному гайду VAD. s1 s4
Какие ограничения учитывать при внедрении?
Исходный код faster-whisper распространяется с текстом MIT; закреплённая карточка конвертированной small-модели имеет метку MIT. Это разные артефакты: при использовании другого checkpoint, дополнительных зависимостей и чужих аудиозаписей проверяйте их условия и права отдельно, не делая юридический вывод по одной метке. s5 s6
При смене точности, VAD, размера батча, версии пакета или веса повторите проверку на том же аудио и сохраните настройки. Общее утверждение «до четырёх раз быстрее» в README — заявление авторов для их условий, не гарантия качества или производительности на русском аудио и вашем железе. Если требуется один следующий шаг, получите транскрипт тестовой записи и сверяйте его с эталоном, а не подбирайте производительность на глаз. s1 s4
Источники
- SYSTRAN faster-whisper — README, закреплённый коммит — revision 2ce7f9d7a9fbe315a5804a33bf7224d42e101174. Получено 30.09.2026.
- SYSTRAN faster-whisper — version.py и setup.py — revision 2ce7f9d7a9fbe315a5804a33bf7224d42e101174. Получено 30.09.2026.
- SYSTRAN faster-whisper — реестр моделей и ревизии Hub — revision 2ce7f9d7a9fbe315a5804a33bf7224d42e101174. Получено 30.09.2026.
- SYSTRAN faster-whisper — transcribe.py и параметры VAD — revision 2ce7f9d7a9fbe315a5804a33bf7224d42e101174. Получено 30.09.2026.
- SYSTRAN faster-whisper — текст лицензии — revision 2ce7f9d7a9fbe315a5804a33bf7224d42e101174. Получено 30.09.2026.
- Systran faster-whisper-small — карточка закреплённой ревизии — revision 536b0662742c02347bc0e980a01041f333bce120. Получено 30.09.2026.
- CTranslate2 — quantization, документация разработчика. Получено 30.09.2026.