NVIDIA NeMo开源框架概述、优势及功能特性

描述

NVIDIA NeMo 是一款供开发者构建和训练先进的对话式 AI 模型的开源框架。

NVIDIA NeMo 是什么?

NVIDIA NeMo 是一个框架,用于借助简单的 Python 界面构建、训练和微调 GPU 加速的语音和自然语言理解(NLU)模型。使用 NeMo,开发者可以创建新的模型架构,并通过易于使用的应用编程接口(API),在 NVIDIA GPU 中的Tensor Core 上使用混合精度计算对其进行训练。

NeMo Megatron 是此框架的一部分,提供并行化技术(例如 Megatron-LM 研究项目中的工作流和张量并行化),用于训练大规模语言模型。

借助 NeMo,您可以构建用于实时自动语音识别(ASR)、自然语言处理(NLP)和文本转语音(TTS)应用(例如视频通话转录、智能视频助理以及医疗健康、金融、零售和电信行业的自动化呼叫中心支持)的模型。

NVIDIA NeMo 的优势

快速建模

使用简单的 Python API 快速配置、构建和训练模型。

可定制的模型

从 NVIDIA NGC 目录中下载并自定义经过预训练的先进模型。

广泛集成

实现 NeMo 与 PyTorch 和 PyTorch Lightning 生态系统的互操作。

轻松部署

应用 NVIDIA TensorRT 优化,并导出至 NVIDIA Riva 进行高性能推理

NVIDIA NeMo 的功能特性

轻松构建新的模型架构

NeMo 包含针对 ASR、NLP 和 TTS 的特定领域集合,用于开发 Citrinet、Jasper、BERT、Fastpitch 和 HiFiGAN 等先进模型。NeMo 模型由神经模组构成,神经模组是模型的基础模组。神经类型将这些模组的输入和输出强有力地类型化,可自动在模块之间执行语义检查。

NeMo 旨在提供高灵活性,您可以使用 Hydra 框架轻松修改模型的行为。例如,您可以使用 Hydra 在以下图表中修改 Citrinet Encoder 模组的架构。

 

训练先进的对话式 AI 模型

NGC 中的几个 NeMo 预训练的先进模型基于开源的免费数据集在 NVIDIA DGX 上进行了超过 100000 小时的训练。在训练您的用例之前,您可以微调这些模型或使用 NeMo 修改它们。

NeMo 使用 Tensor Core上的混合精度,训练速度能达到在单个 GPU 上使用 FP32 精度的 4.5 倍。您可以进一步将训练扩展到多 GPU 系统和多节点集群。

 

使用 NeMo Megatron 进行大规模语言建模

基于 Transformer 的大规模语言模型正应用于广泛的自然语言任务,例如文本生成、摘要和聊天机器人。NeMo Megatron 能够管理训练数据,并使用多达数万亿个参数训练大规模模型。它会执行数据管理任务,例如格式化、过滤、重复数据删除和混合,使用其他方式完成这些任务可能需要花费数月时间。它还使用张量并行性在节点内扩展模型,并利用数据和工作流并行性跨节点扩展数据和模型。

NeMo Megatron 可依托数千个 GPU 提供高训练效率,使企业训练大规模 NLP 变得可行。

NeMo Megatron 可以将经过训练的模型导出到 NVIDIA Triton 推理服务器,以在多个 GPU 和多个节点上运行大规模 NLP 模型。

 

灵活、开源、快速扩展的生态系统

NeMo 基于 PyTorch 和 PyTorch Lightning 构建,为研究人员开发和集成他们已习惯使用的模组提供了便捷的途径。PyTorch 和 PyTorch Lightning 是开源 Python 库,可提供用于合成模型的模组。

NeMo 集成了 Hydra 框架,助力研究人员轻松灵活地自定义模型/模组。Hydra 是一款热门框架,可简化复杂的对话式 AI 模型的开发。

NeMo 是一款开源框架,研究人员可为其献言献策,也可在此基础上进行构建。

 

部署到生产环境中

要在使用 NVIDIA Riva 的生产环境中部署 NeMo 语音模型,开发者应使用与 Riva 兼容的格式导出 NeMo 模型,然后执行 Riva 构建和部署命令,以创建可实时运行的优化技能。

 

审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分