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应用的更多相关文章

  1. AI解决方案:边缘计算和GPU加速平台

    AI解决方案:边缘计算和GPU加速平台 一.适用于边缘 AI 的解决方案 AI 在边缘蓬勃发展.AI 和云原生应用程序.物联网及其数十亿的传感器以及 5G 网络现已使得在边缘大规模部署 AI 成为可能 ...

  2. GPU加速计算

    GPU加速计算 NVIDIA A100 Tensor Core GPU 可针对 AI.数据分析和高性能计算 (HPC),在各种规模上实现出色的加速,应对极其严峻的计算挑战.作为 NVIDIA 数据中心 ...

  3. NVIDIA Tensor Cores解析

    NVIDIA Tensor Cores解析 高性能计算机和人工智能前所未有的加速 Tensor Cores支持混合精度计算,动态调整计算以加快吞吐量,同时保持精度.最新一代将这些加速功能扩展到各种工作 ...

  4. Git如何fork别人的仓库并作为贡献者提交代码

    例如 要fork一份google的MLperf/inference代码,下面介绍具体做法:预备知识git里的参考有几种表示,分别是上游仓库,远程仓库和本地仓库,逻辑关系如下拉取代码的顺序:别的大牛的代 ...

  5. [ch04-03] 用神经网络解决线性回归问题

    系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 4.3 神经网络法 在梯度下降法中,我们简单讲述了一下神 ...

  6. ZAM 3D 制作简单的3D字幕 流程(二)

    原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...

  7. ZAM 3D 制作3D动画字幕 用于Xaml导出

    原地址-> http://www.cnblogs.com/yk250/p/5662788.html 介绍:对经常使用Blend做动画的人来说,ZAM 3D 也很好上手,专业制作3D素材的XAML ...

  8. 微信小程序省市区选择器对接数据库

    前言,小程序本身是带有地区选着器的(网站:https://mp.weixin.qq.com/debug/wxadoc/dev/component/picker.html),由于自己开发的程序的数据是很 ...

  9. osg编译日志

    1>------ 已启动全部重新生成: 项目: ZERO_CHECK, 配置: Debug x64 ------1> Checking Build System1> CMake do ...

随机推荐

  1. hdu4403暴力搜索

    题意:      给你一个数字串,让你在里面添加一个=和若干个+,使等式成立. 思路:      lmax最大是15,直接暴搜,无压力,关键是判重,要在答案的时候判重,一开始在进队列之前判的,各种wa ...

  2. POJ3692 最大点权独立集元素个数

    题意:      n个男孩和m个女孩,给你他们谁和谁彼此了解,问你要找到一个集合,使得这个集合中的男孩和女孩相互了解,并且人数最多. 思路:      简单题目,其实就是在求最大点权独立集元素个数,先 ...

  3. 路由器逆向分析------QEMU的下载和安装(Linux平台)

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/68953160 一.QEMU源码的下载和编译 QEMU源码的github下载地址:h ...

  4. POJ2391 Floyd+离散化+二分+DINIC

    题意:       有n个猪圈,每个猪圈里面都有一定数量的猪(可能大于当前猪圈的数量),每个猪圈都有自己的容量,猪圈与猪圈之间给出了距离,然后突然下雨了,问多久之后所有的猪都能进圈. 思路:     ...

  5. UVA11997求前k个和,多路归并问题

    题意:      给你一个二维矩阵,n*n的,每次从每一行中拿出来一个,然后加起来组成一个和,一共可以得到n^n个和,要求求出这n^n个和中最小的那n个和. 思路:      多路归并问题,先说下多路 ...

  6. 【python】Leetcode每日一题-最长公共子序列

    [python]Leetcode每日一题-最长公共子序列 [题目描述] 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度.如果不存在 公共子序列 ,返回 0 . ...

  7. Jmeter软件安装之Mac

    Jmeter软件安装之Mac 一.环境准备 安装JDK 下载Jmeter 二.下载Jmeter 下载地址: http://jmeter.apache.org/download_jmeter.cgi,下 ...

  8. 日期格式化时注解@DateTimeFormat无效的问题分析

    作者:汤圆 个人博客:javalover.cc 背景 有时候我们在写接口时,需要把前台传来的日期String类型转为Date类型 这时我们可能会用到@DateTimeFormat注解 在请求数据为非J ...

  9. 依赖倒置原则(Dependence Inversion Principle)

    目录 背景 说明 例子 "倒置"的解释 总结 参考资料 背景 这几天组内的人一起学习DDD,里面再次提到了依赖倒置原则,在这学习过程中,大家又讨论了一下依赖倒置原则. 说明 采用依 ...

  10. OO随笔之魔鬼的第一单元——多项式求导

    OO是个借助Java交我们面向对象的课,可是萌新们总是喜欢带着面向过程的脑子去写求导,然后就是各种一面(main)到底.各种方法杂糅,然后就是被hack的很惨. 第一次作业:萌新入门面向对象 题目分析 ...