0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用NVIDIA Riva构建语音支持的人工智能虚拟助手

星星科技指导员 来源:NVIDIA 作者:NVIDIA 2022-10-10 15:30 次阅读

语音 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 SDK 的工作原理

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 实例, 创建密钥对 。

对于密钥对类型选择RSA 公司

对于私钥文件格式选择ppk 公司与腻子一起使用,取决于您计划如何使用 连接到实例 。

创建密钥对后,会将文件下载到本地计算机。在连接到 EC2 实例的后续步骤中,您需要此文件。

网络设置 使您能够控制进出实例的流量。选择创建安全组并检查规则允许 SSH 通信来自:任何地方。在未来的任何时候,都可以根据个人安全偏好进行定制。

最后,配置存储。在本例中,通用 SSD 上的 100 GiB 应该足够了。

现在,您可以启动实例了。如果成功,您的屏幕应该如图 1 所示。

pYYBAGNDyhSAcATcAACbu8vKt9o715.png

图 1.启动实例后的成功消息

连接到实例

几分钟后实例在侧栏上,您将看到正在运行的实例具有公共 IPv4 DNS 。将此地址放在手边,因为它用于使用 SSH 连接到实例。每次您访问时,此地址都会更改 启动和停止 EC2 实例 。

有很多方法可以 连接到 EC2 实例 。此帖子使用 PuTTY SSH client 从头开始启动会话,并将隧道系统创建到实例中 。

您可以开始使用由 NVIDIA GPU 供电的 Amazon EC2 实例。

pYYBAGNDyhaAX1-4AANva5VUUL0354.png

图 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 )。

poYBAGNDyheAA2SAAAIOxC1uyHE340.png

图 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

pYYBAGNDyheAPgw2AAD4O9fU34s444.png

图 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。此网页打开天气聊天机器人

poYBAGNDyhiAM_j9AADskIArvqE530.png

图 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

    文章

    4598

    浏览量

    101763
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4426

    浏览量

    126741
  • AI
    AI
    +关注

    关注

    87

    文章

    26485

    浏览量

    264110
收藏 人收藏

    评论

    相关推荐

    人工智能技术—AI

    助手,其实它们都是根据搜索引擎的检索结果来回答人们提问的问题的,所以它们只能还是算是一个程序,并不具备思维的能力,因此还是谈不上智能两个字,所以未来人类的人工智能技术要走的路还是很远很远。UNSC
    发表于 10-21 12:03

    人工智能电视十宗罪 语音识别不准 全家人的千人千面有难度

    准的交互及个性化内容推荐”。从这个定义可以看出,人工智能电视需要的算法、硬件、技术等都需要时间的积累,这么短的时间出现这么多的人工智能电视肯定有不少问题。 [img][/img]   1、仍停留在语音
    发表于 08-10 09:19

    语音人工智能AI耳机,或将引爆智能耳机市场

    先进的人工智能技术的支持,DACOM成功地将AI科技与无线蓝牙耳机相互结合,研发出一款可以全语音交互对话及出行导航线路规划等一站式人工智能蓝牙耳机,成为
    发表于 11-02 11:55

    解读人工智能的未来

    被称为狭义人工智能,因为它只能做一件特定的事情。狭义AI是构建AGI的第一步吗?许多对AGI感到困惑的人认为目前研发人员应该正在用同样的技术把这些分散的狭义AI拼凑起来。有趣的是,关于自动化
    发表于 11-14 10:43

    人工智能:超越炒作

    工厂的产量。GE的无人机和基于机器人的工业检测服务,Rolls-Royce®物联网支持的飞机发动机维护服务和Duplex的AI语音是证明迈向人工智能的另一个例子。现在,这对未来意味着什么?事实是,即使
    发表于 05-29 10:46

    什么是基于云计算的人工智能服务?

    如今,采用人工智能的企业遇到了一个主要障碍,那就是在内部开发人工智能产品成本高昂,因此有了外包人工智能产品的需求。而对于从中小企业到预算受限的大型企业来说,通过云计算来采用人工智能的成
    发表于 09-11 11:51

    人工智能语音芯片行业的发展趋势如何?

    人工智能是近三年来最受关注的核心基础技术,将深刻的改造各个传统行业。人工智能在图像识别、语音识别领域的应用自2017年来高速发展,是人工智能最热点的两项落地应用。手把手教你设计
    发表于 09-11 11:52

    如何构建人工智能的未来?

    创建Kynisys平台:我们如何构建人工智能(AI)的未来?
    发表于 03-03 07:06

    路径规划用到的人工智能技术

    路径规划用到的人工智能技术二 人工智能编程语言/数据结构与算法三 人工智能基础原理四 智能信息获取(简称爬虫) 与数据分析1、发起请求3、解析内容4、保存数据二、Requests库介绍
    发表于 07-20 06:53

    人工智能芯片是人工智能发展的

    人工智能芯片是人工智能发展的 | 特伦斯谢诺夫斯基责编 | 屠敏本文内容经授权摘自《深度学习 智能时代的核心驱动力量》从AlphaGo的人机对战,到无人驾驶汽车的上路,再到AI合成主播
    发表于 07-27 07:02

    Arm Neoverse NVIDIA Grace CPU 超级芯片:为人工智能的未来设定步伐

    CPU 还标志着 NVIDIA 第一款基于 Armv9 的芯片,因此将能够利用许多下一代功能。最后,新产品大大推动了提高互连性能的努力。无处不在的人工智能蓝图过去十年是关于人工智能可以完成的事情
    发表于 03-29 14:40

    《移动终端人工智能技术与应用开发》人工智能的发展与AI技术的进步

    ,随机森林,K-均值算法,支持向量机和人工神经网络等等。在应用方面表现也异常突出,目前89%的人工智能专利申请和40%人工智能范围相关专利都属于机器学习的范畴,可见机器学习的时代化进程
    发表于 02-17 11:00

    最强大的人工智能系统 | NVIDIA DGX-2

    NVIDIA® DGX™ 软件和基于 NVIDIA NVSwitch 技术构建的可扩展架构,可以帮您应对众多复杂的人工智能挑战.
    的头像 发表于 03-27 16:39 4053次阅读

    NVIDIA Riva 2.0的功能亮点有哪些

    NVIDIA Riva 可提供经过全面优化的流程,用于部署实时 AI 语音应用(例如转录和虚拟助理)。
    的头像 发表于 06-24 15:33 797次阅读

    身边的人工智能有哪些

    身边的人工智能有哪些  身边的人工智能应用已经渗透到了我们日常生活的方方面面。从智能手机中的语音助手
    的头像 发表于 12-07 16:32 2344次阅读