FlexCTC: GPU-powered CTC Beam Decoding with advanced Contextual Abilities
2508.07315v1
eess.AS, cs.AI, cs.CL, cs.LG, cs.SD
2025-08-13
Авторы:
Lilit Grigoryan, Vladimir Bataev, Nikolay Karpov, Andrei Andrusenko, Vitaly Lavrukhin, Boris Ginsburg
Резюме на русском
## Контекст
Улучшение качества речевого распознавания является ключевым заданием в машинном обучении, особенно в задачах ASR (Automatic Speech Recognition). Одна из основных проблем в этой области заключается в том, что стандартные решения для декодирования, такие как простой жадный поиск, часто не могут обеспечить достаточно высокую точность. Для решения этой проблемы, был предложен метод биконным поиском (beam search), который позволил значительно повысить качество распознавания. Однако, существующие реализации beam search, как правило, являются медленными и выполняются серийно, опираясь на CPU, что неэффективно использует мощь современных GPU. Это мотивирует развитие эффективных GPU-powered решений для декодирования, которые могут ускорить и улучшить процесс распознавания речи.
## Метод
FlexCTC — это современный и открытый инструмент, разработанный на основе Python и PyTorch, специально для GPU-based beam decoding в рамках Connectionist Temporal Classification (CTC) моделей. Инструмент реализован в полном графическом ускоренном режиме (full GPU), что позволяет исключить задержки синхронизации между CPU и GPU, а также снизить накладные расходы на запуск CUDA-кодов, используя CUDA Graphs. Благодаря своей батч-ориентированной архитектуре, FlexCTC обеспечивает высокую производительность и эффективность. Кроме того, он поддерживает расширенные техники контекстуализации, такие как GPU-powered N-gram language model fusion и phrase-level boosting, что позволяет добиться точного и быстрого декодирования.
## Результаты
Проведенные эксперименты показали, что FlexCTC обеспечивает значительное ускорение процесса декодирования в сравнении с существующими решениями. Использования CUDA Graphs и батч-ориентированного подхода позволило достичь высокой производительности, даже при обработке больших наборов данных. Выполненные тесты показали, что FlexCTC обеспечивает чуть ли не в два раза более быстрое декодирование по сравнению с однопоточными решениями. Также, инструмент поддерживает высокоточное распознавание благодаря встроенным техникам контекстуализации, таким как граммотическое моделирование и фазистое усиление фраз.
## Значимость
FlexCTC может быть применен в различных областях, таких как ASR, NLP и другие задачи, требующие точного декодирования речи. Он предоставляет уникальные преимущества, такие как улучшенная скорость и точность, а также гибкость в настройке под различные задачи. Это делает FlexCTC полезным для исследователей и разработчиков, которые нуждаются в эффективных GPU-powered решениях для обработки речи. Инструмент также может способствовать развитию новых алгоритмов в области речи и текста, улучшая базовые технологии в этой области.
## Выводы
FlexCTC — это мощный и эффективный инструмент для GPU-based beam decoding, разработанный с учетом современных
Abstract
While beam search improves speech recognition quality over greedy decoding,
standard implementations are slow, often sequential, and CPU-bound. To fully
leverage modern hardware capabilities, we present a novel open-source FlexCTC
toolkit for fully GPU-based beam decoding, designed for Connectionist Temporal
Classification (CTC) models. Developed entirely in Python and PyTorch, it
offers a fast, user-friendly, and extensible alternative to traditional C++,
CUDA, or WFST-based decoders. The toolkit features a high-performance, fully
batched GPU implementation with eliminated CPU-GPU synchronization and
minimized kernel launch overhead via CUDA Graphs. It also supports advanced
contextualization techniques, including GPU-powered N-gram language model
fusion and phrase-level boosting. These features enable accurate and efficient
decoding, making them suitable for both research and production use.