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

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

3天内不再提示

NVIDIA Riva用于AI应用程序的GPU加速SDK

星星科技指导员 来源:NVIDIA 作者:NVIDIA 2022-04-02 10:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

语音人工智能用于各种应用,包括授权人工智能的呼叫中心、虚拟助理的语音接口以及视频会议中的实时字幕。语音人工智能包括自动语音识别( ASR )和文本语音转换( TTS )。 ASR 管道接收原始音频并将其转换为文本, TTS 管道接收文本并将其转换为音频。

开发和运行这些实时语音人工智能服务是一项复杂而艰巨的任务。构建语音 AI 应用程序需要数十万小时的音频数据、基于特定用例构建和自定义模型的工具,以及可扩展的部署支持。它还意味着实时运行,与用户进行自然交互的时间远低于 300 毫秒。 NVIDIA Riva 简化了开发语音 AI 服务的端到端流程,并为类人交互提供实时性能。

Riva SDK

NVIDIA Riva 是用于开发语音 AI 应用程序的 GPU 加速 SDK 。 Riva 旨在帮助您轻松快速地访问对话 AI 功能。只需几个命令,您就可以通过 API 操作访问高性能服务并尝试演示。

Diagram shows workflow starting from pretrained models in NGC, TAO toolkit for retraining the models and Riva for optimized speech AI skills to generate high-performance inference.

图 1 . Riva 构建语音应用程序的工作流

Riva SDK 包括 pretrained speech and language models 、 NVIDIA TAO Toolkit ,用于在自定义数据集上微调这些模型,以及用于语音识别、语言理解和语音合成的优化端到端技能。

使用 Riva ,您可以轻松地对数据上的最新模型进行微调,以更深入地了解其特定上下文。优化推理以提供运行时间为 150 毫秒( ms )的实时服务,而在 CPU 纯平台上需要 25 秒。

特定于任务的 AI 服务和 gRPC 端点提供现成的高性能 ASR 、 NLP 和 TTS 。所有这些人工智能服务都经过数千小时的公共和内部数据集培训,以达到高精度。您可以开始使用预训练的模型,或者使用自己的数据集对其进行微调,以进一步提高模型性能。

Riva 使用 NVIDIA Triton Inference Server 为多个模型提供服务,以实现高效、稳健的资源分配,并在高吞吐量、低延迟和高精度方面实现高性能。

Riva 技能概述

Riva 为实时转录和虚拟助理等用例提供高度优化的语音识别和语音合成服务。语音识别技能在各种真实世界、特定领域的数据集上进行培训和评估。它包括来自电信、播客和医疗保健的词汇,以在生产用例中提供世界级的准确性。

与 NVIDIA V100 GPU 上的 Tacotron 2 和 WaveGlow 模型相比, Riva 文本到语音或语音合成技能可生成类似人类的语音,并使用非自回归模型在 NVIDIA A100 GPU 上提供 12 倍的性能。此外,该服务使您能够为每个品牌和虚拟助理创建一个自然定制的声音,每天 30 分钟的演员数据。

Diagram shows capabilities in Riva Speech Recognition and Speech Synthesis services such as support for both batch and streaming mode, multiple sampling rates (8,16,22,32, 44, 48 kHz), and models such as Jasper, QuartzNet, CitriNet, Tacotron2, WaveGlow, Fastpitch, and HiFiGAN.

图 2 . Riva 服务能力

为了充分利用 GPU 的计算能力, Riva 基于 NVIDIA Triton 推理服务器,为神经网络和集成管道提供服务,以便与 NVIDIA TensorRT 高效运行。

Riva 服务通过 gRPC 端点可访问的 API 操作公开,这些操作隐藏了所有复杂性。图 3 显示了系统的服务器端。 gRPC API 操作由运行在 Docker 容器中的 API 服务器公开。他们负责处理所有语音和 NLP 传入和传出数据。

Diagram shows the Riva client applications such as desktop, mobile, and laptop interactions with Riva speech recognition and speech synthesis pipelines.

图 3 . Riva 服务管线

API 服务器向 NVIDIA Triton 发送推断请求并接收结果。

NVIDIA Triton 是后端服务器,可同时处理多个 GPU 上的多个神经网络或集成管道的多个推理请求。

对于会话 AI 应用程序,将延迟保持在给定阈值以下至关重要。这种延迟要求转化为推断请求一到达就执行。要使 GPU 饱和并提高性能,必须增加批大小并延迟推理执行,直到收到更多请求并形成更大的批。

NVIDIA Triton 还负责在一个请求和另一个请求之间切换网络的上下文。

Riva 可以通过从 NGC 下载适当的模型和容器的简单脚本直接安装在裸机上,也可以通过 Helm chart 将其部署在 Kubernetes 上。

