# faster-whisper: локальная транскрибация на CPU и GPU

Источник: https://modelium.tech/zhurnal/faster-whisper/

faster-whisper — реализация распознавания Whisper на CTranslate2: на CPU можно начать с многоязычной модели small и вычисления int8, а для CUDA проверить совместимость библиотек и выбрать float16. Сначала получите транскрипт разрешённой тестовой записи, затем сравните слова и таймкоды с вручную выверенным эталоном. Заявленная разработчиком скорость не гарантируется на вашем устройстве.

**Данные проверены 30 сентября 2026 года:** код SYSTRAN закреплён на `2ce7f9d7`, карточка модели small — на `536b0662`. Это документированный способ, а не собственный запуск Modelium. [s1](#src-s1) [s2](#src-s2) [s6](#src-s6)

## Когда выбирать faster-whisper, а когда другой стек?

faster-whisper — **Python-библиотека**, которая выполняет Whisper inference через CTranslate2. Она подходит, когда нужен управляемый локальный пайплайн транскрибации файла, CPU или NVIDIA CUDA и доступ к сегментам/таймкодам из Python. Это не отдельная новая модель распознавания: качество зависит от выбранного checkpoint и настроек, а не только от названия библиотеки. [s1](#src-s1) [s4](#src-s4)

Если задача — просто понять, какой размер и язык весов нужен, сначала откройте [страницу моделей Whisper](/zhurnal/whisper-modeli/). Для разметки собеседников одной транскрибации недостаточно: отдельный путь — [локальная диаризация](/zhurnal/diarizaciya-zapisi-vstrechi/). [s1](#src-s1)

## Что подготовить для первого запуска на CPU?

По закреплённой документации нужен Python 3.9+ и установка пакета через `pip install faster-whisper`; звук декодируется PyAV, поэтому для этого пути системный FFmpeg отдельно не требуется. Создайте отдельное Python-окружение и подготовьте файл `audio.mp3`, использование которого разрешено. Сам пакет и веса не были установлены на машине Modelium в рамках этой статьи. [s1](#src-s1)

Для воспроизводимого пилота закрепите версию самого пакета и checkpoint; в исходном коммите указана версия `1.2.1`, а реестр имён направляет `small` на `Systran/faster-whisper-small`. Закреплённая карточка этого многоязычного checkpoint содержит `ru` и метку `mit`; это **конкретный конвертированный артефакт**, а не обещание таких же условий для каждого Whisper-файла. Не загружайте вместо него вес с похожим названием без проверки происхождения и лицензии. [s2](#src-s2) [s3](#src-s3) [s6](#src-s6)

Начальный выбор для CPU — `device="cpu", compute_type="int8"`. CTranslate2 документирует типы вычисления и возможность преобразования хранения весов при загрузке; фактическая поддержка зависит от устройства, а скорость и расход RAM измеряются на собственном файле. Ни размер `model.bin`, ни число параметров не равны минимальной памяти. [s1](#src-s1) [s7](#src-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](#src-s1) [s3](#src-s3) [s4](#src-s4) [s6](#src-s6)

## Как перейти на NVIDIA GPU без ложных требований к памяти?

В указанном README путь CUDA использует `device="cuda"` с `compute_type="float16"` либо `int8_float16`. Разработчики указывают cuBLAS для CUDA 12 и cuDNN 9 для CUDA 12; совместимость конкретной системы и версии CTranslate2 нужно подтвердить до работы с реальными данными. При отсутствии подходящих библиотек вернитесь к проверенному CPU-пути и устраните проблему окружения отдельно. [s1](#src-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](#src-s1)

## Как понять, что транскрипт получен правильно?

Сначала убедитесь, что файл читается, результат не пустой, а вывод остаётся на русском (`language="ru"`, `task="transcribe"`). Затем вручную разметьте небольшой разрешённый фрагмент и сравните имена, числа, пропуски, и начало/конец сегментов с исходным аудио. Непустой ответ сам по себе не доказывает точность: решение о качестве требует эталона на ваших условиях. Путь такой проверки описан в [задаче локального распознавания речи](/zhurnal/raspoznavanie-rechi-lokalno/). [s4](#src-s4)

У обычного `WhisperModel.transcribe` параметр `vad_filter` по умолчанию выключен, а у batched-пути включён: результаты нельзя сравнивать, не зафиксировав этот параметр и размер батча. Если исчезают короткие фразы или границы сегментов не совпадают, перепроверьте звук и параметры фильтрации по [отдельному гайду VAD](/zhurnal/faster-whisper-vad/). [s1](#src-s1) [s4](#src-s4)

## Какие ограничения учитывать при внедрении?

Исходный код faster-whisper распространяется с текстом MIT; закреплённая карточка конвертированной small-модели имеет метку MIT. Это **разные артефакты**: при использовании другого checkpoint, дополнительных зависимостей и чужих аудиозаписей проверяйте их условия и права отдельно, не делая юридический вывод по одной метке. [s5](#src-s5) [s6](#src-s6)

При смене точности, VAD, размера батча, версии пакета или веса повторите проверку на том же аудио и сохраните настройки. Общее утверждение «до четырёх раз быстрее» в README — заявление авторов для их условий, не гарантия качества или производительности на русском аудио и вашем железе. Если требуется **один следующий шаг**, получите транскрипт тестовой записи и сверяйте его с эталоном, а не подбирайте производительность на глаз. [s1](#src-s1) [s4](#src-s4)

## Источники

1. [SYSTRAN faster-whisper — README, закреплённый коммит](https://github.com/SYSTRAN/faster-whisper/blob/2ce7f9d7a9fbe315a5804a33bf7224d42e101174/README.md) — получено 2026-09-30
2. [SYSTRAN faster-whisper — version.py и setup.py](https://github.com/SYSTRAN/faster-whisper/blob/2ce7f9d7a9fbe315a5804a33bf7224d42e101174/faster_whisper/version.py) — получено 2026-09-30
3. [SYSTRAN faster-whisper — реестр моделей и ревизии Hub](https://github.com/SYSTRAN/faster-whisper/blob/2ce7f9d7a9fbe315a5804a33bf7224d42e101174/faster_whisper/utils.py) — получено 2026-09-30
4. [SYSTRAN faster-whisper — transcribe.py и параметры VAD](https://github.com/SYSTRAN/faster-whisper/blob/2ce7f9d7a9fbe315a5804a33bf7224d42e101174/faster_whisper/transcribe.py) — получено 2026-09-30
5. [SYSTRAN faster-whisper — текст лицензии](https://github.com/SYSTRAN/faster-whisper/blob/2ce7f9d7a9fbe315a5804a33bf7224d42e101174/LICENSE) — получено 2026-09-30
6. [Systran faster-whisper-small — карточка закреплённой ревизии](https://huggingface.co/Systran/faster-whisper-small/blob/536b0662742c02347bc0e980a01041f333bce120/README.md) — получено 2026-09-30
7. [CTranslate2 — quantization, документация разработчика](https://opennmt.net/CTranslate2/quantization.html) — получено 2026-09-30
