MLPerf Inference 0.7应用
MLPerf Inference 0.7应用
三个趋势继续推动着人工智能推理市场的训练和推理:不断增长的数据集,日益复杂和多样化的网络,以及实时人工智能服务。 MLPerf 推断 0 . 7 是行业标准 AI 基准测试的最新版本,它解决了这三个趋势,为开发人员和组织提供了有用的数据,以便为数据中心和边缘的平台选择提供信息。
基准测试扩展了推荐系统、语音识别和医学成像系统。它已经升级了自然语言处理( NLP )的工作负载,以进一步挑战测试中的系统。下表显示了当前的一组测试。有关这些工作负载的更多信息,请参阅 https://github.com/mlperf/inference
Application |
Network Name |
Recommendation* |
DLRM (99% and 99.9% accuracy targets) |
NLP* |
BERT (99% and 99.9% accuracy targets) |
Speech Recognition* |
RNN-T |
Medical Imaging* |
3D U-Net (99% and 99.9% accuracy targets) |
Image Classification |
ResNet-50 v1.5 |
Object Detection |
Single-Shot Detector with MobileNet-v1 |
Objection Detection |
Single-Shot Detector with ResNet-34 |
表 1 . MLPerf 推断 0 . 7 工作负载。
*新工作量
此外,针对数据中心和边缘的多个场景进行了基准测试:
图 1 . MLPerf 推理 0 . 7 平台类别和场景。
NVIDIA 轻松赢得了数据中心和边缘类别的所有测试和场景。虽然这种出色的性能大部分可以追溯到GPU 体系结构,但更多的是与工程师所做的出色的优化工作有关,现在开发人员社区可以使用这些工作。
本文深入研究了导致这些优秀结果的因素,包括软件优化以提高执行效率,多实例 GPU ( MIG )使一个 A100GPU 最多可以作为七个独立的 GPUs 运行,以及 Triton 推断服务器 支持在数据中心规模轻松部署推理应用程序。
检查的优化
NVIDIA GPUs 支持 int8 和 FP16 的高吞吐量精确推断,因此可以在默认情况下获得出色的推断性能,而无需任何量化工作。然而,在保持精度的同时将网络量化到 int8 精度是最高的性能选项,可以使数学吞吐量提高 2 倍。
在本次提交的资料中,发现 FP16 需要满足 BERT 的最高精度目标。对于这个工作负载,使用了 FP16 张量核心。在其它工作负载中,使用 int8 精度达到了最高精度目标( DLRM 和 3D Unet 的 FP32 的 99 . 9% 以上)。此外, int8 提交的性能得益于 TensorRT 7 . 2 软件版本中的全面加速。
许多推断工作负载需要大量的预处理工作。 NVIDIA 开源 DALI 库旨在加速对 GPU 的预处理并避免 CPU 瓶颈。本文使用 DALI 实现了 RNN-T 基准的 wav 到 mel 的转换。
NLP 推断对具有特定序列长度(输入中的单词数)的输入文本进行操作。对于批处理推理,一种方法是将所有输入填充到相同的序列长度。但是,这会增加计算开销。 TensorRT 7 . 2 增加了三个插件来支持 NLP 的可变序列长度处理。提交的 BERT 使用这些插件获得了超过 35% 的端到端性能。
加速稀疏矩阵处理是 A100 中引入的一种新功能。稀疏化网络确实需要重新训练和重新校准权值才能正常工作,因此稀疏性在封闭类别中不是可用的优化,但在开放类别中是允许的。开放类别 BERT 提交使用稀疏性实现了 21% 的吞吐量提高,同时保持了与封闭提交相同的准确性。
了解 MLPerf 中的 MIG
MIG 内存。 MIG 允许选择是将 A100 作为单个大的 GPU 操作,还是将多个较小的 GPU 作为一个单独的大型 GPU 来运行,每个小的 GPU 可以在它们之间隔离的情况下为不同的工作负载提供服务。图 2 显示了将此技术用于测试的 MLPerf 结果。
图 2 . MIG 与完整 T4 相比的推理性能。
图 2 比较了单个 MIG 实例与完整的 T4GPU 实例的边缘脱机性能,因为 A100 最多可支持七个 MIG 实例。可以看到,超过四个 MIG 测试结果得分高于完整的 T4GPU 。这对应用程序意味着,可以加载一个包含多个网络和应用程序的单个 A100 ,并以与 T4 相同或更好的性能运行每个网络和应用程序。这样可以减少部署的服务器数量,释放机架空间,并降低能耗。此外,在单个 A100 上同时运行多个网络有助于保持 GPU 的高利用率,因此基础设施管理人员可以优化使用已部署的计算资源。
Triton 推断服务器
在一个网络经过训练和优化之后,它就可以部署了,但这并不像打开交换机那么简单。在一个以人工智能为动力的服务上线之前,有几个挑战需要解决。这包括提供适当数量的服务器来维护sla ,并确保在 AI 基础设施上运行的所有服务都有良好的用户体验。然而,“正确的数字”可能会随着时间的推移或由于工作量需求的突然变化而改变。理想的解决方案还可以实现负载平衡,从而使基础设施得到最佳利用,但不会出现超额订阅。此外,一些管理者希望在单个 GPUs 上运行多个网络。 Triton 推断服务器解决了这些挑战和其它问题,使基础设施管理人员更容易部署和维护负责提供人工智能服务的服务器群。
在这一轮中,也使用 Triton 推理服务器提交了结果,这简化了人工智能模型在生产中的大规模部署。这个开源推理服务软件允许团队从任何框架( TensorFlow 、 TensorRT 、 PyTorch 、 ONNX 运行时或自定义框架)部署经过训练的 AI 模型。它们还可以从本地存储、 Google 云平台或 Amazon S3 部署在任何基于 GPU – 或 CPU 的基础设施(云、数据中心或边缘)上。
图 3 . Triton 推断服务器与 Kubernetes 完全集成。
Triton 声波风廓线仪也可作为 Docker 容器提供,是为基于微服务的应用而设计的。 Triton 声波风廓线仪与 Kubernetes 紧密集成,实现动态负载平衡,保证所有网络推理操作顺利进行。 Triton 声波风廓线仪的 GPU 指标帮助 Kubernetes 将推断工作转移到可用的 GPU 上,并在需要时扩展到数百个 GPUs 。新的 Triton 声波风廓线仪 2 . 3 支持使用 KFServing 的无服务器推断、 Python 自定义后端、用于会话式人工智能的解耦推理、支持 A100MIG 以及 Azure ML 和 DeepStream 5 .
0 集成。
图 4 显示了 Triton 声波风廓线仪与运行 A100 定制推理服务解决方案相比的总体效率,这两种配置都使用 TensorRT 运行。
图 4 . Triton 声波风廓线仪在 MLPerf 推理 0 . 7 结果中提供了与高度定制的推理服务实现几乎相同的性能。
Triton 声波风廓线仪的效率很高,在这五个网络中提供同等或接近它的性能。为了提供这样的性能,该团队对 Triton 声波风廓线仪进行了许多优化,例如用于与应用程序进行低延迟通信的新的轻量级数据结构、用于改进动态批处理的批处理数据加载以及用于 TensorRT 后端的 CUDA 图形以获得更高的推理性能。这些增强功能可作为 20 . 09 Triton 声波风廓线仪集装箱 的一部分提供给每个应用程序。除此之外, Triton 声波风廓线仪还简化了部署,无论是在本地还是在云端。这使得所有网络推断都能顺利进行,即使在意外的需求高峰来袭时也是如此。
加速推理应用程序
考虑到驱动人工智能推理的持续趋势, NVIDIA 推理平台和全栈方法提供了最佳性能、最高通用性和最佳可编程性, MLPerf 推理 0 . 7 测试性能证明了这一点。现在,和开发人员社区的其他成员都可以使用这些成果,主要是以开源软件的形式。此外, TensorRT 和 Triton 推理服务器可从 NVIDIA NGC 免费获得,以及预训练模型、深度学习框架、行业应用框架和头盔图。 A100GPU 已经证明了其充分的推理能力。随着完整的 NVIDIA 推理平台, A100GPU 已经准备好迎接最严峻的人工智能挑战。
MLPerf Inference 0.7应用的更多相关文章
- AI解决方案:边缘计算和GPU加速平台
AI解决方案:边缘计算和GPU加速平台 一.适用于边缘 AI 的解决方案 AI 在边缘蓬勃发展.AI 和云原生应用程序.物联网及其数十亿的传感器以及 5G 网络现已使得在边缘大规模部署 AI 成为可能 ...
- GPU加速计算
GPU加速计算 NVIDIA A100 Tensor Core GPU 可针对 AI.数据分析和高性能计算 (HPC),在各种规模上实现出色的加速,应对极其严峻的计算挑战.作为 NVIDIA 数据中心 ...
- NVIDIA Tensor Cores解析
NVIDIA Tensor Cores解析 高性能计算机和人工智能前所未有的加速 Tensor Cores支持混合精度计算,动态调整计算以加快吞吐量,同时保持精度.最新一代将这些加速功能扩展到各种工作 ...
- Git如何fork别人的仓库并作为贡献者提交代码
例如 要fork一份google的MLperf/inference代码,下面介绍具体做法:预备知识git里的参考有几种表示,分别是上游仓库,远程仓库和本地仓库,逻辑关系如下拉取代码的顺序:别的大牛的代 ...
- [ch04-03] 用神经网络解决线性回归问题
系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 4.3 神经网络法 在梯度下降法中,我们简单讲述了一下神 ...
- ZAM 3D 制作简单的3D字幕 流程(二)
原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...
- ZAM 3D 制作3D动画字幕 用于Xaml导出
原地址-> http://www.cnblogs.com/yk250/p/5662788.html 介绍:对经常使用Blend做动画的人来说,ZAM 3D 也很好上手,专业制作3D素材的XAML ...
- 微信小程序省市区选择器对接数据库
前言,小程序本身是带有地区选着器的(网站:https://mp.weixin.qq.com/debug/wxadoc/dev/component/picker.html),由于自己开发的程序的数据是很 ...
- osg编译日志
1>------ 已启动全部重新生成: 项目: ZERO_CHECK, 配置: Debug x64 ------1> Checking Build System1> CMake do ...
随机推荐
- Windows中的共享文件和文件服务器
目录 共享文件的设置 默认共享 关闭默认共享 关闭共享服务 共享文件夹权限 文件服务器资源管理器的搭建 文件共享是指主动地在网络上共享自己的计算机文件.一般文件共享使用P2P模式,文件本身存在用户本人 ...
- MySQL数据库及注入方法
目录 MySQL数据库 mysql中比较常用的一些函数: 判断MySQL数据库是否存在SQL注入 MySQL数据库文件结构 MySQL数据库密码破解 MySQL UDF提权 MySQL数据库 MySQ ...
- 中国石油大学(华东)数学实验(MATLAB)复习
作者:张世琛 函数的导数 $$ 求函数y=log(x+\sqrt{1+x^2})的一阶和二阶导数 $$ syms x; y=log(x+sqrt(1+x^2)); dydx=diff(y,x); dy ...
- $ git push -u origin master 报错
输入$ git push -u origin master报permission denied(publickey) 如下: 原因是没有与gitee上的账号成功建立密钥对,所以需要配对密钥 解决方法( ...
- C#是怎么跑起来的
解释流程前,需要了解一些基本的概念. 基本概念解释: CPU :中央处理器,计算机的大脑,内部由数百万至数亿个晶体管组成,是解释和运行最终转换成机器语言(二进制代码)的地方.机器语言是通过CPU内存的 ...
- linux如何patch打补丁
1. 创建2个文件 1.txt 和 2.txt 并在1.txt基础上修改成为2.txt book@100ask:~/patch$ ls 1.txt 2.txt book@100ask:~/patch$ ...
- 风变编程(Python自学笔记)第10关-工作量计算器
1.%f的意思是格式化字符串为浮点型,%.1f的意思是格式化字符串为浮点型,并保留1位小数. 2.向上取整:ceil() 使用ceil()方法时需要导入math模块,例如 1 >>> ...
- DataGear 变更部署数据库为SQL Server填坑指南(含转写后的SQL server代码及SQL server配置文件)
1. 引言 2. 配置数据库链接 3. 引入数据库驱动 4. 手动初始化数据库 5. 改写SQL 6. 其他 7. 参考 1. 引言 DataGear默认使用Derby数据库作为系统的元数据库,至于待 ...
- Linux_交换分区SWAP
一.交换分区SWAP 1️⃣:交换分区SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用. 2️⃣:交换分区一般指定虚拟内存的大小 ...
- Debian 9.4 多网卡链路聚合bond配置
Debian 9.4 多网卡链路聚合bond配置 安装ifenslave ifenslave 的作用是网卡的负载均衡 root@debian:~# apt-get install ifenslave ...