Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New recipe: tiny_transducer_ctc #848

Merged
merged 18 commits into from
Oct 30, 2023
Merged

New recipe: tiny_transducer_ctc #848

merged 18 commits into from
Oct 30, 2023

Conversation

wangtiance
Copy link
Contributor

@wangtiance wangtiance commented Jan 17, 2023

This recipe is intended for streaming ASR on very low cost devices, with model parameters in the range of 1-2M and less than 0.1GOPS . It uses a small convolutional net as the encoder. It is trained with combined transducer and CTC losses, and supports both phone and BPE lexicons. The encoder consists of 2 subsampling layers followed by a stack of Conv1d-batchnorm-activation-causal_squeeze_excite blocks, with optional skip add. It's a bit similar to CitriNet and ContextNet, but even smaller.

For WER and more details see README.md. Note that transducer decoding does NOT require external LM, therefore the WER looks higher than CTC.

@wangtiance
Copy link
Contributor Author

I get noticeable WER improvements just by enabling tf32 (see https://pytorch.org/docs/stable/notes/cuda.html#tensorfloat-32-tf32-on-ampere-devices). Will update the WER once all models' results are ready.

@yaozengwei
Copy link
Collaborator

Thanks. Could you also support streaming decoding with cached left context for the causal convolutional modules, like streaming_decode.py in recipe conv_emformer_transducer_stateless2?

@wangtiance
Copy link
Contributor Author

Thanks. Could you also support streaming decoding with cached left context for the causal convolutional modules, like streaming_decode.py in recipe conv_emformer_transducer_stateless2?

Looks like there's some work involved, will get to it when I have the time!

@JinZr
Copy link
Collaborator

JinZr commented Oct 24, 2023

Hi wangtiance, it looks like some of the files need to be black formatted to match the requirements, would you please look into that?

Thank you!

@wangtiance
Copy link
Contributor Author

Hi wangtiance, it looks like some of the files need to be black formatted to match the requirements, would you please look into that?

Thank you!

Reformatted. Now all checks have passed.

Copy link
Collaborator

@JinZr JinZr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@JinZr JinZr merged commit c970df5 into k2-fsa:master Oct 30, 2023
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants