語音人工智能用于各種應(yīng)用,包括授權(quán)人工智能的呼叫中心、虛擬助理的語音接口以及視頻會(huì)議中的實(shí)時(shí)字幕。語音人工智能包括自動(dòng)語音識(shí)別( ASR )和文本語音轉(zhuǎn)換( TTS )。 ASR 管道接收原始音頻并將其轉(zhuǎn)換為文本, TTS 管道接收文本并將其轉(zhuǎn)換為音頻。
開發(fā)和運(yùn)行這些實(shí)時(shí)語音人工智能服務(wù)是一項(xiàng)復(fù)雜而艱巨的任務(wù)。構(gòu)建語音 AI 應(yīng)用程序需要數(shù)十萬小時(shí)的音頻數(shù)據(jù)、基于特定用例構(gòu)建和自定義模型的工具,以及可擴(kuò)展的部署支持。它還意味著實(shí)時(shí)運(yùn)行,與用戶進(jìn)行自然交互的時(shí)間遠(yuǎn)低于 300 毫秒。 NVIDIA Riva 簡化了開發(fā)語音 AI 服務(wù)的端到端流程,并為類人交互提供實(shí)時(shí)性能。
Riva SDK
NVIDIA Riva 是用于開發(fā)語音 AI 應(yīng)用程序的 GPU 加速 SDK 。 Riva 旨在幫助您輕松快速地訪問對(duì)話 AI 功能。只需幾個(gè)命令,您就可以通過 API 操作訪問高性能服務(wù)并嘗試演示。

圖 1 . Riva 構(gòu)建語音應(yīng)用程序的工作流
Riva SDK 包括 pretrained speech and language models 、 NVIDIA TAO Toolkit ,用于在自定義數(shù)據(jù)集上微調(diào)這些模型,以及用于語音識(shí)別、語言理解和語音合成的優(yōu)化端到端技能。
使用 Riva ,您可以輕松地對(duì)數(shù)據(jù)上的最新模型進(jìn)行微調(diào),以更深入地了解其特定上下文。優(yōu)化推理以提供運(yùn)行時(shí)間為 150 毫秒( ms )的實(shí)時(shí)服務(wù),而在 CPU 純平臺(tái)上需要 25 秒。
特定于任務(wù)的 AI 服務(wù)和 gRPC 端點(diǎn)提供現(xiàn)成的高性能 ASR 、 NLP 和 TTS 。所有這些人工智能服務(wù)都經(jīng)過數(shù)千小時(shí)的公共和內(nèi)部數(shù)據(jù)集培訓(xùn),以達(dá)到高精度。您可以開始使用預(yù)訓(xùn)練的模型,或者使用自己的數(shù)據(jù)集對(duì)其進(jìn)行微調(diào),以進(jìn)一步提高模型性能。
Riva 使用 NVIDIA Triton Inference Server 為多個(gè)模型提供服務(wù),以實(shí)現(xiàn)高效、穩(wěn)健的資源分配,并在高吞吐量、低延遲和高精度方面實(shí)現(xiàn)高性能。
Riva 技能概述
Riva 為實(shí)時(shí)轉(zhuǎn)錄和虛擬助理等用例提供高度優(yōu)化的語音識(shí)別和語音合成服務(wù)。語音識(shí)別技能在各種真實(shí)世界、特定領(lǐng)域的數(shù)據(jù)集上進(jìn)行培訓(xùn)和評(píng)估。它包括來自電信、播客和醫(yī)療保健的詞匯,以在生產(chǎn)用例中提供世界級(jí)的準(zhǔn)確性。
與 NVIDIA V100 GPU 上的 Tacotron 2 和 WaveGlow 模型相比, Riva 文本到語音或語音合成技能可生成類似人類的語音,并使用非自回歸模型在 NVIDIA A100 GPU 上提供 12 倍的性能。此外,該服務(wù)使您能夠?yàn)槊總€(gè)品牌和虛擬助理創(chuàng)建一個(gè)自然定制的聲音,每天 30 分鐘的演員數(shù)據(jù)。

圖 2 . Riva 服務(wù)能力
為了充分利用 GPU 的計(jì)算能力, Riva 基于 NVIDIA Triton 推理服務(wù)器,為神經(jīng)網(wǎng)絡(luò)和集成管道提供服務(wù),以便與 NVIDIA TensorRT 高效運(yùn)行。
Riva 服務(wù)通過 gRPC 端點(diǎn)可訪問的 API 操作公開,這些操作隱藏了所有復(fù)雜性。圖 3 顯示了系統(tǒng)的服務(wù)器端。 gRPC API 操作由運(yùn)行在 Docker 容器中的 API 服務(wù)器公開。他們負(fù)責(zé)處理所有語音和 NLP 傳入和傳出數(shù)據(jù)。

