安妮 编译自 AWS官博
量子位 出品 | 公众号 QbitAI
Apache MXNet v0.12来了。
今天凌晨,亚马逊宣布了MXNet新版本,在这个版本中,MXNet添加了两个重要新特性:
支持英伟达Volta GPU,大幅减少用户训练和推理神经网络模型的时间。
在存储和计算效率方面支持稀疏张量(Sparse Tensor),让用户通过稀疏矩阵训练模型。
下面,量子位将分别详述这两个新特性。
△ Tesla V100 加速卡内含 Volta GV100 GPU
支持英伟达Volta GPU架构MXNet v0.12增加了对英伟达Volta V100 GPU的支持,让用户训练深度神经网络的速度比在Pascal GPU上快3.5倍。这些运算通常用单精度(FP32)实现高准确率。
然而,最近的研究显示,用户可以用半精度(FP16)达到相同的准确率。
Volta GPU架构中引入了张量核(Tensor Core),每个张量核每小时能处理64次积和熔加运算(fused-multiply-add,FMA),每小时将CUDA每个核心FLOPS(每秒浮点运算)大致翻至四倍。
每个张量核都执行下图所示的D=AxB+C运算,其中A和B是半精确的矩阵,C和D可以是半或单精度矩阵,从而进行混合精度训练。
新混合精度训练可在不降低准确性的情况下实现最佳训练性能,神经网络中大部分层精度为FP16,且只在必要时用更高精度的数据类型。
MXNet利用Volta张量核使用户轻松用FP16训练模型。举个例子,用户将以下命令选项传递到train_imagenet,可在MXNet中启用FP16 train_imagenet.py脚本。
支持稀疏张量MXNet v0.12增加了对稀疏张量的支持,来有效存储和计算大多数元素为0的张量。
我们熟悉的亚马逊推荐系统就是基于深度学习的推荐引擎,它包含了稀疏矩阵的乘法和加法,其中大多数元素都是0。
在稀疏矩阵中执行万亿次矩阵运算,与在密集矩阵之间执行的方式相同。在密集矩阵的存储和计算效率不高,在默认密结构中存储和操作稀疏矩阵,会导致在不必要的处理上浪费内存。
为了解决这些问题,MXNet开始支持稀疏张量,让用户在保持存储和计算效率的方式下执行稀疏矩阵操作,更快地训练深度学习模型。MXNet v0.12支持两种主要的稀疏数据格式:压缩稀疏矩阵(CSR)和行稀疏(RSP)。
CSR格式被优化来表示矩阵中的大量列,其中每行只有几个非零元素。经过优化的RSP格式用来表示矩阵中的大量行,其中的大部分行切片都是零。
例如,可以用CSR格式对推荐引擎输入数据的特征向量进行编码,而RSP格式可在训练期间执行稀疏梯度更新。
这个版本支持大多数在CPU上常用运算符的稀疏操作,比如矩阵点乘积和元素级运算符。在未来版本中,将增加对更多运算符的稀疏支持。
相关资料最后,附官方介绍地址:
/
MXNet使用指南:
— 完 —
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI
վ'ᴗ' ի 追踪AI技术和产品新动态