Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Angulia Chao作者H4O编辑Hectate分析师

2万元「煤气灶」Titan RTX做深度学习?机器之心为读者们做了个评测

1. 引言

毫无疑问,GPU 对于 机器学习从业者来说一直扮演着非常重要的角色,尤其是在需要大量并行计算能力的 深度学习领域。由于英伟达 CUDA 架构 [1] 的出现,开发者得以利用 GPU 的并行计算能力,不需付出额外的努力就能实现通用计算。自 2007 年初首次推出 CUDA 以来,英伟达一直在改变 GPU 市场的格局以及 深度学习等 GPU 驱动的应用。

继 2018 年秋发布最新的图灵架构并推出 GeForce 20 系列以后,英伟达最终于 2018 年末发布了 Titan RTX。表 1.1 展示了 20 系列 GPU 及 10 系列代表性 GPU 1080 Ti 之间的主要差别。除了晶体管体积、CUDA Core、内存容量、内存带宽上的升级之外,20 系列还增加了 Tensor Core 和 光线追踪(RT)核两个主要新部件。Tensor Core 使得 Titan RTX 可以实现高速浮点运算以及大型矩阵运算。Tensor Core 用 深度学习超级采样(DLSS)代替抗锯齿(anti-aliasing)。RT Core 用于生成反射和阴影。

表 1.1:英伟达 Titan RTX 及其他主流英伟达 GPU 之间的参数差别。 强大的 GPU 促进了整个 机器学习深度学习社区的繁荣。由 GPU 支持的流行框架已经发布并迭代更新。 TensorFlow、PyTorch 和 MXNet 是具备 GPU 支持的、使用最广泛的三种框架。虽然这些框架被设计为通用 机器学习平台,但是它们的设计、架构和实现的内在差异导致了 GPU 上 机器学习性能的潜在差异。例如,在 VGG16 训练测试中, TensorFlow 的训练速度比 MXNet 快了 49%,PyTorch 比 MXNet 快了 24%。这种差异对于 机器学习从业者来说非常重要,他们在选择带有特定类型 GPU 的适当框架时必须考虑时间和金钱成本。

我们的目标是评估 TensorFlow、PyTorch 和 MXNet 在 Titan RTX 上实现的性能。此外,通过运行各种混合精度和单精度标准模型的训练阶段和推理阶段,我们不仅收集了训练/推理的进度数据,还记录了 GPU 利用率、内存利用率等实时的 操作系统(OS)指标。这些 操作系统级别的指标进一步帮助区分各个框架利用底层硬件的能力。

安装了 Titan RTX 测试台上的实验表明,在 ImageNet 和 COCO2017 这样相对较大的数据集上, TensorFlow 和 PyTorch 的训练速度可能比 MXNet 略快。但在相对较小的图像上, MXNet 有最好的训练表现。这一转变相当有趣,可能表明 TensorFlow 和 PyTorch 在数据密集型任务的优化上较有潜力,而 MXNet 在一般的 机器学习处理上较好。

另一个有趣的点在于,混合精度在 深度学习中表现非常好,在我们选择的所有实验中,我们不牺牲 准确率就能提高训练速度。这表明,混合精度有成为 深度学习训练主流的潜质。

专业用户独享

本文为机器之心深度精选内容,专业认证后即可阅读全文
开启专业认证
产业英伟达TensorFlowPyTorchMXNetTitan RTX
12
相关数据
Amazon机构

亚马逊(英语:Amazon.com Inc.,NASDAQ:AMZN)是一家总部位于美国西雅图的跨国电子商务企业,业务起始于线上书店,不久之后商品走向多元化。目前是全球最大的互联网线上零售商之一,也是美国《财富》杂志2016年评选的全球最大500家公司的排行榜中的第44名。

https://www.amazon.com/
相关技术
英特尔机构

英特尔(NASDAQ: INTC)是全球半导体行业的引领者,以计算和通信技术奠定全球创新基石,塑造以数据为中心的未来。我们通过精尖制造的专长,帮助保护、驱动和连接数十亿设备以及智能互联世界的基础设施 —— 从云、网络到边缘设备以及它们之间的一切,并帮助解决世界上最艰巨的问题和挑战。

http://www.intel.cn/
相关技术
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

神经机器翻译技术

2013 年,Nal Kalchbrenner 和 Phil Blunsom 提出了一种用于机器翻译的新型端到端编码器-解码器结构 [4]。该模型可以使用卷积神经网络(CNN)将给定的一段源文本编码成一个连续的向量,然后再使用循环神经网络(RNN)作为解码器将该状态向量转换成目标语言。他们的研究成果可以说是神经机器翻译(NMT)的诞生;神经机器翻译是一种使用深度学习神经网络获取自然语言之间的映射关系的方法。NMT 的非线性映射不同于线性的 SMT 模型,而且是使用了连接编码器和解码器的状态向量来描述语义的等价关系。此外,RNN 应该还能得到无限长句子背后的信息,从而解决所谓的「长距离重新排序(long distance reordering)」问题。

VGG技术

2014年,牛津大学提出了另一种深度卷积网络VGG-Net,它相比于AlexNet有更小的卷积核和更深的层级。AlexNet前面几层用了11×11和5×5的卷积核以在图像上获取更大的感受野,而VGG采用更小的卷积核与更深的网络提升参数效率。VGG-Net 的泛化性能较好,常用于图像特征的抽取目标检测候选框生成等。VGG最大的问题就在于参数数量,VGG-19基本上是参数量最多的卷积网络架构。VGG-Net的参数主要出现在后面两个全连接层,每一层都有4096个神经元,可想而至这之间的参数会有多么庞大。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

SSD技术

一种计算机视觉模型。论文发表于 2015 年(Wei Liu et al.)

光线追踪技术

在计算机图形学中,光线跟踪是一种渲染技术,用于通过将光的路径跟踪为图像平面中的像素并模拟虚拟对象对光线的接收效果来生成图像。 该技术能够产生非常高的视觉真实感,通常高于典型扫描线渲染方法,但计算成本更高。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

操作系统技术

操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

MXNet技术

MXNet是开源的,用来训练部署深层神经网络的深度学习框架。它是可扩展的,允许快速模型训练,并灵活支持多种语言(C ++,Python,Julia,Matlab,JavaScript, Go,R,Scala,Perl,Wolfram语言)

数据可视化技术

数据可视化被许多学科视为现代视觉传达的等价物。为了清晰有效地传递信息,数据可视化使用统计图形、图表、信息图和其他工具。数字数据可以使用点、线或条编码,以视觉传达定量消息。有效的可视化帮助用户对数据进行分析和推理。它使复杂的数据更容易理解和使用。用户可以根据特定的分析任务进行数据可视化,例如进行比较或理解因果关系,并且图形的设计原则(即,显示比较或显示因果关系)来进行可视化。表通常用于用户查找特定测量的地方,而各种类型的图表用于显示一个或多个变量的数据中的模式或关系。

上海澜起科技公司・高级产品市场经理
这个resnet50的GPU利用率怎么算出来的?
H4OPro
上海交通大学・软件工程・硕士
回复杨晔
nvidia-smi 命令,是nvidia自带工具哈