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