🚀 NVIDIA Streaming Citrinet 1024 (zh)
本模型採用字符編碼方案,可將語音轉錄為Aishell - 2普通話語料庫中標準字符集的文本。它是Citrinet的非自迴歸“大型”變體,約有1.4億個參數。該模型還與NVIDIA Riva兼容,可用於生產級服務器部署。
|
|
|
|
|
🚀 快速開始
本模型可在NeMo工具包[3]中使用,可作為預訓練檢查點用於推理或在其他數據集上進行微調。
若要訓練、微調或使用該模型,你需要安裝NVIDIA NeMo。建議在安裝最新版本的PyTorch之後再安裝它。
pip install nemo_toolkit['all']
✨ 主要特性
- 採用字符編碼方案,可轉錄Aishell - 2普通話語料庫標準字符集文本。
- 非自迴歸“大型”Citrinet變體,約1.4億參數。
- 與NVIDIA Riva兼容,適用於生產級服務器部署。
📦 安裝指南
若要訓練、微調或使用該模型,你需要安裝NVIDIA NeMo。建議在安裝最新版本的PyTorch之後再安裝它。
pip install nemo_toolkit['all']
💻 使用示例
基礎用法
自動實例化模型
import nemo.collections.asr as nemo_asr
asr_model = nemo_asr.models.EncDecCTCModel.from_pretrained("nvidia/stt_zh_citrinet_1024_gamma_0_25")
高級用法
使用Python進行轉錄
首先,獲取一段普通話語音樣本。
然後簡單執行以下操作:
output = asr_model.transcribe(['sample.wav'])
print(output[0].text)
轉錄多個音頻文件
python [NEMO_GIT_FOLDER]/examples/asr/transcribe_speech.py
pretrained_name="nvidia/stt_zh_citrinet_1024_gamma_0_25"
audio_dir="<DIRECTORY CONTAINING AUDIO FILES>"
📚 詳細文檔
輸入
該模型接受16000 kHz單聲道音頻(wav文件)作為輸入。
輸出
對於給定的音頻樣本,該模型將轉錄後的語音以字符串形式輸出。
🔧 技術細節
模型架構
Citrinet模型是一種用於自動語音識別的非自迴歸模型[1],它使用CTC損失/解碼而不是Transducer。你可以在Citrinet模型中找到有關此模型詳細信息。
訓練
使用NeMo工具包[3]對模型進行了數百個epoch的訓練。這些模型使用示例腳本和基礎配置進行訓練。
這些模型的分詞器是使用訓練集的文本轉錄,通過此腳本構建的。
數據集
此集合中的所有模型都在一個複合數據集(NeMo ASRSET)上進行訓練,該數據集包含數千小時的英語語音:
注意:舊版本的模型可能在較小的數據集上進行訓練。
性能
此集合中可用模型的列表如下表所示。ASR模型的性能以貪心解碼的詞錯誤率(WER%)報告。
版本 |
分詞器 |
詞彙量大小 |
開發iOS集 |
測試iOS集 |
開發安卓集 |
測試安卓集 |
開發麥克風集 |
測試麥克風集 |
訓練數據集 |
1.0.0 |
字符 |
5000+ |
4.8 |
5.1 |
5.2 |
5.5 |
5.2 |
5.5 |
AIShell 2 |
在使用NVIDIA Riva進行部署時,你可以將此模型與外部語言模型結合使用,以進一步降低WER。下表報告了使用不同語言建模技術的最新模型的WER(%)。
侷限性
由於該模型是在公開可用的語音數據集上訓練的,對於包含技術術語或模型未訓練過的方言的語音,其性能可能會下降。該模型對於帶口音的語音表現可能也會較差。
使用NVIDIA Riva進行部署
為了獲得最佳的即時準確性、低延遲和高吞吐量,可使用NVIDIA Riva部署該模型。NVIDIA Riva是一個加速語音AI SDK,可在本地、所有云、多雲、混合雲、邊緣和嵌入式設備上部署。
此外,Riva還提供:
- 針對最常用語言的開箱即用的世界級準確性,其模型檢查點在專有數據上進行了數十萬GPU計算小時的訓練。
- 通過運行時單詞增強(例如品牌和產品名稱)以及對聲學模型、語言模型和逆文本歸一化的定製,實現一流的準確性。
- 流式語音識別、Kubernetes兼容的擴展和企業級支持。
查看Riva即時演示。
📄 許可證
本項目採用CC - BY - 4.0許可證。
📖 參考文獻