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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在NGC容器中體驗(yàn)中英文混合語音識(shí)別方案

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

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

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

示例鏈接:

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

快速體驗(yàn)

使用命令行工具 CLI 快速體驗(yàn)語音識(shí)別效果,命令如下:

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


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

Python 接口快速體驗(yàn),代碼實(shí)現(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.中英文語音識(shí)別技術(shù)

1.1 中英文語音識(shí)別難點(diǎn)

中英文語音識(shí)別相較于單語言的語音識(shí)別而言,主要難點(diǎn)如下:

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

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

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

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

1.2 PaddleSpeech 中英文語音識(shí)別方案

1.2.1 模型選擇與介紹

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

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

示例鏈接:

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

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

Conformer U2 結(jié)構(gòu)示意圖[1]

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

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

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

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

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

1.2.3 中英混合語音識(shí)別建模單元

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

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

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

1.2.4 試驗(yàn)結(jié)果對(duì)比

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

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

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

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

2.PaddleSpeech 語音識(shí)別技術(shù)介紹

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

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

3. NGC 飛槳容器介紹

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

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

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

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

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

容器技術(shù)支持多容器同時(shí)運(yùn)行

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

最好的 PaddlePaddle 容器

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

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

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

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

按月更新

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

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

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

環(huán)境準(zhǔn)備

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

Docker 引擎

NVIDIA GPU 驅(qū)動(dòng)程序

NVIDIA 容器工具包

有關(guān)支持的版本,請(qǐng)參閱 NVIDIA 框架容器支持矩陣NVIDIA 容器工具包文檔。

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

NGC 飛槳容器正式安裝:

要運(yùn)行容器,請(qǐng)按照 NVIDIA Containers For Deep Learning Frameworks User’s Guide 中 Running A Container 一章中的說明發(fā)出適當(dāng)?shù)拿?,并指定注?cè)表、存儲(chǔ)庫和標(biāo)簽。有關(guān)使用 NGC 的更多信息,請(qǐng)參閱 NGC 容器用戶指南。如果您有 Docker 19.03 或更高版本,啟動(dòng)容器的典型命令是:

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

4.飛槳與 NVIDIA NGC 合作介紹

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

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

今年,我們將飛槳列為 NVIDIA 全球前三的深度學(xué)習(xí)框架合作伙伴。我們?cè)谥袊呀?jīng)設(shè)立了專門的工程團(tuán)隊(duì)支持,賦能飛槳生態(tài)。

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

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

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

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

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

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

    關(guān)注

    14

    文章

    4814

    瀏覽量

    102629
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4627

    瀏覽量

    128438
  • 語音識(shí)別
    +關(guān)注

    關(guān)注

    38

    文章

    1703

    瀏覽量

    112410
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    490

    瀏覽量

    22013
  • NGC
    NGC
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    3822

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

文章出處:【微信號(hào):NVIDIA_China,微信公眾號(hào):NVIDIA英偉達(dá)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    labview中英文界面切換小程序

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

    Altium 中英文對(duì)照表

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

    LABview中英文切換

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

    AD元器件中英文對(duì)照

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

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

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

    protues元件中英文對(duì)照

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

    Proteus器件庫 中英文對(duì)照

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

    Verilog黃金參考(中英文

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

    元器件中英文對(duì)照

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

    LABVIEW程序怎么設(shè)置中英文切換

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

    電機(jī)銘牌參數(shù)中英文對(duì)照

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

    講講AD的中英文切換方法

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

    品質(zhì)名詞中英文對(duì)照

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

    金屬廢料中英文對(duì)照

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

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

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