QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Apache MXNet 版本添加了对新的 NVIDIA Volta GPU 和 Sparse Tensor 的支持

  • 2019-11-07
  • 本文字数:1789 字

    阅读完需:约 6 分钟

Apache MXNet 版本添加了对新的 NVIDIA Volta GPU 和 Sparse Tensor 的支持

我们对 Apache MXNet 版本 0.12 的发布感到很兴奋。MXNet 社区的参与者密切合作,为用户带来了新的增强功能。在此版本中,MXNet 添加了两项新的重要功能:


  • 对 NVIDIA Volta GPU 的支持,这使用户能够大大减少神经网络模型的训练和推理时间。

  • 对 Sparse Tensor 的支持,这使用户能够以最有利于存储和计算的方式使用稀疏矩阵训练模型。

对 NVIDIA Volta GPU 架构的支持

MXNet v0.12 版本添加了对 NVIDIA Volta V100 GPU 的支持,这使客户训练卷积神经网络的速度比 Pascal GPU 的速度快 3.5 倍。训练神经网络涉及数万亿次的浮点数 (FP) 乘法与加法运算。这些计算通常已使用单精度 (FP32) 完成以实现较高的准确度。但是,最近的研究表明,用户可以通过使用半精度 (FP16) 数据类型的训练获得与使用 FP32 数据类型的训练相同的准确度。


Volta GPU 架构引入了 Tensor Core。每个 Tensor Core 每个时钟周期可执行 64 次乘法和加法混合运算,约为每个 CUDA 核心在每个时钟周期内执行的 FLOPS 的四倍。每个 Tensor Core 执行如下所示的运算:D = A x B + C,其中 A 和 B 是半精度矩阵,而 C 和 D 可以是半精度或单精度矩阵,从而执行混合精度训练。利用新的混合精度训练,用户可以通过对网络的大多数层使用 FP16 并在必要时使用更高精度的数据类型来获得最佳训练绩效,且不会降低精度。



MXNet 使用户能够轻松使用 FP16 训练模型以利用 Volta Tensor Core。例如,您只需在 MXNet 中通过将以下命令选项传递到 train_imagenet.py 脚本即可启用 FP16 训练。


Bash


--dtype float16
复制代码


最近,我们宣布推出一套新的 AWS Deep Learning AMI,它们预安装了针对 Amazon EC2 P3 实例系列中的 NVIDIA Volta V100 GPU 进行了优化的各种深度学习框架,其中包括 MXNet v0.12。只需在 AWS Marketplace 中单击一下鼠标即可开始;或者,您也可以按照此分步指南操作,开始使用您的第一个笔记本

Sparse Tensor 支持

MXNet v0.12 添加了对 Sparse Tensor 的支持,可高效地存储和计算大部分元素为零的张量。我们都很熟悉 Amazon 基于您过去的购买历史记录给出的推荐,并且熟悉 Netflix 基于您过去的查看历史记录和对其他节目的评分给出的节目推荐。这类适用于数百万人的基于深度学习的推荐引擎涉及大部分元素为零的稀疏矩阵的乘法与加法运算。以与在稠密矩阵之间执行矩阵运算相同的方式在稀疏矩阵之间执行的数万亿次矩阵运算在存储和计算方面的效率不高。在默认的稠密结构中存储和操作这类包含许多零元素的稀疏矩阵会导致浪费内存以及对零元素执行不必要的处理。


为了解决这类难点,MXNet 启用了 Sparse Tensor 支持,使 MXNet 用户能够以最有利于存储和计算的方式执行稀疏矩阵运算并更快地训练深度学习模型。MXNet v0.12 支持两大稀疏数据格式:Compressed Sparse Row (CSR) 和 Row Sparse (RSP)。CSR 格式经过优化,可表示包含大量列的矩阵,其中每个行仅包含几个非零元素。RSP 格式经过优化,可表示包含大量行的矩阵,其中大部分行切片都完全是零元素。例如,CSR 格式可用于为推荐引擎编码输入数据的特征向量,而 RSP 格式可用于在训练期间执行稀疏梯度更新。对于大多数常用的运算符 (例如,矩阵点积和元素级运算符),此版本启用对 CPU 的稀疏支持。未来版本中将添加对更多运算符的稀疏支持。


以下代码段说明如何将 scipy CSR 矩阵转换为 MXNet CSR 格式,并使用其中一个向量对其执行稀疏矩阵向量乘法运算。要了解有关在 MXNet 中使用新稀疏运算符的更多信息,请参阅这些教程


