Sherpa GigaAM v3 на десктопе: как русский ASR работает локально
Подробный технический разбор Sherpa GigaAM v3 — модели для локального распознавания русской речи на CPU. Чем отличается от Whisper, какая скорость, как встроить в свой workflow.
GigaAM — это семейство моделей для распознавания русской речи от Сбера, выпущенных в open source в 2024 году. Самая свежая версия GigaAM v3 переконвертирована для Sherpa-ONNX и работает локально на CPU без GPU за ~150 мс на 5-секундной фразе. Это та же скорость, что у iPhone Dictation, но без облака.
В этой статье — что такое GigaAM, чем она отличается от Whisper, как она работает на обычном десктопе, и где её взять.
Что такое GigaAM v3 от Сбера
GigaAM (Giga Acoustic Model) — это акустическая модель, основанная на архитектуре Conformer. Её обучили на тысячах часов русской речи: радиовещание, аудиокниги, разговорные диалоги, телефонные звонки. Цель — модель, которая хорошо понимает разнообразный русский, включая разговорный, диалектный, с шумами фоном.
Версии:
- GigaAM v1 (2023): первая версия, обученная на ~7 000 часов
- GigaAM v2 (2024): улучшенная архитектура и расширенный датасет, ~15 000 часов
- GigaAM v3 (конец 2024): текущая версия, ~30 000 часов, оптимизированная для streaming-режима
Все версии открыты и лежат на HuggingFace под пермиссивной лицензией: salute-developers/GigaAM.
В отличие от обычного Conformer-ASR, GigaAM использует CTC-лосс плюс RNN-T декодер (так называемый hybrid-CTC/RNN-T). Это позволяет одновременно работать в streaming-режиме (распознавание начинается до конца фразы) и сохранять высокое качество финального результата.
Качество на стандартных бенчмарках русской речи (RuSpeech, GolosSet): WER около 5-7% на чистой студийной речи и 12-15% на телефонных звонках с шумом. Для сравнения, Whisper Large-v3 даёт WER около 6-8% на той же чистой речи на русском.
Чем отличается от Whisper
OpenAI Whisper — самая известная open-source модель распознавания речи, обученная на 680 000 часов многоязычных аудио. Универсальная: один файл модели поддерживает 99 языков.
Различия с GigaAM v3 для русского:
Архитектура: Whisper — это Transformer encoder-decoder, обрабатывает 30-секундные окна целиком. GigaAM — Conformer streaming, обрабатывает аудио чанками по 200-500 мс по мере поступления.
Скорость на CPU:
- Whisper Tiny: ~0.3 сек на 30-сек фразе
- Whisper Base: ~0.5 сек на 30-сек
- Whisper Small: ~1 сек на 5-сек
- Whisper Medium: 3-5 сек на 5-сек (без GPU)
- Whisper Large-v3: 7+ сек на 5-сек (без GPU)
- GigaAM v3: ~150 мс на 5-сек (CPU без GPU)
GigaAM в 30-50 раз быстрее Whisper Medium на том же CPU. Причина — streaming-архитектура и оптимизация именно под русский (Whisper тратит часть compute на “понять, что это русский”).
Качество: на русском GigaAM v3 сопоставим с Whisper Medium и немного хуже Whisper Large-v3. На разговорной речи (с акцентами, шумами) GigaAM иногда лучше Whisper Medium — потому что он больше тренировался на разговорном русском.
Размер: GigaAM v3 занимает ~320 МБ. Whisper Medium — 1.5 ГБ, Large-v3 — 3 ГБ.
Языки: GigaAM — только русский. Whisper — 99 языков.
Если тебе нужен только русский — GigaAM v3 в большинстве случаев лучший выбор: быстрее в десятки раз, занимает в 5 раз меньше места, качество сопоставимое.
Скорость на CPU без GPU
Конкретные замеры на разном железе (на 5-секундной фразе на чистом русском):
| CPU | Время GigaAM v3 |
|---|---|
| Intel Core i3-3220 (2013) | ~250 мс |
| Intel Core i5-8250U (ноутбук 2018) | ~180 мс |
| AMD Ryzen 5 5600X | ~140 мс |
| Intel Core i7-12700 | ~150 мс |
| Apple M1 (Rosetta 2) | ~200 мс |
Тяжёлый CPU не даёт пропорционального ускорения — GigaAM упирается в фиксированную часть pipeline (feature extraction, post-processing). На обычном современном ноутбуке без GPU модель спокойно справляется за 150-200 мс.
RAM: модель занимает ~400 МБ при загрузке. Базово программа в фоне ест ~30 МБ, после первой диктовки — 430 МБ из-за кеширования модели.
Энергопотребление: на ноутбуке от батареи — пик ~10-30% одного ядра CPU на 200 мс при каждой диктовке. За час обычной работы (50-100 диктовок) — менее 1% разрядки. На холостом ходу программа в трее — 0% CPU.
Где скачать модель легально
GigaAM v3 в формате Sherpa-ONNX:
- Github: github.com/k2-fsa/sherpa-onnx
- HuggingFace оригинал: salute-developers/GigaAM (нужна конвертация в ONNX)
- HuggingFace ONNX-готовые модели: ищи
sherpa-onnx-streaming-zipformer-ru-gigaamи подобные
Размер ZIP — около 320 МБ. SHA-256 публикуется на HuggingFace, чтобы можно было сверить, что ты скачал именно ту модель, что планировал.
Лицензия GigaAM — Apache 2.0 (позволяет коммерческое использование при сохранении атрибуции).
Как встроить в свой workflow (или взять готовое решение)
Два варианта.
Вариант 1: использовать готовое решение — программу, которая уже встроила GigaAM v3 и предоставляет UI для голосового ввода. Это AuroraWhisp: скачал .exe, запустил, диктуешь хоткеем в любое окно. Никакого кода писать не нужно.
Вариант 2: интегрировать в свой код:
# Pseudocode для Python
from sherpa_onnx import OnlineRecognizer
recognizer = OnlineRecognizer.from_paths(
encoder="encoder.onnx",
decoder="decoder.onnx",
joiner="joiner.onnx",
tokens="tokens.txt",
num_threads=4,
)
stream = recognizer.create_stream()
# Подаёшь PCM-аудио чанками по 100-200 мс
while audio_chunk := microphone.read():
stream.accept_waveform(sample_rate=16000, waveform=audio_chunk)
if recognizer.is_ready(stream):
recognizer.decode_stream(stream)
partial_text = recognizer.get_result(stream)
print(partial_text)
# В конце фразы — финальный текст
recognizer.finalize_stream(stream)
final_text = recognizer.get_result(stream)
Sherpa-ONNX даёт похожие API на C++, Java, Kotlin, Swift, JavaScript. Можно встроить распознавание в десктопное приложение, мобильное, серверное (обработка батча файлов), браузерное (через WebAssembly).
Лимиты при self-hosting:
- Нет голосового UI «из коробки» — нужно делать самому (виджет, хоткей, вставка текста в активное окно). Это 2-4 недели работы для опытного разработчика
- Нет автоматических обновлений модели — придётся следить за релизами и обновлять самому
- Нет коммерческой поддержки — open-source комьюнити, отвечают по мере возможности
Для большинства задач разумнее использовать готовое решение (AuroraWhisp, WhispeRu или платный SaaS для серверной обработки). Self-hosting Sherpa имеет смысл только если у тебя специфические требования: интеграция в свой продукт, изоляция от внешних сервисов на корпоративном уровне, кастомное дообучение модели на твоих данных.
Связанное: