相关文章推荐
温柔的炒粉  ·  2022红牛F1青训阵容公布,杜汉离队,三位 ...·  3 月前    · 
大方的柠檬  ·  温州私立高中 - 百度·  11 月前    · 
深情的针织衫  ·  中华人民共和国驻菲律宾共和国大使馆·  11 月前    · 
踏实的匕首  ·  ipq5018刷openwrt - CSDN文库·  1 年前    · 
调皮的杯子  ·  剧场版假面骑士零一:REAL×TIME_百度百科·  1 年前    · 
Code  ›  如何在GPU上设计高性能的神经网络开发者社区
机器学习 矩阵 矩阵乘法 神经网络
https://cloud.tencent.com/developer/article/1662861
聪明的领结
1 年前
deephub

如何在GPU上设计高性能的神经网络

前往小程序,Get 更优 阅读体验!
立即前往
腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
deephub
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > 如何在GPU上设计高性能的神经网络

如何在GPU上设计高性能的神经网络

作者头像
deephub
发布 于 2020-07-16 13:04:04
1.2K 0
发布 于 2020-07-16 13:04:04
举报
文章被收录于专栏: DeepHub IMBA

gpu对于机器学习是必不可少的。可以通过AWS或谷歌cloud轻松地启动这些机器的集群。NVIDIA拥有业内领先的GPU,其张量核心为 V100和 A100加速哪种方法最适合你的神经网络?为了以最低的成本设计出最快的神经网络,机器学习架构师必须解决许多问题。此外,仅仅使用带有GPU和张量核心的机器并不能保证最高性能。那么,作为一个机器学习架构师,应该如何处理这个问题呢?当然,您不能是硬件不可知论者。您需要了解硬件的功能,以便以最低的成本获得最大的性能。

作为一个机器学习架构师,你应该如何设计神经网络来最大化GPU的性能?

在本文中,我们将深入了解机器学习架构师实现性能最大化的手段。我们将特别关注矩阵-矩阵乘法,因为它是机器学习中最常见和最繁重的数学操作。

让我们从一个简单的全连接的一个隐藏层神经网络开始:

图1:在神经网络的每一层进行矩阵乘法,每一步的矩阵乘法的形状如括号所示。例如(B, L1)是B行L1列的矩阵的形状。MM1, MM2,…MM5是各种矩阵-矩阵乘法。

从基本神经网络可以看出,在第L2层,我们进行了3次矩阵-矩阵乘法(1向前,2向后)。在第L1层,我们执行2个矩阵-矩阵乘法(1向前,1向后)。事实上,除了第一层(L1)之外,我们在每一层都执行了3次矩阵乘法。如果神经网络有n层,则需要进行3n-1个矩阵-矩阵乘法,即时,它随神经网络的大小线性增长。

一个快速观察方法是将批大小设置成1,我们看下B=1时的情况,即一次只学习一个数据点。在这种情况下,矩阵-矩阵退化为矩阵-向量的乘法。然而,在实践中,批大小从不为1。在梯度下降中,在每个学习步骤中考虑整个数据集,而在随机梯度下降中,在每个学习步骤中考虑一批B > 1(但比整个数据集要少得多)。

在本文中,让我们关注两个维数(M, K)和(K, N)的矩阵a和B之间的单个矩阵-矩阵乘法,分别得到维数(M, N)的矩阵C。

维数M, N, K由每层神经网络的结构决定。例如,在AlexNet中,批处理大小为128,有几个密集的层(4096个节点)和一个输出层(1000个节点)。这将导致(128,4096)和(409,1000)矩阵的乘法。这些是相当大的矩阵。

图2。平铺的矩阵乘法

 
推荐文章
温柔的炒粉  ·  2022红牛F1青训阵容公布,杜汉离队,三位新人加入 - 哔哩哔哩
3 月前
大方的柠檬  ·  温州私立高中 - 百度
11 月前
深情的针织衫  ·  中华人民共和国驻菲律宾共和国大使馆
11 月前
踏实的匕首  ·  ipq5018刷openwrt - CSDN文库
1 年前
调皮的杯子  ·  剧场版假面骑士零一:REAL×TIME_百度百科
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号