Bash


import scipy.sparse as spspimport mxnet as mx# construct a random scipy CSR matrixscipy_csr = spsp.rand(3, 4, format='csr', density=0.5)# convert scipy CSR matrix to MXNet CSR formatmx_csr = mx.nd.sparse.csr_matrix(scipy)# perform sparse matrix-vector multiplicationresult = mx.nd.sparse.dot(mx_csr, mx.nd.ones((4, 1)))
复制代码

后续步骤

MXNet 的入门很简单。可在发行说明中找到此版本的完整更改列表。如果您有疑问或建议,请给我们留言。


作者介绍:



Sukwon Kim 是 AWS Deep Learning 的高级产品经理。他负责开发让客户能够更轻松地使用深度学习引擎的产品,工作重点是开源 Apache MXNet 引擎。在业余时间,他喜欢徒步旅行和旅游。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/apache-mxnet-release-adds-support-for-new-nvidia-volta-gpus-and-sparse-tensor/


2019-11-07 08:00705

评论

发布
暂无评论
发现更多内容

MySQL优化-批量插入与1亿条数据效率COUNT

一个大红包

8月日更

【我和达梦的故事】 有奖征文活动开始啦,万元奖品池+现金奖励等你拿!

墨天轮

数据库 征文大赛 国产数据库 达梦

架构实战营模块 5 作业指导

华仔

#架构实战营

干货|后互联网时代,运维工程师的必备性能优化指北

阿里巴巴中间件

阿里云 云原生 中间件

波场链DAPP开发|波场链TRONCHAIN介绍

量化系统19942438797

波场DAPP

云原生,开发者的黄金时代

阿里巴巴云原生

云计算 阿里云 云原生 中间件

RunC TOCTOU逃逸CVE-2021-30465分析

腾讯安全云鼎实验室

容器 漏洞分析

我们可能是被工具耽误的一代

非著名程序员

深度思考 认知提升 成长笔记 8月日更

校招失败,在小公司熬了2年后我终于进了字节跳动,竭尽全力(Java岗)

今晚早点睡

Java 编程 字节跳动 面试 计算机

音视频demo| 不一样的AR Call

anyRTC开发者

uni-app 音视频 移动开发 uni-app demo

1-5年Java面试者必备:一线名企各专题面试笔记+java核心宝典pdf

Java~~~

Java MySQL 架构 面试 架构师

0代码之缘

明道云

Nebula Operator 云上实践

NebulaGraph

阿里云 云原生 k8s 图数据库 分布式图数据库

不会被开除吧?一顿饭换来“字节”面试题库Java岗,刷完直接入职大厂

Java架构师迁哥

云原生,开发者的黄金时代

阿里巴巴中间件

云计算 阿里云 云原生 中间件

面面俱到!腾讯大牛把源码分析、基础案例、实战案例、面试、系统架构,全部总结到这份Java多线程与高并发里面了

Java 编程 程序员 面试 多线程

linux 工具之perf

webrtc developer

面试字节跳动java岗被算法吊打,60天苦修这些笔记,侥幸收获offer

Java~~~

Java 架构 面试 算法 红黑树

谷歌架构师分享gRPC与云原生应用开发Go和Java为例文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

终于拿到了深入Java虚拟机:JVMG1GC的算法与实现文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

阿里 Java 二面必问:8张图带你解决所有TCP可靠传输问题

编程 面试 TCP 网络 计算机

终于学完国内算法第一人10年经验总结的数据结构与算法详解文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

架构实战营1期模块5作业——高性能计算架构

tt

架构实战营

制造企业的数字化转型案例分享

一只数据鲸鱼

数据可视化 工业4.0 智慧工业

linux 工具之pstack/gstack

webrtc developer

crudapi增删改查接口零代码产品成功案例之金茶王投票系统

crudapi

Vue API crud crudapi 投票

模块五设计微博评论高性能高可用计算架构

kitten

李克强签署国务院令 公布《关键信息基础设施安全保护条例》

郑州埃文科技

Vue进阶(四十二):var、let、const 三者区别

No Silver Bullet

Vue var const let 8月日更

区块链钱包系统开发,imtoken去中心化钱搭建

leetcode 最常见的前端基础算法面试题(上)

前端依依

面试 大前端 力扣 算法题 初阶

Apache MXNet 版本添加了对新的 NVIDIA Volta GPU 和 Sparse Tensor 的支持_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章