下面简要介绍一下如何与 Python 交互。 Riva 接口通过简单的 Python API 操作,使客户端与 Riva 服务器的通信更加容易。例如,下面介绍如何通过三个步骤创建对现有 TTS Riva 服务的请求。

首先,导入 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

接下来,创建到 Riva 端点的 gRPC 通道:

channel = grpc.insecure_channel('localhost:50051')
riva_tts = rtts_srv.RivaSpeechSynthesisStub(channel)

然后,创建一个 TTS 请求:

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)

使用数据自定义模型

使用 NVIDIA TAO Toolkit ,您可以在 Riva 中使用定制的训练模型(图 4 )。 NVIDIA TAO Toolkit 是一种无编码工具,用于在特定于域的数据集上微调模型。

图 4 。 NVIDIA TAO 工具包管道

例如,要进一步提高 ASR 转录文本的易读性和准确性,请向 ASR 系统添加自定义标点符号和大小写模型,以生成没有这些特征的文本。

从预训练的 BERT 模型开始,第一步是准备数据集。对于培训数据集中的每个单词,目标是预测以下内容:

单词后面的标点符号。

这个词是否应该大写。

数据集准备就绪后,下一步是通过运行先前提供的脚本进行培训。完成培训并达到所需的最终精度后,使用附带的脚本为 NVIDIA Triton 创建模型存储库。

NVIDIA Riva Speech Skills 文档包含有关如何训练或微调其他模型的更多详细信息。这篇文章只展示了使用 TAO 工具包进行定制的众多可能性中的一种。

在 Riva 中部署模型

Riva 是为大规模对话 AI 而设计的。为了帮助您在不同的服务器上高效、可靠地为模型提供服务, NVIDIA 使用 Helm 图表提供了按钮式模型部署(图 5 )。

Diagram shows the workflow for deploying TAO model as a Riva skill and highlights the TensorRT optimizations and Triton Inference Server under the hood.

图 5 。通过修改可用的舵图,可以在 Riva 中部署模型

NGC catalog 中提供的舵图配置可以针对自定义用例进行修改。您可以更改与要部署的模型、存储它们的位置以及如何公开服务相关的设置。

结论

Riva 是 NVIDIA Developer Program 成员的公开测试版。对于您的实时转录、虚拟助理或自定义语音实现, Riva 将支持您的开发。如果您正在大规模部署, Riva Enterprise 将为您大规模部署,并包括 AI 专家的支持。

关于作者

Davide Onofrio 是 NVIDIA 的高级深度学习软件技术营销工程师。他在 NVIDIA 专注于深度学习技术开发人员关注内容的开发和演示。戴维德在生物特征识别、虚拟现实和汽车行业担任计算机视觉机器学习工程师已有多年经验。他的教育背景包括米兰理工学院的信号处理博士学位。

Vinh Nguyen 是一位深度学习的工程师和数据科学家,发表了 50 多篇科学文章,引文超过 2500 篇。在 NVIDIA ,他的工作涉及广泛的深度学习和人工智能应用,包括语音、语言和视觉处理以及推荐系统。

Siddharth Sharma 是NVIDIA 加速计算的高级技术营销经理。在加入NVIDIA 之前, Siddharth 是 Mathworks Simulink 和 Stateflow 的产品营销经理,与汽车和航空航天公司密切合作,采用基于模型的设计来创建控制软件。

