Перейти к содержанию
Публикация AiManual

Orukeet: новая ASR-модель на базе NVIDIA Parakeet с Gabor-ядрами - стоит ли переходить?

Orukeet заменила половину обучаемых depthwise-фильтров энкодера Parakeet на 12 288 фиксированных Gabor-ядер и заявляет 1.46% WER на LibriSpeech test-clean проти

Коротко

Что будет в материале

  1. 01

    Что такое Orukeet и почему о ней заговорили

  2. 02

    Архитектура Orukeet: зачем заменили фильтры на Gabor-ядра

  3. 03

    Сравнение Orukeet и Parakeet: цифры WER

  4. 04

    Ограничения и риски: можно ли доверять результатам

Что такое Orukeet и почему о ней заговорили

Orukeet - модель распознавания речи (automatic speech recognition, ASR), которая появилась на Hugging Face. За основу взята NVIDIA Parakeet TDT 0.6B v3, а изменения касаются энкодера и последующего дообучения. Первым заметным источником обсуждения стал пост на Reddit, и его автор сразу оговорился: саму модель он ещё не тестировал.

Что заявляют разработчики: половина временных depthwise-фильтров энкодера заменена на 12 288 фиксированных Gabor-ядер, остальные параметры дообучены на многоязычных данных с разными акцентами. Заявлена поддержка 25 языков и превосходство над Parakeet в 61 из 74 протестированных разбиений.

Короткий ответ на главный вопрос: это архитектурный эксперимент с любопытными цифрами, а не проверенный инструмент для продакшена. Независимых прогонов нет, а финальный чекпоинт выбирался на LibriSpeech test-other, то есть на том же наборе, по которому потом отчитывались. Тестировать смысл есть, принимать на веру - нет.

Логика оценки здесь такая же, как для любой свежей публикации: сначала карточка модели и заявленные метрики, затем проверка того, на каких данных они получены, и только потом решение тратить ли время на запуск. Как выстроить такой поток без информационного шума, разбираем в материале про Daily Papers на Hugging Face.

Архитектура Orukeet: зачем заменили фильтры на Gabor-ядра

В энкодере ASR-модели есть свёрточные слои, работающие вдоль временной оси: они сжимают и уточняют последовательность акустических признаков, прежде чем её получит attention-часть. В depthwise-свёртке каждый канал обрабатывается отдельным ядром, и в стандартной модели значения этих ядер обучаются вместе с остальными весами.

Orukeet меняет правила в этой части: половина временных depthwise-фильтров больше не обучается. Вместо них работают фиксированные Gabor-ядра, всего 12 288 штук. Ядро Габора - это синусоида, умноженная на гауссиану: узкий всплеск, который колеблется с определённой частотой и затухает по краям. Набор таких фильтров покрывает разные частоты и разные масштабы времени, а речевой сигнал как раз описывается частотой и длительностью.

Что это даёт с инженерной точки зрения:

  • Меньше обучаемых параметров. Фиксированные ядра не обновляются при дообучении, поэтому основной объём весов приходится на остальную часть сети.
  • Сильный априорный базис. Габоровы фильтры задают частотно-временную структуру заранее, и модели не нужно выучивать её с нуля по размеченным примерам.
  • Меньше пространства для переобучения. Обучаемая часть становится компактнее, что полезно, когда данных для тонкой настройки немного.

Есть и обратная сторона. Фиксированные фильтры не подстраиваются под конкретный домен: если акустика ваших записей плохо ложится на частотно-временную сетку ядер, выигрыш сократится или исчезнет. Обучаемые фильтры умеют такое компенсировать, фиксированные - нет. Поэтому 12 288 ядер стоит воспринимать как ставку на обобщение, а не как гарантию качества на любых данных. После замены фильтров оставшиеся параметры дообучались на многоязычных записях с разными акцентами, что как раз и должно улучшить поведение на неродной речи.

Сравнение Orukeet и Parakeet: цифры WER

WER (word error rate) считает долю ошибок на уровне слов: (S + D + I) / N, где S - замены, D - пропуски, I - вставки, N - число слов в эталонной расшифровке. Меньше значение - лучше результат. Разница в десятые доли процента на чистой речи выглядит скромно, но именно там модели упираются в потолок: несколько ошибок на сотни слов.

ТестOrukeet, WERParakeet TDT 0.6B v3, WER
LibriSpeech test-clean1.46%1.53%
LibriSpeech test-other2.86%3.14%
FLEURS English3.82%4.28%
FLEURS, суммарно по 25 языкам9.85%11.01%

Пересчёт в относительные величины помогает понять масштаб. На LibriSpeech test-clean разрыв 0.07 процентного пункта, это примерно 4.6% относительно. На test-other разброс шире: 0.28 п.п. и около 8.9%. На FLEURS English 0.46 п.п. и примерно 10.7%. По сумме 25 языков FLEURS заявлено 9.85% против 11.01%, относительное снижение 10.6%.

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

