0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在NGC容器中體驗中英文混合語音識別方案

NVIDIA英偉達 ? 來源:NVIDIA英偉達 ? 2023-05-05 11:00 ? 次閱讀

PaddleSpeech 又帶著新功能和大家見面了。本次更新,為開發(fā)者們帶來了基于端到端語音識別模型 Conformer 的中英文混合語音識別方案,通過命令行和 Python 可以快速體驗,也根據(jù) PaddleSpeech 模型訓練方案定制與業(yè)務場景相關的語音識別模型。歡迎廣大開發(fā)者使用 NVIDIA 與飛槳聯(lián)合深度適配的 NGC 飛槳容器,在 NVIDIA GPU 上體驗 PaddleSpeech 中英文混合語音識別方案。

本次 PaddleSpeech 發(fā)布的中英文語音識別預訓練模型 Conformer_talcs 以通過 PaddleSpeech 封裝的命令行工具 CLI 或者 Python 接口快速使用,開發(fā)者們可以基于此搭建自己的智能語音應用,也可以參考示例訓練自己的中英文語音識別模型。

示例鏈接:

https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/examples/tal_cs/asr1

快速體驗

使用命令行工具 CLI 快速體驗語音識別效果,命令如下:

```bash
paddlespeech asr --model conformer_talcs --lang zh_en --codeswitch True --input ./ch_zh_mix.wav -v


# 終端輸出:今天是 monday 明天是 tuesday
```

Python 接口快速體驗,代碼實現(xiàn)如下:

```python
>>> import paddle
>>> from paddlespeech.cli.asr import ASRExecutor
>>> asr_executor = ASRExecutor()
>>> text = asr_executor(
    model='conformer_talcs',
    lang='zh_en',
    sample_rate=16000,
    config=None,
    ckpt_path=None,
    audio_file='./ch_zh_mix.wav',
    codeswitch=True,
    force_yes=False,
    device=paddle.get_device())
>>> print('ASR Result: 
{}'.format(text))
ASR Result:
今天是 monday 明天是 tuesday
```

1.中英文語音識別技術

1.1 中英文語音識別難點

中英文語音識別相較于單語言的語音識別而言,主要難點如下:

1) 數(shù)據(jù)量少

中英混合數(shù)據(jù)相較于單語言的數(shù)據(jù)更少。目前開源的中文語音識別數(shù)據(jù)集如 WenetSpeech(10000 小時有監(jiān)督,2500 小時弱監(jiān)督,10000 小時無監(jiān)督)、英文語音識別數(shù)據(jù)集 Giga Speech(10000 小時有監(jiān)督,33000 小時無監(jiān)督)都達到了萬小時級別,但是混合的開源中英文語音識別數(shù)據(jù)只有 SEAME (120小時)和 TAL_CSASR (587小時) 兩個開源數(shù)據(jù),混合數(shù)據(jù)集比單語言數(shù)據(jù)集會更少。

2) 中英相似發(fā)音易混淆

中英文語音識別需要一個單一的模型來學習多種語音,相似但具有不同含義的發(fā)音通常會導致模型的復雜度和計算量增加,同時由于它需要區(qū)分處理不同語言的類似發(fā)音,因此在模型建模時就需要按照不同語言區(qū)分不同的建模單元。

1.2 PaddleSpeech 中英文語音識別方案

1.2.1 模型選擇與介紹

本方案使用了一種端到端語音識別模型 Conformer U2 模型,其采用了 Joint CTC/Attention with Transformer or Conformer 的結構。訓練時使用 CTC 和 Attention Loss 聯(lián)合優(yōu)化,并且通過 dynamic chunk 的訓練技巧,使 Shared Encoder 能夠處理任意大小的 chunk(即任意長度的語音片段)。其還使用 CTC-Prefix Beam Search 和 Attention Decoder 的方式進行解碼,得到最終結果,同時實現(xiàn)了流式和非流式的語音識別,支持控制推理延遲。

本次 PaddleSpeech 開源的預訓練模型,是非流式的端到端識別 Conformer U2 模型,chunk 中包含全部上下文信息,需要整句輸入進行識別。如果你想訓練流式中英文語音識別模型,也可以參考 PaddleSpeech 的 Conformer U2/U2++模型流式語音識別的示例訓練自己的流式中英文語音識別模型。

