{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/zipformer-a-faster-and-better-encoder-for","title":"Zipformer: A faster and better encoder for automatic speech recognition","arxiv_id":"2310.11230","date":"2023-10-17","proceeding":null,"authors":["Zengwei Yao","Liyong Guo","Xiaoyu Yang","Wei Kang","Fangjun Kuang","Yifan Yang","Zengrui Jin","Long Lin","Daniel Povey"],"abstract":"The Conformer has become the most popular encoder model for automatic speech recognition (ASR). It adds convolution modules to a transformer to learn both local and global dependencies. In this work we describe a faster, more memory-efficient, and better-performing transformer, called Zipformer. Modeling changes include: 1) a U-Net-like encoder structure where middle stacks operate at lower frame rates; 2) reorganized block structure with more modules, within which we re-use attention weights for efficiency; 3) a modified form of LayerNorm called BiasNorm allows us to retain some length information; 4) new activation functions SwooshR and SwooshL work better than Swish. We also propose a new optimizer, called ScaledAdam, which scales the update by each tensor's current scale to keep the relative change about the same, and also explictly learns the parameter scale. It achieves faster convergence and better performance than Adam. Extensive experiments on LibriSpeech, Aishell-1, and WenetSpeech datasets demonstrate the effectiveness of our proposed Zipformer over other state-of-the-art ASR models. Our code is publicly available at https://github.com/k2-fsa/icefall.","url_abs":"https://arxiv.org/abs/2310.11230v4","url_pdf":"https://arxiv.org/pdf/2310.11230v4.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"zipformer-a-faster-and-better-encoder-for","repo_url":"https://github.com/k2-fsa/icefall","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"automatic-speech-recognition-2","task_name":"Automatic Speech Recognition"},{"task_slug":"automatic-speech-recognition","task_name":"Automatic Speech Recognition (ASR)"},{"task_slug":"speech-recognition","task_name":"Speech Recognition"},{"task_slug":"speech-recognition-1","task_name":"speech-recognition"}],"methods":[{"method_slug":"adam","method_name":"Adam"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"sigmoid-activation","method_name":"Sigmoid Activation"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/speech-recognition-on-librispeech-test-clean","task":"Speech Recognition","dataset":"LibriSpeech test-clean","model":"Zipformer+pruned transducer (no  external language model)","rank_in_archive_order":25,"of":64,"metrics":{"Word Error Rate (WER)":"2.00"},"uses_additional_data":false},{"leaderboard":"/sota/speech-recognition-on-librispeech-test-other","task":"Speech Recognition","dataset":"LibriSpeech test-other","model":"Zipformer+pruned transducer\n(no external language model)","rank_in_archive_order":25,"of":53,"metrics":{"Word Error Rate (WER)":"4.38"},"uses_additional_data":false},{"leaderboard":"/sota/speech-recognition-on-wenetspeech","task":"Speech Recognition","dataset":"WenetSpeech","model":"Zipformer+pruned transducer (no external language model)","rank_in_archive_order":3,"of":8,"metrics":{"Character Error Rate (CER)":"7.29"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2310.11230","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}