Pruned CTC for Memory-Efficient Large-Vocabulary ASR Training
Yifan Yang, Xiaoyu Yang, Zengrui Jin, Xian Shi, Yuxuan Wang, Yu Xi, Ziyang Ma, Qi Chen and 5 others
Shanghai Jiao Tong University · Alibaba Group · Tsinghua University · University of Cambridge · Nankai University · Chinese University of Hong Kong
Published September 27, 2026 · on the feed September 29, 2026 · ▲ 3 · arXiv 2609.33645
The abstract
Connectionist temporal classification (CTC) naturally supports offline and streaming speech recognition with utterance-level supervision, but conventional implementations materialize frame-by-vocabulary activations in memory, making CTC training with native LLM vocabularies prohibitively memory-intensive. A key observation is that every valid CTC alignment uses only target tokens and blank, and their union across a batch typically forms a small subset of the full vocabulary. We introduce Pruned CTC, which restricts alignment computation to this subset while retaining full-vocabulary normalization. We prove that this vocabulary reduction is exactly equivalent to full-vocabulary CTC in loss and gradients. Head-and-loss activation memory no longer scales linearly with vocabulary size. We further apply finite-beam alignment pruning. Building on Pruned CTC, we develop LLM-CTC, which adapts pretrained LLMs for non-autoregressive ASR while retaining causal attention and native vocabularies, and extend it to bounded-history streaming, avoiding chunk-level speech--text alignments. Experiments show that, with Zipformer-M encoder and 180K vocabulary, Pruned CTC reduces full-step memory by 5.1times with only 17% step-time overhead. Across three corpora, it matches standard CTC accuracy. On GigaSpeech, across six Qwen3 model sizes from 0.6B to 32B, LLM-CTC remains within 7% relative WER of LLM-CE with 7 to 10times faster recognition; when fine-tuning Qwen3-ASR for bounded-history streaming, LLM-CTC remains within 3% relative WER of matched offline models on the test set. Together, these results establish Pruned CTC as a scalable sequence objective for native-vocabulary LLM ASR across offline and streaming settings.
The Brief
3:10A short podcast summary of the paper. Written and voiced by AI.
Transcript
Pruned CTC for Memory-Efficient Large-Vocabulary ASR Training. By Yifan Yang and twelve others, from Shanghai Jiao Tong University, Alibaba Group, and five other institutions. Published on the twenty-seventh of September. Its code repository is public but slight: one source file.
Connectionist temporal classification, CTC for short, is a natural fit for speech recognition. It supports both offline and streaming recognition, and it needs only utterance-level supervision. Its weakness is memory. Conventional implementations materialize activations for every frame against every entry in the vocabulary. With the large native vocabularies that language models use, that grid becomes so big that CTC training turns prohibitively expensive in memory. The cost grows with the number of frames times the size of the vocabulary, so the very move that would let a speech system share a language model's vocabulary is the move that makes its training impractical.
The key observation is about which vocabulary entries ever matter. Every valid CTC alignment uses only two kinds of symbol: the target tokens, and blank. Take the union of those across a batch, and it typically forms a small subset of the full vocabulary. Pruned CTC restricts the alignment computation to that subset, while still normalizing over the full vocabulary. The authors prove that this reduction is exactly equivalent to full-vocabulary CTC, in the loss and in the gradients. The result is that activation memory for the output head and the loss no longer grows linearly with vocabulary size. On top of that, they apply finite-beam pruning of the alignments.
Pruned CTC then becomes a foundation for LLM-CTC, which adapts pretrained language models to non-autoregressive speech recognition. It keeps the models' causal attention and their native vocabularies. The authors extend it further to streaming with a bounded history, which avoids the need for speech and text alignments at the level of chunks. The same objective, in other words, serves both the offline recognizer and the streaming one.
With a Zipformer-M encoder and a vocabulary of one hundred and eighty thousand entries, Pruned CTC cuts full-step memory by five point one times, at the cost of only seventeen percent more time per step. Across three corpora it matches the accuracy of standard CTC.
On GigaSpeech, the authors test six Qwen3 model sizes, from zero point six billion to thirty-two billion parameters. There, LLM-CTC stays within seven percent relative word error rate of LLM-CE, while recognizing seven to ten times faster. And when Qwen3-ASR is fine-tuned for bounded-history streaming, LLM-CTC stays within three percent relative word error rate of matched offline models on the test set.
Everything here rests on one exact identity. Because the alignments never touch most of the vocabulary, most of the vocabulary can be left out of the alignment computation, with nothing lost in the loss or its gradients. That single fact is what lets CTC keep a language model's full vocabulary, and the authors argue it makes Pruned CTC a scalable objective for such systems in both offline and streaming use.
Paper Quest · 7 chapters · about 40 min
Play this paper
Learn it by doing: make the calls the authors made, guess the result before you see it, and defend it in a viva graded on your own words. Chapter 1 is right here.
Chapter 1 🧩 · The problem
A good speech objective meets a huge vocabulary, and memory gives out first.
You train a speech recogniser with an alignment-based objective that sums over every way the frames can line up with the transcript. It needs only utterance-level transcripts and works offline or streaming.
The road ahead
- 1 · The problem ~6 min An alignment-based speech objective is a good fit for language-model vocabularies, but storing a frame-by-vocabulary grid makes training run out of memory.
- 2 · What came before ~3 min
- 3 · The key idea ~9 min Pruned CTC runs the alignment only over the batch's target tokens and blank, while still normalising over the full vocabulary, so nothing changes but memory.
- 4 · Choose your own research ~3 min
- 5 · Build the method ~8 min Gather the batch's tokens and blank, align over that subset with a full normaliser, prune the alignments, then build language-model recognisers offline and streaming on top.
- 6 · The experiment ~6 min You’ll guess: With a Zipformer-M encoder and a 180K vocabulary, by how many times did Pruned CTC cut full-step training memory?
- 7 · The viva ~5 min Three questions from the examiners, answered in your own words. Win it for the paper’s trophy.
Free, with Google or an email address. Your stars and progress are kept.