語音 AI 可以在聯(lián)絡(luò)中心協(xié)助人類代理,為虛擬助理和數(shù)字化身供電,在視頻會(huì)議中生成實(shí)時(shí)字幕,等等。在后臺(tái),這些基于語音的技術(shù)協(xié)調(diào)了自動(dòng)語音識(shí)別( ASR )和文本到語音( TTS )管道網(wǎng)絡(luò),以提供智能、實(shí)時(shí)的響應(yīng)。
從頭開始構(gòu)建這些實(shí)時(shí)語音人工智能應(yīng)用程序并非易事。從建立 GPU 優(yōu)化的開發(fā)環(huán)境到在 300 毫秒內(nèi)使用定制的基于大型 transformer 的語言模型部署語音 AI 推理,語音 AI 管道需要專門的時(shí)間、專業(yè)知識(shí)和投資。
在這篇文章中,我們將介紹如何通過使用 NVIDIA Riva 運(yùn)行 GPU 優(yōu)化的應(yīng)用程序。在沒有先驗(yàn)知識(shí)或經(jīng)驗(yàn)的情況下,您將學(xué)習(xí)如何快速配置 GPU 優(yōu)化的開發(fā)環(huán)境,并使用 Jupyter 筆記本運(yùn)行 NVIDIA Riva ASR 和 TTS 示例。跟隨之后 虛擬助手演示 可以在 Amazon EC2 上由 NVIDIA GPU 支持的 web 瀏覽器上運(yùn)行。
除了分步指南外,我們還為您提供了幫助擴(kuò)展知識(shí)的資源,以便您可以繼續(xù)構(gòu)建和部署具有 NVIDIA 支持的強(qiáng)大語音 AI 應(yīng)用程序。
Riva 如何簡(jiǎn)化語音人工智能?
Riva 是一個(gè) GPU 加速的 SDK ,用于構(gòu)建實(shí)時(shí)語音 AI 應(yīng)用程序。它可以幫助您快速構(gòu)建智能語音應(yīng)用程序,例如 AI 虛擬助理。
通過使用強(qiáng)大的優(yōu)化 NVIDIA TensorRT 和 NVIDIA Triton , Riva 可以構(gòu)建和部署可定制、預(yù)訓(xùn)練、開箱即用的模型,這些模型可以在不到 300 毫秒的時(shí)間內(nèi)交付交互式客戶端響應(yīng),與 CPU 相比, NVIDIA CPU 的吞吐量高出 7 倍。
最先進(jìn)的 Riva 語音模型已經(jīng)在數(shù)千小時(shí)的音頻數(shù)據(jù)上訓(xùn)練了數(shù)百萬小時(shí)。當(dāng)您在平臺(tái)上部署 Riva 時(shí),這些模型可以立即使用。
Riva 還可以用于在 NVIDIA GPU 的任何地方開發(fā)和部署語音人工智能應(yīng)用程序:本地、嵌入式設(shè)備、任何公共云或邊緣。
以下是在 AWS 上開始使用 Riva 的步驟。
運(yùn)行 Riva ASR 和 TTS 示例啟動(dòng)虛擬助手
如果 AWS 是您開發(fā)和部署工作負(fù)載的地方,那么您已經(jīng)可以訪問構(gòu)建語音 AI 應(yīng)用程序所需的所有需求。有了 NVIDIA GPU 驅(qū)動(dòng)的 Amazon EC2 實(shí)例的廣泛組合,再加上像 Riva 這樣的 GPU 優(yōu)化軟件,您可以加速語音 AI 管道的每一步。
在 NVIDIA GPU 供電的 Amazon EC2 實(shí)例上使用 Riva 有四個(gè)簡(jiǎn)單步驟:
使用 NVIDIA GPU 優(yōu)化的 AMI 啟動(dòng) Amazon EC2 實(shí)例。
將 Riva 容器從 NGC 目錄 。
使用 Jupyter 筆記本運(yùn)行 Riva ASR 和 TTS Hello World示例。
啟動(dòng)智能虛擬助手應(yīng)用程序。
接下來,請(qǐng)確保您有一個(gè) AWS 帳戶,可以訪問 NVIDIA GPU 供電的實(shí)例(例如, Amazon EC2 G和P實(shí)例類型,例如 NVIDIA A100 的 P4d 實(shí)例 GPU 和 NVIDIA T4 GPU 的 G4dn 實(shí)例 )。
步驟 1 :使用 NVIDIA GPU 優(yōu)化的 AMI 啟動(dòng) EC2 實(shí)例
在本文中,您使用 NVIDIA GPU 優(yōu)化 AMI 可在 AWS 市場(chǎng)上獲得。它預(yù)先配置了 NVIDIA GPU 驅(qū)動(dòng)程序、 CUDA 、 Docker toolkit 、運(yùn)行時(shí)和其他依賴項(xiàng)。它還為您構(gòu)建語音 AI 應(yīng)用程序提供了一個(gè)標(biāo)準(zhǔn)化堆棧。該 AMI 由 NVIDIA 每季度進(jìn)行驗(yàn)證和更新,提供最新的驅(qū)動(dòng)程序、安全補(bǔ)丁和對(duì)最新 GPU 的支持,以最大限度地提高性能。
選擇實(shí)例類型
在 AWS 管理控制臺(tái)中, 從 AWS 市場(chǎng)啟動(dòng)實(shí)例 ,使用 NVIDIA GPU 優(yōu)化 AMI.
可用的實(shí)例類型可能因地區(qū)而異。有關(guān)為用例選擇適當(dāng)實(shí)例類型的更多信息,請(qǐng)參閱 選擇正確的 GPU 進(jìn)行 AWS 深度學(xué)習(xí) 。
我們建議使用 NVIDIA A100 GPU ( P4d 實(shí)例)以獲得最佳的規(guī)模性能,但在本指南中 A10G 單 – GPU 實(shí)例 ( g5.xlarge 實(shí)例)由 NVIDIA Ampere 架構(gòu) 很好。
對(duì)于更多的預(yù)處理或后處理步驟,請(qǐng)考慮使用相同的單個(gè) GPU 、更多 v CPU 和更高的系統(tǒng)內(nèi)存的更大尺寸,或者考慮利用 8x NVIDIA A100 GPU 的 P4d 實(shí)例。
配置實(shí)例
要安全地連接到 EC2 實(shí)例, 創(chuàng)建密鑰對(duì) 。
對(duì)于私鑰文件格式選擇ppk 公司與膩?zhàn)右黄鹗褂?,取決于您計(jì)劃如何使用 連接到實(shí)例 。
創(chuàng)建密鑰對(duì)后,會(huì)將文件下載到本地計(jì)算機(jī)。在連接到 EC2 實(shí)例的后續(xù)步驟中,您需要此文件。
網(wǎng)絡(luò)設(shè)置 使您能夠控制進(jìn)出實(shí)例的流量。選擇創(chuàng)建安全組并檢查規(guī)則允許 SSH 通信來自:任何地方。在未來的任何時(shí)候,都可以根據(jù)個(gè)人安全偏好進(jìn)行定制。
最后,配置存儲(chǔ)。在本例中,通用 SSD 上的 100 GiB 應(yīng)該足夠了。
現(xiàn)在,您可以啟動(dòng)實(shí)例了。如果成功,您的屏幕應(yīng)該如圖 1 所示。
圖 1.啟動(dòng)實(shí)例后的成功消息
連接到實(shí)例
幾分鐘后實(shí)例在側(cè)欄上,您將看到正在運(yùn)行的實(shí)例具有公共 IPv4 DNS 。將此地址放在手邊,因?yàn)樗糜谑褂?SSH 連接到實(shí)例。每次您訪問時(shí),此地址都會(huì)更改 啟動(dòng)和停止 EC2 實(shí)例 。
有很多方法可以 連接到 EC2 實(shí)例 。此帖子使用 PuTTY SSH client 從頭開始啟動(dòng)會(huì)話,并將隧道系統(tǒng)創(chuàng)建到實(shí)例中 。
您可以開始使用由 NVIDIA GPU 供電的 Amazon EC2 實(shí)例。
圖 2.EC2 實(shí)例上 NVIDIA GPU 優(yōu)化 AMI 的啟動(dòng)屏幕
使用用戶名ubuntu登錄,并確保您運(yùn)行了正確的 NVIDIA GPU :
nvidia-smi
步驟 2 :從 NGC 目錄中拉出 Riva 容器
要從終端訪問 Riva ,首先 創(chuàng)建免費(fèi) NGC 帳戶 這個(gè) NGC 目錄 是所有 GPU 優(yōu)化軟件、容器、預(yù)訓(xùn)練人工智能模型、 SDK 、 Helm 圖表和其他有用人工智能工具的一站式商店。通過注冊(cè),您可以訪問完整的 NVIDIA 套件,每月更新 GPU 優(yōu)化的框架和培訓(xùn)工具,以便您可以立即構(gòu)建您的人工智能應(yīng)用程序。
創(chuàng)建帳戶后, 生成 NGC API 密鑰 。將生成的 API 密鑰放在手邊。
現(xiàn)在,您可以通過執(zhí)行以下命令來配置 NGC CLI (預(yù)裝有 NVIDIA GPU 優(yōu)化的 AMI ):
ngc config set
輸入前面的 NGC API 密鑰,確保 CLI 輸出為ASCII 或JSON,并使用Choices遵循說明 命令行的部分。
配置后,在 Riva 技能快速入門 第頁,通過選擇右上角的Download復(fù)制下載命令。在 PuTTY 終端中運(yùn)行該命令。這將啟動(dòng) Riva 快速啟動(dòng)資源以下載到 EC2 Linux 實(shí)例上。
初始化 Riva
下載完成后,您就可以初始化并啟動(dòng) Riva 了。
默認(rèn)設(shè)置將在 Riva 啟動(dòng)過程中準(zhǔn)備所有基礎(chǔ)預(yù)訓(xùn)練模型,這可能需要幾個(gè)小時(shí),具體取決于您的互聯(lián)網(wǎng)速度。但是,您可以使用首選配置修改/quickstart目錄中的config.sh文件,圍繞從 NGC 檢索的模型子集來加快此過程。
在該文件中,如果系統(tǒng)上安裝了多個(gè) GPU ,您還可以調(diào)整存儲(chǔ)位置并指定要使用的 GPU 。此帖子使用默認(rèn)配置設(shè)置。您下載的 Riva 快速啟動(dòng)的版本號(hào)( vX.Y.Z )用于運(yùn)行以下命令( v2.3.0 是本文中使用的版本號(hào))。
cd riva_quickstart_v2.3.0
bash riva_init.sh
bash riva_start.sh
Riva is now running on your virtual machine. To familiarize yourself with Riva, run the Hello World 接下來是示例。
步驟 3 :運(yùn)行 Riva ASR 和 TTS Hello World 示例
中提供了大量教程 / NVIDIA riva GitHub 回購。 TTS 和 ASR Python 基礎(chǔ)筆記本探索了如何使用 Riva API 。
在開始之前,您必須克隆 GitHub repo ,設(shè)置 Python 虛擬環(huán)境,并通過在/riva_quickstart_v2.3.0目錄中運(yùn)行以下命令在您的機(jī)器上安裝 Jupyter :
git clone https://github.com/nvidia-riva/tutorials.git
安裝并創(chuàng)建名為venv-riva-tutorials的 Python 虛擬環(huán)境。
sudo apt install python3-venv
python3 -m venv venv-riva-tutorials
.venv-riva-tutorials/bin/activate
激活虛擬環(huán)境后,安裝 Riva API 和 Jupyter 。在/riva_quickstart_v2.3.0中創(chuàng)建 I Python 內(nèi)核 directory.
pip3 install riva_api-2.3.0-py3-none-any.whl
pip3 install nvidia-riva-client
pip3 install jupyter
ipython kernel install --user --name=venv-riva-tutorials
運(yùn)行一些簡(jiǎn)單的 Hello World 例如,打開/tutorials 使用以下命令對(duì) Jupyter 筆記本進(jìn)行目錄設(shè)置并啟動(dòng):
cd tutorials
jupyter notebook --generate-config
jupyter notebook --ip=0.0.0.0 --allow-root
由 GPU 供電的 Jupyter 筆記本現(xiàn)在正在運(yùn)行,可以通過網(wǎng)絡(luò)訪問。復(fù)制并粘貼終端上顯示的 URL 之一,以開始與 GitHub 教程交互。
在瀏覽器上打開tts-python-basics.ipynb和asr-python-basics.ipynb腳本,并通過選擇信任筆記本不受信任在屏幕右上角。要選擇venv-riva-tutorials內(nèi)核,請(qǐng)選擇內(nèi)核,更改內(nèi)核。
現(xiàn)在,您可以通過筆記本運(yùn)行第一個(gè)Hello World Riva API 調(diào)用使用現(xiàn)成模型(圖 3 )。
圖 3.Hello World Riva API 筆記本示例
探索其他筆記本電腦,以利用更先進(jìn)的 Riva 定制功能,如文字增強(qiáng)、更新詞匯、 TAO 微調(diào)等。按 Ctrl + C 可以退出 Jupyter 在 PuTTY 終端上,使用deactivate命令退出虛擬環(huán)境。
第 4 步:?jiǎn)?dòng)智能虛擬助手
現(xiàn)在,您已經(jīng)熟悉了 Riva 的操作方式,可以探索如何將其應(yīng)用于中的智能虛擬助手 / NVIDIA riva /示例應(yīng)用程序 github 回購。
要在瀏覽器上啟動(dòng)此應(yīng)用程序,請(qǐng)?jiān)?riva_quickstart_v2.3.0目錄中運(yùn)行以下命令:
git clone https://github.com/nvidia-riva/sample-apps.git
創(chuàng)建 Python 虛擬環(huán)境,并安裝必要的依賴項(xiàng):
python3 -m venv apps-env
。 apps-env/bin/activate
pip3 install riva_api-2.3.0-py3-none-any.whl
pip3 install nvidia-riva-client
cd sample-apps/virtual-assistant
pip3 install -U pip
pip3 install -r requirements.txt
在運(yùn)行演示之前,必須更新 Virtual Assistant 目錄中的config.py文件。 Vim 公司 是一個(gè)可用于修改文件的文本編輯器:
vim config.py
圖 4.編輯虛擬助手應(yīng)用程序的配置。 py 文件
確保PORT client_config中的變量 設(shè)置為8888和RIVA_SPEECH_API_URL 值設(shè)置為localhost:50051。
要允許虛擬助手訪問實(shí)時(shí)天氣數(shù)據(jù),請(qǐng)注冊(cè)免費(fèi)的 天氣堆棧 ,獲取 API 訪問密鑰,并在WEATHERSTACK ACCESS KEY下插入鍵值 和riva_config。
現(xiàn)在,您可以部署應(yīng)用程序了!
部署助手
Run python3 main.py 然后轉(zhuǎn)到以下 URL :https://localhost:8888/rivaWeather。此網(wǎng)頁打開天氣聊天機(jī)器人。
圖 5. NVIDIA Riva 驅(qū)動(dòng)的智能虛擬助手
祝賀
您已經(jīng)使用 NVIDIA GPU 優(yōu)化的 AMI 啟動(dòng)了由 NVIDIA GPU 供電的 Amazon EC2 實(shí)例,從 NGC 下載了 Riva ,為 ASR 和 TTS 服務(wù)執(zhí)行了基本 Riva API 命令,并啟動(dòng)了智能虛擬助手!
通過在riva_quickstart_v2.3.0中執(zhí)行以下命令,可以隨時(shí)停止 Riva 目錄:
bash riva_stop.sh.
探索語音人工智能工具的資源
您可以訪問一些旨在幫助您學(xué)習(xí)如何構(gòu)建和部署語音人工智能應(yīng)用程序的資源:
這個(gè) / NVIDIA riva /教程 GitHub repo 包含從初級(jí)到高級(jí)的腳本,引導(dǎo)您完成 ASR 和 TTS 增強(qiáng),例如 ASR 單詞增強(qiáng)和調(diào)整 TTS 音高、速率和發(fā)音設(shè)置。
要構(gòu)建和自定義語音人工智能管道,您可以使用 NVIDIA 低代碼人工智能模型開發(fā) TAO 工具包 和 NeMo 應(yīng)用框架 對(duì)于那些喜歡在引擎蓋下進(jìn)行微調(diào)的完全可定制的 Riva ASR 和 TTS 管道的人。
最后,為了大規(guī)模部署語音人工智能應(yīng)用程序,您可以部署 Riva 一 Amazon EKS 并設(shè)置 使用 Kubernetes 的自動(dòng)縮放功能 。
Minerva CQ 是一個(gè)人工智能平臺(tái),用于在聯(lián)絡(luò)中心提供代理協(xié)助 已部署 Riva 在 AWS 上,以及他們自己的自然語言和意圖模型,在電動(dòng)汽車市場(chǎng)上提供獨(dú)特和提升的客戶支持體驗(yàn)。
“使用 NVIDIA Riva 在 Minerva CQ 平臺(tái)上處理自動(dòng)語音識(shí)別( ASR )已經(jīng)很成功。性能基準(zhǔn)測(cè)試非常出色, SDK 易于使用,并可根據(jù)我們的需要進(jìn)行高度定制。“密涅瓦 CQ 首席執(zhí)行官科西莫·斯佩拉
關(guān)于作者
Rohil Bhargava 是 NVIDIA 的產(chǎn)品營銷經(jīng)理,專注于在特定 CSP 平臺(tái)上部署 NVIDIA 應(yīng)用程序框架和 SDK 。
Uttara Kumar 是 NVIDIA 的高級(jí)產(chǎn)品營銷經(jīng)理,專注于 GPU - 云計(jì)算中的人工智能加速應(yīng)用。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5068瀏覽量
103463 -
gpu
+關(guān)注
關(guān)注
28文章
4766瀏覽量
129185 -
AI
+關(guān)注
關(guān)注
87文章
31396瀏覽量
269787
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論