示例鏈接:

https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/examples/wenetspeech/asr1

39f355a6-e6ab-11ed-ab56-dac502259ad0.png

Conformer U2 結構示意圖[1]

1.2.2 數(shù)據(jù)集介紹

本次使用了 TAL_CSASR 中英混合語音數(shù)據(jù)集。語音場景為語音授課音頻,包括中英混合講課的情況,總計 587 小時語音。

數(shù)據(jù)集下載地址:https://ai.100tal.com/dataset

3a0c93ae-e6ab-11ed-ab56-dac502259ad0.png

數(shù)據(jù)集介紹[2]

1.2.3 中英混合語音識別建模單元

在中文語音識別系統(tǒng)中,常采用音素、漢字、詞等作為聲學模型的建模單元,在英文語音識別系統(tǒng)中則常采用英文音素、國際音標、子詞等作為聲學模型的建模單元。

本次 PaddleSpeech 開源的預訓練中英文語音識別模型是采用端到端語音識別模型 Conformer U2,未接入語言模型,使用了中文字/詞加英文子詞的建模方法,將中英文分開建模,通過模型推理,直接得到識別后的結果。

3a24b376-e6ab-11ed-ab56-dac502259ad0.png

1.2.4 試驗結果對比

由于本項目使用的是中英文混合數(shù)據(jù)集,所以我們選擇混合錯誤率(MER,Mix Error Rate)作為評價指標,中文部分計算字錯誤率(CER,Character Error Rate),英文部分計算詞錯誤率(Word Error Rate)。測試數(shù)據(jù)集選擇 TAL_CSASR 中已經(jīng)劃分好的測試集。由于不同的解碼方式識別的效果不同,這里我們使用 Attention、CTC Greedy Search、CTC Prefix Beam Search、Attention Rescoring 四種解碼方式進行試驗,解碼效果最佳為 Attention Rescoring,混合錯誤率 MER 為 0.084,折算為我們常說的語音識別正確率 91.6%。

3a37b4c6-e6ab-11ed-ab56-dac502259ad0.png

1.2.5 進一步優(yōu)化與效果提升

當前中英文語音識別方案的效果還有進一步提升的空間,比如在 Conformer U2 模型后面加入 Language Model,通過語言模型學習中英文語言信息, PaddleSpeech 中提供了基于 N-Gram 的語言模型訓練方案。此外,可以在訓練過程中加入 Language ID,使用 token 級別或者幀級別的語言 ID 標注信息,可以進一步提高中英文語音識別的效果。如果你有更大的中英文混合數(shù)據(jù)集或者是場景相關的數(shù)據(jù)集,可以通過微調或者進一步訓練,提高在業(yè)務場景中的識別效果。

2.PaddleSpeech 語音識別技術介紹

除了中英文混合的 Conformer U2 模型以外,飛槳語音模型庫 PaddleSpeech 中包含了多種語音識別模型,能力涵蓋了聲學模型、語言模型、解碼器等多個環(huán)節(jié),支持多種語言。目前 PaddleSpeech 已經(jīng)支持的語音識別聲學模型包括 DeepSpeech2、Transfromer、Conformer U2/U2 ++,支持中文和英文的單語言識別以及中英文混合識別;支持 CTC 前束搜索(CTC Prefix Beam Search)、CTC 貪心搜索(CTC Greedy Search)、注意力重打分(Attention Rescoring)等多種解碼方式;支持 N-Gram 語言模型、有監(jiān)督多語言大模型 Whisper、無監(jiān)督預訓練大模型 wav2vec2;同時還支持服務一鍵部署,可以快速封裝流式語音識別和非流式語音識別服務。

通過 PaddleSpeech 提供的命令行工具 CLI 和 Python 接口可以快速體驗上述功能。通過 PaddleSpeech 精品項目合集,可以在線體驗 PaddleSpeech 的優(yōu)秀項目,上面更有核心開發(fā)者精心打造的《飛槳 PaddleSpeech 語音技術課程》,幫助開發(fā)者們快速入門。

