Как работает Whisper AI: полное руководство
Технический разбор open-source модели распознавания речи от OpenAI — от mel-спектрограмм до декодирования трансформером.
OpenWhispr
Инженерное дело
Оглавление
Whisper — это модель автоматического распознавания речи (ASR), разработанная OpenAI. Выпущенная в сентябре 2022 года, она представляет собой универсальную систему распознавания речи, обученную на 680 000 часах многоязычных аудиоданных, собранных из интернета. Whisper использует архитектуру Transformer с encoder-decoder: преобразует аудио в log-mel-спектрограммы, обрабатывает их нейросетевым encoder и авторегрессионно декодирует текстовые токены. Она поддерживает транскрипцию на 99 языках, перевод на английский, определение языка и предсказание таймстемпов — всё в рамках единой модели. В отличие от большинства коммерческих ASR-сервисов, веса Whisper полностью открыты под лицензией MIT, что породило активную экосистему портов, оптимизаций и приложений — включая whisper.cpp, C/C++-реализацию, которая делает Whisper практичным для распознавания речи в реальном времени прямо на устройстве.
Последнее обновление: 17 февраля 2026 г. Количественные утверждения в этой статье сверены как минимум с двумя первичными источниками.
Краткая проверка фактов (двойные источники)
- Релиз Whisper, масштаб обучения и лицензия: OpenAI выпустила Whisper в сентябре 2022 года; модель обучена на 680 000 часах и опубликована под лицензией MIT. статья arXiv · репозиторий OpenAI Whisper
- Охват задач и поддержка языков: Whisper поддерживает транскрипцию, перевод на английский, определение языка и токены таймстемпов для 99 языков. карточка модели Whisper · README Whisper
- Контекст английского бенчмарка: около 3% WER — это бенчмарк на LibriSpeech test-clean для оценки, ориентированной на английский, а не универсальная реальная частота ошибок. карточка модели large-v2 · детали бенчмарка
- Недавние обновления моделей: large-v3 сообщает о меньшем числе ошибок, чем large-v2, на многих языках, а turbo делает упор на более низкую задержку за счёт меньших вычислений decoder. карточка модели large-v3 · обсуждение релиза turbo
- Релевантность для OpenWhispr: OpenWhispr использует Whisper через whisper.cpp для локальной, offline-first диктовки на настольных платформах. whisper.cpp · OpenWhispr
Как Whisper обрабатывает аудио
Почему это важно для OpenWhispr:
Запускается локально через whisper.cpp — необработанный звук остается на устройстве.
Размер модели определяет соотношение скорости и точности.
Тот же конвейер обеспечивает диктовку через macOS, Windows и Linux.
Что такое Whisper?
Whisper была представлена в статье "Robust Speech Recognition via Large-Scale Weak Supervision", написанной Alec Radford, Jong Wook Kim, Tao Xu, Greg Brockman, Christine McLeavey и Ilya Sutskever в OpenAI. Код и веса модели были опубликованы на GitHub в сентябре 2022 года под лицензией MIT.
До Whisper передовые системы распознавания речи обычно обучались на курируемых датасетах с человеческой разметкой — часто ограниченных конкретными языками, акцентами или доменами. Whisper отошла от этого подхода: модель обучили на огромном разнообразном датасете из 680 000 часов аудио с транскриптами, собранными из интернета. Ключевая идея состояла в том, что такой "weakly supervised" подход — использование несовершенных машинно созданных или загруженных пользователями транскриптов вместо ручной разметки — может дать модель с впечатляющей устойчивостью к разным языкам, акцентам, фоновому шуму и технической лексике.
В результате получилась единая модель, способная выполнять несколько задач обработки речи: транскрипцию (речь в текст на том же языке), перевод (речь на любом языке в английский текст), определение языка и обнаружение речевой активности с таймстемпами. Эта multitask-возможность встроена в архитектуру модели через систему специальных токенов, указывающих, какую задачу нужно выполнить.
Open-source релиз Whisper был важным событием. Он демократизировал доступ к качественному ASR, позволив разработчикам, исследователям и компаниям использовать модель, конкурентоспособную с коммерческими API, — без поминутной оплаты, без отправки аудио в облако и без привязки к поставщику. Это ускорило развитие инструментов вроде whisper.cpp, Faster Whisper и десятков приложений поверх них — включая OpenWhispr.
Подробно об архитектуре
Whisper использует архитектуру Transformer типа encoder-decoder — тот же базовый дизайн, что лежит в основе оригинального Transformer (Vaswani et al., 2017) и многих систем машинного перевода. Encoder обрабатывает аудио, decoder генерирует текст. Вот как работает каждый этап.
Предобработка аудио
Перед любой обработкой нейросетью сырое аудио преобразуется в визуальное представление звука, называемое log-mel-спектрограммой. Процесс устроен так:
- Аудио ресемплируется до 16 000 Гц (16 кГц моно).
- Вычисляется Short-Time Fourier Transform (STFT) с окнами по 25 миллисекунд и шагом 10 миллисекунд (hop length).
- Частотный спектр проецируется на 80 mel-фильтробанков (128 для large-v3), которые приближают человеческое слуховое восприятие, располагая частотные полосы логарифмически.
- Применяется логарифмическое масштабирование, формируя итоговую log-mel-спектрограмму.
- Спектрограмма делится на 30-секундные фрагменты. Аудио короче 30 секунд дополняется нулями; более длинное аудио обрабатывается последовательными фрагментами.
Результат — 2D-представление формы (80, 3000): 80 mel-каналов на 3 000 временных шагов (30 секунд при шаге 10 мс). Это похоже на изображение, и encoder обрабатывает его примерно так же, как vision-модель обрабатывает пиксельные данные.
Encoder
Encoder преобразует mel-спектрограмму в последовательность обученных аудиопредставлений. Он состоит из:
- Двух 1D-свёрточных слоёв — первая свёртка имеет kernel size 3 и padding 1, после неё идёт активация GELU. Вторая свёртка имеет kernel size 3, stride 2 и padding 1, что уменьшает временную размерность вдвое. Так 3 000 временных шагов сжимаются до 1 500 позиций.
- Синусоидальных позиционных embeddings — в отличие от decoder, encoder использует фиксированные синусоидальные embeddings (не обучаемые), чтобы кодировать позицию каждого временного шага.
- Блоков Transformer — стек стандартных encoder-слоёв Transformer, каждый из которых содержит multi-head self-attention и feed-forward сеть с активацией GELU, соединённые residual connections и layer normalization.
На выходе получается последовательность из 1 500 контекстуализированных аудиовекторов признаков — по одному на каждые 20 миллисекунд входного аудио, — на которые decoder будет опираться при генерации текста.
Decoder
Decoder генерирует текстовые токены авторегрессионно — по одному токену за раз, с учётом закодированного аудио и всех ранее сгенерированных токенов. Он состоит из:
- Слоя token embedding — преобразует ID токенов в плотные векторные представления.
- Обучаемых позиционных embeddings — в отличие от синусоидальных embeddings encoder, decoder использует обучаемые позиционные embeddings, которые тренируются вместе с моделью.
- Блоков Transformer с cross-attention — каждый слой decoder имеет три подслоя: masked self-attention (чтобы модель не смотрела на будущие токены), cross-attention к выходу encoder (чтобы модель могла "слушать" аудио) и feed-forward сеть.
Финальный выход decoder проецируется на словарь, чтобы получить вероятности токенов. Среди стратегий декодирования — greedy search, beam search и sampling на основе температуры.
Специальные токены и multitask-обучение
Whisper выполняет несколько задач одной моделью благодаря продуманной системе специальных токенов, которые служат инструкциями. Вход decoder следует структурированному формату:
<|startoftranscript|> <|en|> <|transcribe|> <|notimestamps|> Hello, how are you today? <|endoftext|><|startoftranscript|>— Обозначает начало выходной последовательности.<|en|>— Указывает язык (один из 99 языковых токенов). Может определяться автоматически или задаваться вручную.<|transcribe|>или<|translate|>— Указывает, нужно ли транскрибировать на исходном языке или переводить на английский.<|notimestamps|>— Управляет генерацией токенов таймстемпов. Когда таймстемпы включены, модель генерирует токены временного смещения, например<|0.00|>и<|2.40|>которые выравнивают текст с аудио.
Этот единый формат токенов означает, что одна модель может выполнять транскрипцию, перевод, определение языка и транскрипцию с таймстемпами — без отдельных model heads или fine-tuning. Задача полностью определяется последовательностью токенов, переданной в decoder.
Обучающие данные
Оригинальные модели Whisper (от tiny до large-v2) обучались на 680 000 часах аудио с транскриптами, собранными из интернета. Этот датасет не опубликован. Его ключевая особенность — weakly supervised характер: транскрипты-метки не проверялись вручную человеческими аннотаторами. Вместо этого они поступали из субтитров, closed captions и другого пользовательского текста, связанного с аудио.
Состав данных
Согласно официальной карточке модели, обучающий набор на 680 000 часов распределяется так:
| Сегмент | Часы | Доля | Описание |
|---|---|---|---|
| Английский ASR | 438 000 | 65% | Английское аудио с английскими транскриптами |
| Перевод (X на английский) | 126 000 | 18% | Неанглийское аудио с английскими транскриптами |
| Многоязычный ASR | 117 000 | 17% | Неанглийское аудио с транскриптами на родном языке (98 языков) |
Сильный перекос в сторону английского (65% обучающих данных) объясняет, почему Whisper работает на английском заметно лучше, чем на языках с меньшим объёмом данных. Для модели large-v3, выпущенной в ноябре 2023 года, OpenAI расширила обучающий набор до 1 миллиона часов слабо размеченного аудио плюс ещё 4 миллиона часов псевдоразмеченного аудио, созданного запуском Whisper large-v2 на неразмеченных данных, — форма self-training или knowledge distillation.
Почему "Weakly Supervised" важно
Большинство предыдущих ASR-систем обучалось на датасетах вроде LibriSpeech (960 часов) или Common Voice (несколько тысяч часов на язык) — тщательно курируемых, проверенных людьми наборах. Подход Whisper обменял качество меток на масштаб: 680 000 часов против сотен или небольших тысяч часов, используемых традиционными системами. В статье показано, что этот компромисс оправдан. Разнообразие данных из интернета дало Whisper исключительную устойчивость к реальным условиям: фоновому шуму, перекрывающейся речи, акцентам, доменной лексике и акустическим средам, которые были бы сложны для моделей, обученных на студийной начитанной речи.
Однако слабый надзор также вводит известное ограничение: галлюцинации. Поскольку обучающие транскрипты несовершенны, модель иногда генерирует правдоподобный текст, который на самом деле не произносился, особенно во время тишины или очень тихих фрагментов. Это компромисс, присущий подходу, и активная область улучшений.
Размеры моделей
Whisper доступна в нескольких размерах, от 39 миллионов до 1,55 миллиарда параметров. Меньшие модели быстрее, но менее точны; большие точнее, но требуют больше вычислений и памяти. Варианты .en — это модели только для английского, которые обычно лучше работают с английским, особенно в малых размерах. Для больших моделей вариантов только для английского нет.
| Модель | Параметры | Только английский | VRAM | Относительная скорость |
|---|---|---|---|---|
| tiny | 39 M | tiny.en | ~1 GB | ~10x |
| base | 74 M | base.en | ~1 GB | ~7x |
| small | 244 M | small.en | ~2 GB | ~4x |
| medium | 769 M | medium.en | ~5 GB | ~2x |
| large (v1, v2, v3) | 1,550 M | -- | ~10 GB | 1x |
| turbo (large-v3-turbo) | 809 M | -- | ~6 GB | ~8x |
Скорость указана относительно модели large. Требования к VRAM приведены для GPU-инференса с fp16-точностью через оригинальную Python-реализацию. whisper.cpp использует значительно меньше памяти (например, модели large требуется ~3,9 GB RAM вместо ~10 GB VRAM).
Модель turbo (выпущена в октябре 2024 года) — это дистиллированная версия large-v3 со значительно меньшим decoder. Она сохраняет большую часть точности large-v3 и работает примерно в 8 раз быстрее, что делает её сильным выбором, когда важна скорость. Обратите внимание: turbo не поддерживает задачу перевода.
Модель large прошла три итерации: large-v1 (сентябрь 2022), large-v2 (декабрь 2022) и large-v3 (ноябрь 2023). Каждая версия улучшала точность; large-v3 ввела 128 mel-frequency bins (вместо 80) и обучалась на гораздо большем датасете. Подробный разбор каждого размера и рекомендации по выбору смотрите в нашем руководстве по размерам моделей Whisper.
Насколько точна Whisper?
Точность Whisper обычно измеряется с помощью Word Error Rate (WER) — процента слов, транскрибированных неверно (суммарно вставки, удаления и замены). Чем ниже WER, тем лучше.
Английские бенчмарки
На LibriSpeech test-clean — самом распространённом английском ASR-бенчмарке с чистой начитанной речью из аудиокниг — Whisper large-v2 достигает WER около 3,0%[1][2]. Это конкурентоспособно с коммерческими ASR-системами и специально обученными моделями, хотя специализированные модели, дообученные на LibriSpeech, могут достигать более низкого WER на этом конкретном бенчмарке. Сила Whisper не в победе над узкими бенчмарками, а в устойчивости — стабильной работе в широком диапазоне реальных условий.
Улучшения large-v3
Согласно оценке OpenAI, Whisper large-v3 показывает снижение ошибок на 10-20% по сравнению с large-v2 для языков, где модель достигает менее 60% error rate на оценочных датасетах Common Voice 15 и Fleurs[2][3]. Улучшения особенно заметны для неанглийских языков, где расширенные обучающие данные (5 миллионов часов суммарно) дают наибольший эффект.
Как Whisper выглядит в сравнении (февраль 2026 г.)
После релиза Whisper новые open-source ASR-модели превзошли её на бенчмарках чистой речи. NVIDIA Parakeet TDT (0,6 млрд параметров) достигает 1,69% WER, а модель Canary — 1,6% WER на LibriSpeech test-clean; оба результата значительно ниже ~2,7% у Whisper large-v3. Тем не менее Whisper остаётся самой широко используемой open-source ASR-моделью благодаря зрелой экосистеме, языковому охвату и наличию оптимизированных runtimes вроде whisper.cpp.
Частота ошибок в словах: Whisper против конкурентов с открытым исходным кодом
LibriSpeech test-clean (чтение речи на английском языке) — чем меньше, тем лучше
Источники: карты модели Hugging Face, карты модели NVIDIA, Open ASR Leaderboard (Feb 2026). Только чистая речь для чтения на английском языке — реальная точность зависит от качества звука, акцента и домена. Коммерческие API опущены, поскольку они не публикуют тесты LibriSpeech.
Примечание: коммерческие облачные API (Deepgram Nova-3, Google Chirp, AssemblyAI Universal-2) не публикуют показатели LibriSpeech WER, поэтому их нельзя напрямую сравнить на этой диаграмме. Их бенчмарки используют проприетарные реальные тестовые наборы. OpenAI также выпустила GPT-4o-transcribe в марте 2025 года как модель только для API (не open-source, не основана на Whisper) с, как сообщается, более низкой частотой ошибок, но она работает только в облаке и недоступна для локального инференса.
Где Whisper особенно сильна
- +Устойчивость к акцентам и диалектам — Обученная на разнообразном интернет-аудио, Whisper лучше справляется с региональными акцентами, чем системы, обученные на начитанной речи.
- +Терпимость к фоновому шуму — Модель сохраняет приемлемую точность даже при наличии музыки, других говорящих или окружающего шума.
- +Техническая лексика — Благодаря широте обучающих данных Whisper лучше многих универсальных ASR-систем справляется с доменными терминами (медицинскими, юридическими, техническими).
- +Многоязычность — Одна модель поддерживает 99 языков, без необходимости fine-tuning для каждого языка.
Где Whisper испытывает трудности
- -Галлюцинации — Самая часто упоминаемая проблема. Во время тишины или очень тихих фрагментов Whisper может генерировать текст, который никогда не произносился. Это следствие weakly supervised подхода к обучению.
- -Языки с малым объёмом данных — Языки с небольшим количеством обучающих данных (значительная часть 680K часов — английский) имеют существенно более высокие показатели ошибок.
- -Повторяющаяся генерация текста — Авторегрессионный decoder может "застревать" в циклах, повторяя одну и ту же фразу. Beam search с определёнными параметрами может смягчить, но не полностью устранить эту проблему.
- -По умолчанию не real-time — Whisper обрабатывает 30-секундные фрагменты, поэтому есть встроенная задержка. Streaming-решения (например, real-time режим whisper.cpp) обходят это, но добавляют сложность.
whisper.cpp и локальный инференс
Оригинальная реализация Whisper требует Python, PyTorch и CUDA-совместимый GPU для приемлемой производительности. Это делает её непрактичной для desktop-приложений, мобильных устройств и edge-развёртываний. whisper.cpp, созданный Georgi Gerganov, решает эту проблему.
whisper.cpp — это полная повторная реализация инференса Whisper на чистом C/C++ без зависимостей. Он читает те же веса модели, но работает без Python, без PyTorch и без GPU (хотя GPU даёт огромный выигрыш). Ключевые возможности включают:
- Нулевые выделения памяти во время выполнения — Вся память выделяется заранее, что делает производительность предсказуемой и подходящей для embedded-систем.
- Оптимизация для Apple Silicon — На Mac с чипами M-серии encoder может работать на Apple Neural Engine через Core ML, обеспечивая инференс более чем в 3 раза быстрее по сравнению с исполнением только на CPU. Ускорение Metal GPU также поддерживается для полного GPU-инференса.
- Поддержка квантования — Модели можно квантовать до 4-bit, 5-bit или 8-bit integer precision, резко снижая потребление памяти и повышая скорость с минимальной потерей точности.
- Ускорение GPU — Поддерживает NVIDIA CUDA (через cuBLAS), Vulkan (кросс-вендорно), OpenVINO (Intel) и OpenBLAS для CPU acceleration.
- Обнаружение речевой активности (VAD) — Встроенный VAD пропускает тихие сегменты, улучшая и скорость, и качество транскрипта.
Требования к памяти (whisper.cpp)
| Модель | Размер на диске | Требуется RAM |
|---|---|---|
| tiny | 75 MB | ~273 MB |
| base | 142 MB | ~388 MB |
| small | 466 MB | ~852 MB |
| medium | 1.5 GB | ~2.1 GB |
| large | 2.9 GB | ~3.9 GB |
whisper.cpp работает на macOS (Intel и Apple Silicon), Linux, Windows, iOS, Android, FreeBSD, Raspberry Pi и даже в браузере через WebAssembly. Он достигает транскрипции быстрее реального времени на скромном потребительском железе, включая такие небольшие устройства, как Raspberry Pi 4 и iPhone 13.
Именно эта переносимость делает локальное приватное распознавание речи практичным. Приложения вроде OpenWhispr используют whisper.cpp под капотом, чтобы предоставлять real-time push-to-talk диктовку, полностью работающую на устройстве пользователя — аудио никогда не покидает машину.
Whisper против других ASR-систем
Whisper существует в более широкой экосистеме систем распознавания речи. Вот как она сравнивается с самыми распространёнными альтернативами.
Google Cloud Speech-to-Text
Облачный ASR-сервис Google. Отличная точность, особенно на английском, поддержка real-time streaming и diarization говорящих. Главные отличия: он проприетарный, требует отправки аудио на серверы Google и тарифицируется за минуту обработанного аудио. Whisper предлагает сопоставимую точность для общего использования, работает локально и бесплатна, но не имеет встроенного streaming и diarization.
Amazon Transcribe (AWS)
Облачный ASR от Amazon, тесно интегрированный с экосистемой AWS. Предлагает медицинскую транскрипцию, аналитику звонков и пользовательский словарь. Компромиссы похожи на Google: зависимость от облака, поминутная оплата и проприетарность. Whisper лучше подходит приложениям, которым нужны offline-работа, open-source лицензирование или отсутствие привязки к поставщику.
Mozilla DeepSpeech
Open-source ASR-движок Mozilla на основе исследования Baidu Deep Speech. Это была одна из первых качественных открытых ASR-моделей, но Mozilla прекратила активную разработку в 2021 году. Whisper фактически превзошла DeepSpeech по точности, многоязычности и динамике сообщества. DeepSpeech остаётся полезной как лёгкий, хорошо понятный baseline, но больше не рекомендуется для новых проектов.
Vosk
Open-source toolkit для offline-распознавания речи, поддерживающий 20+ языков с маленькими быстрыми моделями. Vosk отлично подходит для сред с ограниченными ресурсами: его модели занимают лишь долю размера Whisper и хорошо работают на маломощном железе. Компромисс — точность: Vosk заметно уступает Whisper, особенно при акцентированной речи, шумном аудио и технической лексике.
Faster Whisper (CTranslate2)
Переализация Whisper на inference engine CTranslate2 от SYSTRAN. Она запускает те же модели Whisper с той же точностью, но до 4 раз быстрее оригинальной реализации OpenAI и с меньшим потреблением памяти. Faster Whisper основан на Python (в отличие от C/C++ у whisper.cpp) и является сильным выбором для серверной batch-транскрипции. Поддерживает CUDA GPU и CPU inference с INT8-квантованием.
Практические применения
Сочетание точности, многоязычной поддержки и open-source доступности сделало Whisper основой для широкого круга приложений:
Диктовка на desktop
Приложения вроде OpenWhispr используют whisper.cpp, чтобы предоставлять системную push-to-talk диктовку на macOS, Windows и Linux. Аудио обрабатывается локально — ничего не отправляется в облако.
Генерация субтитров
Предсказание таймстемпов в Whisper хорошо подходит для создания субтитров и closed captions. Инструменты вроде stable-ts и auto-subtitle автоматизируют этот workflow.
Транскрипция подкастов и встреч
Whisper хорошо справляется с транскрипцией длинного аудио, особенно при фрагментной обработке. Многие редакторы подкастов и инструменты для заметок по встречам используют Whisper (или Faster Whisper) для batch-транскрипции записей.
Перевод и локализация
Встроенная возможность перевода в Whisper (с любого языка на английский) используется для кросс-языкового доступа к контенту, локализации медиа и прототипов перевода в реальном времени.
Доступность
Субтитры в реальном времени для глухих и слабослышащих пользователей, голосовые интерфейсы для пользователей с двигательными ограничениями и транскрипция аудиоописаний — всё это активные области применения Whisper.
Аннотация данных и исследования
Исследователи используют Whisper для создания псевдоразмеченных датасетов для обучения других моделей — тот же подход OpenAI использовала при создании обучающих данных large-v3. Она также широко применяется в лингвистических исследованиях и создании корпусов.
Источники и дополнительное чтение
- [Статья] Radford, A., Kim, J. W., Xu, T., Brockman, G., McLeavey, C., & Sutskever, I. (2022). Robust Speech Recognition via Large-Scale Weak Supervision. arXiv:2212.04356. arxiv.org/abs/2212.04356
- [Код] GitHub-репозиторий OpenAI Whisper. github.com/openai/whisper
- [Код] whisper.cpp — C/C++ порт от Georgi Gerganov. github.com/ggml-org/whisper.cpp
- [Карточка модели] Whisper large-v2 на Hugging Face (WER-бенчмарк: ~3,0% на LibriSpeech test-clean). huggingface.co/openai/whisper-large-v2
- [Карточка модели] Whisper large-v3 на Hugging Face (снижение ошибок на 10-20% относительно v2). huggingface.co/openai/whisper-large-v3
- [Карточка модели] Whisper large-v3-turbo на Hugging Face (дистиллированный вариант с фокусом на задержку). huggingface.co/openai/whisper-large-v3-turbo
- [Карточка модели] Карточка модели OpenAI Whisper (разбор состава обучающих данных). github.com/openai/whisper/blob/main/model-card.md
- [Примечания к релизу] Анонс OpenAI large-v3 и заметки по оценке. github.com/openai/whisper/discussions/1762
- [Примечания к релизу] Обсуждение релиза OpenAI turbo и компромиссы ради скорости. github.com/openai/whisper/discussions/2363
- [Код] Faster Whisper — повторная реализация на базе CTranslate2 от SYSTRAN. github.com/SYSTRAN/faster-whisper
- [Продукт] OpenWhispr использует Whisper через whisper.cpp для локальных workflow диктовки. openwhispr.com
Попробуйте Whisper локально с OpenWhispr
OpenWhispr использует Whisper (через whisper.cpp) для локальной приватной диктовки на macOS, Windows и Linux. Push-to-talk, 99+ языков, облако не требуется. Попробуйте бесплатно.
Аккаунт не требуется · Работает офлайн · Открытый код навсегда