圖 3 . Riva 服務(wù)管線
API 服務(wù)器向 NVIDIA Triton 發(fā)送推斷請(qǐng)求并接收結(jié)果。
NVIDIA Triton 是后端服務(wù)器,可同時(shí)處理多個(gè) GPU 上的多個(gè)神經(jīng)網(wǎng)絡(luò)或集成管道的多個(gè)推理請(qǐng)求。
對(duì)于會(huì)話 AI 應(yīng)用程序,將延遲保持在給定閾值以下至關(guān)重要。這種延遲要求轉(zhuǎn)化為推斷請(qǐng)求一到達(dá)就執(zhí)行。要使 GPU 飽和并提高性能,必須增加批大小并延遲推理執(zhí)行,直到收到更多請(qǐng)求并形成更大的批。
NVIDIA Triton 還負(fù)責(zé)在一個(gè)請(qǐng)求和另一個(gè)請(qǐng)求之間切換網(wǎng)絡(luò)的上下文。
Riva 可以通過從 NGC 下載適當(dāng)?shù)哪P秃腿萜鞯暮唵文_本直接安裝在裸機(jī)上,也可以通過 Helm chart 將其部署在 Kubernetes 上。
下面簡要介紹一下如何與 Python 交互。 Riva 接口通過簡單的 Python API 操作,使客戶端與 Riva 服務(wù)器的通信更加容易。例如,下面介紹如何通過三個(gè)步驟創(chuàng)建對(duì)現(xiàn)有 TTS Riva 服務(wù)的請(qǐng)求。
首先,導(dǎo)入 Riva API :
import src.riva_proto.riva_tts_pb2 as rtts
import src.riva_proto.riva_tts_pb2_grpc as rtts_srv
import src.riva_proto.riva_audio_pb2 as ri
接下來,創(chuàng)建到 Riva 端點(diǎn)的 gRPC 通道:
channel = grpc.insecure_channel('localhost:50051')
riva_tts = rtts_srv.RivaSpeechSynthesisStub(channel)
然后,創(chuàng)建一個(gè) TTS 請(qǐng)求:
req = rtts.SynthesizeSpeechRequest()
req.text = "We know what we are, but not what we may be?"
req.language_code = "en-US" req.encoding = ri.AudioEncoding.LINEAR_PCM req.sample_rate_hz = 22050 req.voice_name = "ljspeech" resp = riva_tts.Synthesize(req)
audio_samples = np.frombuffer(resp.audio, dtype=np.float32)
使用數(shù)據(jù)自定義模型
使用 NVIDIA TAO Toolkit ,您可以在 Riva 中使用定制的訓(xùn)練模型(圖 4 )。 NVIDIA TAO Toolkit 是一種無編碼工具,用于在特定于域的數(shù)據(jù)集上微調(diào)模型。

圖 4 。 NVIDIA TAO 工具包管道
例如,要進(jìn)一步提高 ASR 轉(zhuǎn)錄文本的易讀性和準(zhǔn)確性,請(qǐng)向 ASR 系統(tǒng)添加自定義標(biāo)點(diǎn)符號(hào)和大小寫模型,以生成沒有這些特征的文本。
從預(yù)訓(xùn)練的 BERT 模型開始,第一步是準(zhǔn)備數(shù)據(jù)集。對(duì)于培訓(xùn)數(shù)據(jù)集中的每個(gè)單詞,目標(biāo)是預(yù)測以下內(nèi)容:
單詞后面的標(biāo)點(diǎn)符號(hào)。
這個(gè)詞是否應(yīng)該大寫。
數(shù)據(jù)集準(zhǔn)備就緒后,下一步是通過運(yùn)行先前提供的腳本進(jìn)行培訓(xùn)。完成培訓(xùn)并達(dá)到所需的最終精度后,使用附帶的腳本為 NVIDIA Triton 創(chuàng)建模型存儲(chǔ)庫。
NVIDIA Riva Speech Skills 文檔包含有關(guān)如何訓(xùn)練或微調(diào)其他模型的更多詳細(xì)信息。這篇文章只展示了使用 TAO 工具包進(jìn)行定制的眾多可能性中的一種。
在 Riva 中部署模型
Riva 是為大規(guī)模對(duì)話 AI 而設(shè)計(jì)的。為了幫助您在不同的服務(wù)器上高效、可靠地為模型提供服務(wù), NVIDIA 使用 Helm 圖表提供了按鈕式模型部署(圖 5 )。