Alex Qi 是英伟达 AI 软件集团的产品经理。她的重点是对话 AI 框架( Riva )和多媒体流 AI / ML ( Maxine )的 AI 软件和应用程序。在加入 NVIDIA 之前,她在领导技术和工程组织中各种角色的具有挑战性的技术项目方面拥有丰富的经验,如数据科学家、计算建模和设计工程。 Alex 拥有麻省理工学院的双学位硕士学位:麻省理工学院斯隆管理学院的 MBA 学位,以及工程机械工程学院的理学硕士学位,她在该学院主要研究机器人技术和人工智能。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    5496

    浏览量

    109091
  • 服务器
    +关注

    关注

    13

    文章

    10094

    浏览量

    90883
  • 人工智能
    +关注

    关注

    1813

    文章

    49734

    浏览量

    261523
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    利用NVIDIA Cosmos开放世界基础模型加速物理AI开发

    NVIDIA 最近发布了 NVIDIA Cosmos 开放世界基础模型(WFM)的更新,旨在加速物理 AI 模型的测试与验证数据生成。借助 NVID
    的头像 发表于 12-01 09:25 489次阅读

    NVIDIA RTX PRO 2000 Blackwell GPU性能测试

    越来越多的应用正在使用 AI 加速,而无论工作站的大小或形态如何,都有越来越多的用户需要 AI 性能。NVIDIA RTX PRO 2000 Blackwell 是全新
    的头像 发表于 11-28 09:39 3648次阅读
    <b class='flag-5'>NVIDIA</b> RTX PRO 2000 Blackwell <b class='flag-5'>GPU</b>性能测试

    NVIDIA Isaac Lab多GPU多节点训练指南

    NVIDIA Isaac Lab 是一个适用于机器人学习的开源统一框架,基于 NVIDIA Isaac Sim 开发,其模块化高保真仿真适用于各种训练环境,可提供各种物理
    的头像 发表于 09-23 17:15 1976次阅读
    <b class='flag-5'>NVIDIA</b> Isaac Lab多<b class='flag-5'>GPU</b>多节点训练指南

    NVIDIA Jetson + Isaac SDK 在人形机器人领域的方案详解

    组件 描述 硬件平台(Jetson系列) 面向边缘AI和机器人开发的SoC模块,搭载GPU + ARM CPU,支持多种传感器和AI模型部署 软件平台(Isaac SDK / Isa
    的头像 发表于 07-30 16:05 3128次阅读

    NVIDIA全栈加速代理式AI应用落地

    在近期举办的 AWS 中国峰会上,NVIDIA 聚焦于“NVIDIA 全栈加速代理式 AI 应用落地”,深入探讨了代理式 AI (Agent
    的头像 发表于 07-14 11:41 1059次阅读

    NVIDIA计划打造全球首个工业AI云平台

    NVIDIA 宣布,其正在为欧洲制造商构建全球首个工业 AI 云。这家总部位于德国的 AI 工厂将配备 1 万个 GPU,包括通过 NVIDIA
    的头像 发表于 06-16 14:17 1081次阅读

    NVIDIA携手诺和诺德借助AI加速药物研发

    NVIDIA 宣布与诺和诺德开展合作,借助创新 AI 应用加速药物研发。此次合作也将支持诺和诺德与丹麦 AI 创新中心 (DCAI) 关于使用 Gefion
    的头像 发表于 06-12 15:49 975次阅读

    NVIDIA虚拟GPU 18.0版本的亮点

    NVIDIA 虚拟 GPU(vGPU)技术可在虚拟桌面基础设施(VDI)中解锁 AI 功能,使其比以往更加强大、用途更加广泛。vGPU 通过为各种虚拟化环境中的 AI 驱动工作负载提供
    的头像 发表于 04-07 11:28 1130次阅读

    使用NVIDIA RTX PRO Blackwell系列GPU加速AI开发

    NVIDIA GTC 推出新一代专业级 GPUAI 赋能的开发者工具—同时,ChatRTX 更新现已支持 NVIDIA NIM,RTX Remix 正式结束测试阶段,本月的
    的头像 发表于 03-28 09:59 1073次阅读

    英伟达GTC2025亮点:Oracle与NVIDIA合作助力企业加速代理式AI推理

    Oracle 数据库与 NVIDIA AI 相集成,使企业能够更轻松、快捷地采用代理式 AI Oracle 和 NVIDIA 宣布,NVIDIA
    的头像 发表于 03-21 12:01 1176次阅读
    英伟达GTC2025亮点:Oracle与<b class='flag-5'>NVIDIA</b>合作助力企业<b class='flag-5'>加速</b>代理式<b class='flag-5'>AI</b>推理

    Oracle 与 NVIDIA 合作助力企业加速代理式 AI 推理

    ——Oracle 和 NVIDIA 今日宣布,NVIDIA 加速计算和推理软件与 Oracle 的 AI 基础设施以及生成式 AI 服务首
    发表于 03-19 15:24 470次阅读
    Oracle 与 <b class='flag-5'>NVIDIA</b> 合作助力企业<b class='flag-5'>加速</b>代理式 <b class='flag-5'>AI</b> 推理

    基于HPM_SDK_ENV开发应用程序的升级处理

    基于HPM_SDK_ENV开发应用程序的方式HPM_SDK_ENV是先楫半导体MCU的Windows集成开发环境,其包含HPM_SDK,工具链,依赖工具(cmake,ninja,ope
    的头像 发表于 02-08 13:38 1439次阅读
    基于HPM_<b class='flag-5'>SDK</b>_ENV开发<b class='flag-5'>应用程序</b>的升级处理

    0xmd公司通过NVIDIA GPU打造医疗AI解决方案

    本案例中,0xmd 公司通过 NVIDIA GPU 打造医疗 AI 解决方案,覆盖影像分析和文本解读等领域。
    的头像 发表于 01-14 16:23 898次阅读

    NVIDIA和GeForce RTX GPU专为AI时代打造

    NVIDIA 和 GeForce RTX GPU 专为 AI 时代打造。
    的头像 发表于 01-06 10:45 1246次阅读

    《CST Studio Suite 2024 GPU加速计算指南》

    的各个方面,包括硬件支持、操作系统支持、许可证、GPU计算的启用、NVIDIA和AMD GPU的详细信息以及相关的使用指南和故障排除等内容。 1. 硬件支持 - NVIDIA
    发表于 12-16 14:25