С суммарным WER по 25 языкам есть нюанс. Среднее прячет разброс: за одной цифрой могут стоять языки, где Orukeet заметно впереди, и языки, где она не даёт ничего. Такое число годится как маркер направления, но не отвечает на вопрос, как модель поведёт себя на вашем языке и вашем домене. Почему одного общего WER для сравнения ASR-моделей недостаточно и как метаданные меняют картину, подробно разобрано в статье про Open ASR Leaderboard и новые языки в ASR-бенчмарках. Все значения в таблице выше взяты из заявлений разработчиков, а не из независимых прогонов.

Ограничения и риски: можно ли доверять результатам

Главное ограничение: независимых подтверждений нет. Ни одна сторонняя команда публично не воспроизвела эти цифры, а сама модель распространяется через карточку на Hugging Face и пост на Reddit.

  • Финальная адаптация и выбор чекпоинта выполнялись на LibriSpeech test-other. Этот же набор попал в отчёт. Метрика на test-other поэтому завышена по определению: из множества вариантов модели выбирался тот, который лучше всего показал себя именно на этом тесте.
  • Автор поста на Reddit, через который модель получила огласку, сам её не тестировал. Это снимает часть доверия к подаче, хотя и говорит в пользу честности автора поста.
  • Нет сведений о лицензии, доступности весов, требованиях к ресурсам и воспроизводимости экспериментов. Без лицензии вообще непонятно, можно ли применять модель в коммерческом продукте.

Насколько искажён результат из-за выбора чекпоинта, по опубликованным данным оценить нельзя. Косвенный ориентир: показатели на test-clean и FLEURS English получены на наборах, которые в отборе не участвовали, и там улучшение меньше, чем на test-other. Разумная стратегия - относиться к test-other как к завышенной оценке, а к FLEURS English и суммарному мультиязычному WER как к более нейтральным, но всё ещё непроверенным.

Как запустить Orukeet локально: практические шаги

Модель опубликована на Hugging Face. Первый шаг - открыть карточку и посмотреть, какие файлы весов выложены, под какой лицензией и какой фреймворк заявлен для инференса (transformers, NeMo или другой). Порядок требований к железу можно прикинуть по базовой модели: Orukeet построена на Parakeet TDT 0.6B v3, значит речь идёт о сотнях миллионов параметров, а не о гигабайтах весов. Точных цифр по VRAM в описании может не быть, тогда их придётся выяснять самостоятельно на своей конфигурации.

  1. Проверьте лицензию и доступность весов на странице модели. Без этого запускать что-либо в рабочем проекте рано.
  2. Установите библиотеку ASR-инференса, указанную в карточке, и скачайте веса.
  3. Начните с коротких клипов по несколько секунд. Так вы быстро поймёте, работает ли пайплайн вообще и хватает ли памяти.
  4. Соберите свой мини-набор: 20-50 фраз на нужных языках с заранее известными расшифровками, лучше из вашего домена. Посчитайте WER и сравните с моделью, которой пользуетесь сейчас.
  5. Отдельно проверьте акценты и шум, если это ваш сценарий. Именно там заявлено основное преимущество, и именно там расхождение с реальностью будет заметнее всего.

Методика проверки для речевых моделей похожа независимо от задачи: лицензия, реальные требования к памяти, поведение на длинных фрагментах и на вашем языке. Наглядный пример такого разбора на другой речевой модели - в материале про Breeze-TTS-2 и локальный запуск.

Стоит ли переходить на Orukeet с Parakeet или других ASR-моделей

Если вы уже используете Parakeet и качество устраивает, срочных причин менять модель нет. Относительное улучшение 10.6% по мультиязычной сводке FLEURS - заметный, но не радикальный шаг, а на чистой английской речи разрыв сокращается до 4.6% относительно. Переезд ради 1.46% вместо 1.53% на test-clean сам по себе не окупится.

Другое дело, если ваши задачи лежат в многоязычной зоне: акценты, несколько языков в одном пайплайне, шумные записи. Там заявленный отрыв больше, и проверить его на своём материале относительно недорого. Логика решения выглядит так:

  • Один язык, чистая речь, всё работает - оставайтесь на текущей модели.
  • Много языков или сильные акценты - стоит потратить пару часов на тест Orukeet рядом с текущим решением.
  • Продакшен с жёсткими требованиями к стабильности - ждите независимых прогонов и ясности по лицензии.

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

Итог: кому и зачем нужна Orukeet

Orukeet - аккуратный эксперимент с идеей, которую интересно наблюдать: часть обучаемых фильтров энкодера заменяется фиксированными Gabor-ядрами, а остальная сеть дообучается под многоязычную речь. Заявленные результаты выглядят правдоподобно и подтверждают саму гипотезу о пользе частотно-временного базиса, но проверены только авторами.

Практический вывод для трёх групп читателей. Энтузиастам и исследователям - да, смотреть и пробовать: это редкий случай, когда архитектурное изменение описано простыми словами и его эффект можно оценить самостоятельно. Разработчикам многоязычных ASR-систем - тестировать на своих данных, особенно на акцентах, и не забывать про отсутствие данных о лицензии. Тем, кто строит продакшен, - пока оставаться на проверенных решениях и вернуться к Orukeet после независимых замеров и появления ясности по лицензии и весам.

Самый быстрый способ проверить всё самому: скачать модель, прогнать на 20-50 фразах из своего домена и посчитать WER. Это займёт меньше времени, чем чтение любых сводных таблиц, включая эту.

Подписаться на канал