圖 5 。通過修改可用的舵圖,可以在 Riva 中部署模型
NGC catalog 中提供的舵圖配置可以針對(duì)自定義用例進(jìn)行修改。您可以更改與要部署的模型、存儲(chǔ)它們的位置以及如何公開服務(wù)相關(guān)的設(shè)置。
結(jié)論
Riva 是 NVIDIA Developer Program 成員的公開測試版。對(duì)于您的實(shí)時(shí)轉(zhuǎn)錄、虛擬助理或自定義語音實(shí)現(xiàn), Riva 將支持您的開發(fā)。如果您正在大規(guī)模部署, Riva Enterprise 將為您大規(guī)模部署,并包括 AI 專家的支持。
關(guān)于作者
Davide Onofrio 是 NVIDIA 的高級(jí)深度學(xué)習(xí)軟件技術(shù)營銷工程師。他在 NVIDIA 專注于深度學(xué)習(xí)技術(shù)開發(fā)人員關(guān)注內(nèi)容的開發(fā)和演示。戴維德在生物特征識(shí)別、虛擬現(xiàn)實(shí)和汽車行業(yè)擔(dān)任計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)工程師已有多年經(jīng)驗(yàn)。他的教育背景包括米蘭理工學(xué)院的信號(hào)處理博士學(xué)位。
Vinh Nguyen 是一位深度學(xué)習(xí)的工程師和數(shù)據(jù)科學(xué)家,發(fā)表了 50 多篇科學(xué)文章,引文超過 2500 篇。在 NVIDIA ,他的工作涉及廣泛的深度學(xué)習(xí)和人工智能應(yīng)用,包括語音、語言和視覺處理以及推薦系統(tǒng)。
Siddharth Sharma 是NVIDIA 加速計(jì)算的高級(jí)技術(shù)營銷經(jīng)理。在加入NVIDIA 之前, Siddharth 是 Mathworks Simulink 和 Stateflow 的產(chǎn)品營銷經(jīng)理,與汽車和航空航天公司密切合作,采用基于模型的設(shè)計(jì)來創(chuàng)建控制軟件。
Alex Qi 是英偉達(dá) AI 軟件集團(tuán)的產(chǎn)品經(jīng)理。她的重點(diǎn)是對(duì)話 AI 框架( Riva )和多媒體流 AI / ML ( Maxine )的 AI 軟件和應(yīng)用程序。在加入 NVIDIA 之前,她在領(lǐng)導(dǎo)技術(shù)和工程組織中各種角色的具有挑戰(zhàn)性的技術(shù)項(xiàng)目方面擁有豐富的經(jīng)驗(yàn),如數(shù)據(jù)科學(xué)家、計(jì)算建模和設(shè)計(jì)工程。 Alex 擁有麻省理工學(xué)院的雙學(xué)位碩士學(xué)位:麻省理工學(xué)院斯隆管理學(xué)院的 MBA 學(xué)位,以及工程機(jī)械工程學(xué)院的理學(xué)碩士學(xué)位,她在該學(xué)院主要研究機(jī)器人技術(shù)和人工智能。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5706瀏覽量
110154 -
服務(wù)器
+關(guān)注
關(guān)注
14文章
10386瀏覽量
91785 -
人工智能
+關(guān)注
關(guān)注
1821文章
50393瀏覽量
267169
發(fā)布評(píng)論請(qǐng)先 登錄
NVIDIA與Google Cloud攜手推進(jìn)代理式與物理AI發(fā)展
NVIDIA向Kubernetes社區(qū)捐贈(zèng)動(dòng)態(tài)資源分配GPU驅(qū)動(dòng)程序
Oracle和NVIDIA合作加速向量搜索和企業(yè)數(shù)據(jù)處理
NVIDIA攜手全球工業(yè)軟件巨頭構(gòu)建AI智能體加速設(shè)計(jì)與工程開發(fā)流程
NVIDIA加速計(jì)算平臺(tái)助力從地球到太空的AI應(yīng)用
NVIDIA RTX PRO 5000 Blackwell GPU的深度評(píng)測
利用NVIDIA Cosmos開放世界基礎(chǔ)模型加速物理AI開發(fā)
NVIDIA RTX PRO 2000 Blackwell GPU性能測試
NVIDIA Isaac Lab多GPU多節(jié)點(diǎn)訓(xùn)練指南
NVIDIA Riva用于AI應(yīng)用程序的GPU加速SDK
評(píng)論