Исследователи NVIDIA представляют ускоренный с помощью GPU декодер с использованием взвешенного конечного автомата (WFST) на основе поиска луча, совместимый с существующими моделями CTC.

Новейший ускоренный декодер с использованием GPU от исследователей NVIDIA, основанный на взвешенном конечном автомате (WFST) с поиском луча, который совместим с существующими моделями CTC.

В последнее время с искусственным интеллектом, становящимся чрезвычайно популярным, область автоматического распознавания речи (ASR) заметно прогрессирует. Он изменил мир голосовых технологий и взаимодействия человека с компьютером. С помощью ASR машины могут переводить устную речь в текст, что является необходимым для различных приложений, включая виртуальных ассистентов и службы транскрипции. Исследователи прикладывают усилия, чтобы найти подходящие алгоритмы, поскольку существует необходимость в более точных и эффективных системах ASR.

В недавних исследованиях NVIDIA команда исследователей изучила недостатки моделей, основанных на Connectionist Temporal Classification (CTC). В ASR-пайплайнах модели CTC стали ведущими кандидатами для достижения высокой точности. Эти модели особенно хороши в обработке тонкостей устной речи, так как они очень хорошо интерпретируют временные последовательности. Хотя они точны, традиционный метод декодирования beam search на основе ЦП ограничивает производительность моделей CTC.

Процесс декодирования beam search является важным этапом точной транскрипции устных слов. Традиционный метод, называемый жадный поиск, использует акустическую модель для определения, какой токен наиболее вероятно будет выбран на каждом временном шаге. В работе с контекстуальными предубеждениями и внешними данными с этим подходом сопровождаются ряд сложностей.

Для преодоления всех этих сложностей команда предложила GPU-ускоренный декодер beam search на основе Weighted Finite State Transducer (WFST) в качестве решения. Этот подход был представлен с целью плавной интеграции с существующими моделями CTC. С помощью этого GPU-ускоренного декодера можно повысить производительность ASR-пайплайна, а также пропускную способность, задержку и поддержку функций, таких как динамическое составление композиции для усиления слов в зависимости от уттеранса. Предложенный GPU-ускоренный декодер особенно хорошо подходит для прогнозирования потока данных из-за его улучшенной производительности и более низкой задержкой.

Команда оценила этот подход, протестировав декодер в оффлайн и онлайн среде. В сравнении с современным ЦП-декодером, GPU-ускоренный декодер показал увеличение пропускной способности в оффлайн сценарии вплоть до семи раз. GPU-ускоренный декодер достиг более чем в восемь раз более низкой задержки в сценарии онлайн-потоковой передачи, при этом сохраняя тот же уровень или даже более высокий процент ошибок в словах. Эти результаты показывают, что использование предложенного GPU-ускоренного декодера beam search на основе WFST с моделями CTC значительно повышает эффективность и точность.

В заключение, этот подход безусловно отлично справляется с ограничениями производительности, связанными с декодированием beam search, на основе ЦП в моделях CTC. Предложенный GPU-ускоренный декодер является самым быстрым декодером beam search для моделей CTC как в оффлайн, так и в онлайн сценариях, поскольку он повышает пропускную способность, снижает задержку и поддерживает передовые функции. Чтобы помочь с интеграцией декодера с фреймворками машинного обучения на основе Python, команда разработчиков сделала доступными предварительно собранные связки Python на базе DLPack на GitHub. Это обеспечивает удобство использования решения разработчикам Python с фреймворками ML. Репозиторий с кодом можно найти по адресу https://github.com/nvidia-riva/riva-asrlib-decoder. Он содержит описание CUDA WFST-декодера в виде C++ и Python библиотеки.