3. NGC 飛槳容器介紹

如果您希望體驗 PaddleSpeech 的新特性,歡迎使用 NGC 飛槳容器。NVIDIA 與百度飛槳聯(lián)合開發(fā)了 NGC 飛槳容器,將最新版本的飛槳與最新的 NVIDIA 的軟件棧(如 CUDA)進行了無縫的集成與性能優(yōu)化,最大程度的釋放飛槳框架在 NVIDIA 最新硬件上的計算能力。這樣,用戶不僅可以快速開啟 AI 應用,專注于創(chuàng)新和應用本身,還能夠在 AI 訓練和推理任務上獲得飛槳+ NVIDIA 帶來的飛速體驗。

最佳的開發(fā)環(huán)境搭建工具 - 容器技術

容器其實是一個開箱即用的服務器。極大降低了深度學習開發(fā)環(huán)境的搭建難度。例如你的開發(fā)環(huán)境中包含其他依賴進程(redis,MySQL,Ngnix,selenium-hub 等等),或者你需要進行跨操作系統(tǒng)級別的遷移

容器鏡像方便了開發(fā)者的版本化管理

容器鏡像是一種易于復現(xiàn)的開發(fā)環(huán)境載體

容器技術支持多容器同時運行

3a63c49e-e6ab-11ed-ab56-dac502259ad0.png

最好的 PaddlePaddle 容器

NGC 飛槳容器針對 NVIDIA GPU 加速進行了優(yōu)化,并包含一組經(jīng)過驗證的庫,可啟用和優(yōu)化 NVIDIA GPU 性能。此容器還可能包含對 PaddlePaddle 源代碼的修改,以最大限度地提高性能和兼容性。此容器還包含用于加速 ETL (DALI, RAPIDS)、訓練(cuDNN, NCCL)和推理(TensorRT)工作負載的軟件。

PaddlePaddle 容器具有以下優(yōu)點:

適配最新版本的 NVIDIA 軟件棧(例如最新版本 CUDA),更多功能,更高性能

更新的 Ubuntu 操作系統(tǒng),更好的軟件兼容性

按月更新

滿足 NVIDIA NGC 開發(fā)及驗證規(guī)范,質量管理

通過飛槳官網(wǎng)快速獲取

3a7564ba-e6ab-11ed-ab56-dac502259ad0.png

環(huán)境準備

使用 NGC 飛槳容器需要主機系統(tǒng)(Linux)安裝以下內容:

Docker 引擎

NVIDIA GPU 驅動程序

NVIDIA 容器工具包

有關支持的版本,請參閱 NVIDIA 框架容器支持矩陣NVIDIA 容器工具包文檔

不需要其他安裝、編譯或依賴管理。無需安裝 NVIDIA CUDA Toolkit。

NGC 飛槳容器正式安裝:

要運行容器,請按照 NVIDIA Containers For Deep Learning Frameworks User’s Guide 中 Running A Container 一章中的說明發(fā)出適當?shù)拿?,并指定注冊表、存儲庫?a target="_blank">標簽。有關使用 NGC 的更多信息,請參閱 NGC 容器用戶指南。如果您有 Docker 19.03 或更高版本,啟動容器的典型命令是:

docker run --gpus all --shm-size=1g --ulimit memlock=-1 -it --rm nvcr.io/nvidia/paddlepaddle:22.08-py3

4.飛槳與 NVIDIA NGC 合作介紹

NVIDIA 非常重視中國市場,特別關注中國的生態(tài)伙伴,而當前飛槳擁有超過 535 萬的開發(fā)者。在過去五年里我們緊密合作,深度融合,做了大量適配工作,如下圖所示。

3a963e92-e6ab-11ed-ab56-dac502259ad0.png

今年,我們將飛槳列為 NVIDIA 全球前三的深度學習框架合作伙伴。我們在中國已經(jīng)設立了專門的工程團隊支持,賦能飛槳生態(tài)。

為了讓更多的開發(fā)者能用上基于 NVIDIA 最新的高性能硬件和軟件棧。當前,我們正在進行全新一代 NVIDIA GPU H100 的適配工作,以及提高飛槳對 CUDA Operation API 的使用率,讓飛槳的開發(fā)者擁有優(yōu)秀的用戶體驗及極致性能。

