đ Parakeet TDT-CTC 0.6B (ja)
parakeet-tdt_ctc-0.6b-ja
is an Automatic Speech Recognition (ASR) model that can transcribe Japanese speech with punctuations. It's developed by the NVIDIA NeMo team and is an XL version of the Hybrid FastConformer [1] TDT-CTC [2] model with around 0.6B parameters.
|
| 
đ Quick Start
Installation
To train, fine-tune, or use the model, you need to install NVIDIA NeMo. It's recommended to install it after the latest PyTorch version.
pip install nemo_toolkit['asr']
Usage
The model is available in the NeMo Framework [3] and can be used as a pre-trained checkpoint for inference or fine-tuning on other datasets.
Automatically instantiate the model
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.ASRModel.from_pretrained(model_name="nvidia/parakeet-tdt_ctc-0.6b-ja")
Transcribing using Python
output = asr_model.transcribe(['speech.wav'])
print(output[0].text)
Transcribing many audio files
By default, the model uses TDT to transcribe audio files. To switch the decoder to use CTC, use decoding_type='ctc'
.
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/parakeet-tdt_ctc-0.6b-ja"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
Input and Output
- Input: This model accepts 16000 Hz mono-channel audio (wav files).
- Output: It provides transcribed speech as a string for a given audio sample.
⨠Features
- Hybrid Architecture: Uses a Hybrid FastConformer-TDT-CTC architecture.
- FastConformer: An optimized version of the Conformer model with 8x depthwise-separable convolutional downsampling.
- TDT: A generalization of conventional Transducers, which can skip most blank predictions and speed up inference.
đ Documentation
Model Architecture
This model uses a Hybrid FastConformer-TDT-CTC architecture.
Training
The NeMo Framework [3] was used for training this model with this example script and this base config.
The model was trained for 300k steps with dynamic bucketing and a batch duration of 600s per GPU on 32 NVIDIA A100 80GB GPUs, and then finetuned for 100k additional steps on the modified training data (predicted texts for training samples with CER>10%).
A SentencePiece [4] tokenizer with 3072 tokens was built using the text transcripts of the train set with this script.
Datasets
The model was trained on ReazonSpeech v2.0 [5] speech corpus containing more than 35k hours of natural Japanese speech.
Performance
The following table summarizes the performance of this model in terms of Character Error Rate (CER%).
In CER calculation, punctuation marks and non-alphabet characters are removed, and numbers are transformed to words using num2words
library [6].
Version |
Decoder |
JSUT basic5000 |
MCV 8.0 test |
MCV 16.1 dev |
MCV16.1 test |
TEDxJP-10k |
1.23.0 |
TDT |
6.4 |
7.1 |
10.1 |
13.2 |
9.0 |
1.23.0 |
CTC |
6.5 |
7.2 |
10.2 |
13.3 |
9.1 |
These are greedy CER numbers without external LM.
NVIDIA Riva: Deployment
NVIDIA Riva is an accelerated speech AI SDK that can be deployed on-prem, in all clouds, multi-cloud, hybrid, on edge, and embedded.
Additionally, Riva provides:
- World-class out-of-the-box accuracy for the most common languages with model checkpoints trained on proprietary data with hundreds of thousands of GPU-compute hours
- Best in class accuracy with run-time word boosting (e.g., brand and product names) and customization of acoustic model, language model, and inverse text normalization
- Streaming speech recognition, Kubernetes compatible scaling, and enterprise-grade support
Although this model isn't supported yet by Riva, the list of supported models is here.
Check out Riva live demo.
đ License
The license to use this model is covered by the CC-BY-4.0. By downloading the public and release version of the model, you accept the terms and conditions of the CC-BY-4.0 license.
References
[1] Fast Conformer with Linearly Scalable Attention for Efficient Speech Recognition
[2] Efficient Sequence Transduction by Jointly Predicting Tokens and Durations
[3] NVIDIA NeMo Framework
[4] Google SentencePiece Tokenizer
[5] ReazonSpeech v2.0
[6] num2words library - Convert numbers to words in multiple languages