以上的各種適配,僅僅是讓飛槳的開發(fā)者擁有高性能的推理訓練成為可能。但是,這些離行業(yè)開發(fā)者還很遠,門檻還很高,難度還很大。

為此,我們將剛剛這些集成和優(yōu)化工作,整合到三大產(chǎn)品線中。其中 NGC 飛槳容器最為閃亮。

NVIDIA NGC Container – 最佳的飛槳開發(fā)環(huán)境,集成最新的 NVIDIA 工具包(例如 CUDA)。

3aaaa29c-e6ab-11ed-ab56-dac502259ad0.png ? ? ?

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    4832

    瀏覽量

    102671
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4657

    瀏覽量

    128510
  • 語音識別
    +關注

    關注

    38

    文章

    1707

    瀏覽量

    112453
  • 容器
    +關注

    關注

    0

    文章

    491

    瀏覽量

    22017
  • NGC
    NGC
    +關注

    關注

    0

    文章

    8

    瀏覽量

    3823

原文標題:開發(fā)者必看:在 NGC 容器中體驗中英文混合語音識別方案

文章出處:【微信號:NVIDIA_China,微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    labview中英文界面切換小程序

    課程推薦>>每天1小時,龍哥手把手教您LabVIEW視覺設計許多程序都有中英文界面切換功能,這邊網(wǎng)友動手做了一個中英文界面切換的小程序labview8.5:[hide][/hide]labview2009:[hide] [/hide]
    發(fā)表于 12-12 16:09

    Altium 中英文對照表

    求Altium 中英文對照表!{:soso_e163:}
    發(fā)表于 09-02 10:40

    LABview中英文切換

    哪位大神有l(wèi)abview8.5中英文切換的插件!!!求發(fā)一份不勝感激!!
    發(fā)表于 06-26 20:57

    AD元器件中英文對照

    AD元器件中英文對照
    發(fā)表于 04-19 15:56

    LabVIEW文本控件的中英文編碼問題?

    Unicode,當然文本要在控件中正常顯示,而不是顯示編碼的十六進制。主要是為了對中英文混合的字符串進行操作。最好能提供實例的程序供我參考,謝謝!
    發(fā)表于 04-29 09:32

    protues元件中英文對照

    protues元件中英文對照。。。。。。。。。。。。。。。。。。
    發(fā)表于 12-11 13:53

    Proteus器件庫 中英文對照

    proteus 器件庫中英文對照
    發(fā)表于 07-29 16:54

    Verilog黃金參考(中英文

    Verilog黃金參考(中英文
    發(fā)表于 09-26 14:10

    元器件中英文對照

    元器件中英文對照
    發(fā)表于 02-09 23:33

    LABVIEW程序怎么設置中英文切換

    我做了一個程序,上級要求最好能做成中英雙文(不是軟件語言,是寫出來的程序的語言),然后我就像通過控件標簽文本屬性來設置,做一個中英文的枚舉,英文顯示默認標簽,中文顯示中文,可是運行程序切換語言會出現(xiàn)如圖報錯,請問有人幫忙解答一下
    發(fā)表于 02-29 21:20

    電機銘牌參數(shù)中英文對照

    電機銘牌參數(shù)中英文對照及簡介
    發(fā)表于 01-28 06:25

    講講AD的中英文切換方法

    如何去切換Altium Designer界面的中英文輸入法呢?
    發(fā)表于 02-14 06:10

    品質名詞中英文對照

    品質名詞中英文對照
    發(fā)表于 11-19 17:27 ?10次下載

    金屬廢料中英文對照

    金屬廢料中英文對照 金屬廢料中英文對照  中文名 英文名 品質描述  606
    發(fā)表于 11-14 16:42 ?694次閱讀

    DFRobot Gravity: 中英文語音合成模塊

    語音合成模塊 DFRobot-Gravity: 中英文語音合成模塊 無論是中文還是英文對于語音合成模塊來說都是so easy,播報當前時間,
    發(fā)表于 09-07 16:29 ?1055次閱讀