下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

关于深度学习的新趋势

作者:课课家教育     来源: http://www.kokojia.com点击数:684发布时间: 2017-11-15 14:00:33

标签: 存储器芯片深度学习

  欢迎各位阅读本篇,深度学习的概念源于 人工神经网络的研究。含多隐层的 多层感知器就是一种深度学习结构。本篇文章讲述了关于深度学习的新趋势。

关于深度学习的新趋势_存储器_芯片_深度学习_课课家教育

  在过去的两年里,为了满足机器学习的需要,特别是深度神经网络的需要,出现了一股对创新体系架构研究的热潮。我们已经在The Next Platform中报道了无论是用于训练侧还是推理侧的许多架构可选方案,并且正是因为所做的这些,我们开始注意到一个有趣的趋势。一些面向机器学习市场定制 ASIC 的公司似乎都在沿着同一个思路进行开发——以存储器作为处理的核心。

  存储器内处理(PIM)架构其实不是什么新东西,但是因为存储器内相对简单的逻辑单元很好地迎合了神经网络的训练需求(特别是卷积网络),所以存储器正变成未来下一个平台。我们已经介绍过了很多公司的深度学习芯片,比如 Nervana Systems(2016 年被英特尔收购)和 Wave Computing,以及其它有望碾压 AlexNet 等 benchmark 的新架构,存储器都是其性能与效率的关键驱动因素。

  今天,我们还要为这种存储器驱动的深度学习体系架构家族再介绍一个新成员。那就是 Neurostream,它由博洛尼亚大学提出,在某些方面与 Nervana、Wave、以及其它采用下一代存储器(比如 Hybrid Memory Cube (HMC) 和 High Bandwidth Memory (HBM))的深度学习架构很相似。而且该架构还提供了一种新思路,可以进一步深入了解我们刚才提到的那些公司是如何设计深度学习架构的。在过去的介绍里,我们已经从 Nervana、Wave 等发布的架构中提取出了一些设计细节,而这次架构的设计团队为我们带来了有关为什么存储器驱动型设备将会成为未来深度学习定制硬件主流更深入的见解。

  「虽然卷积神经网络是计算密集型算法,但它们的可扩展性和能量效率被主存储器极大地限制住了,而这些网络中的参数和通道都比较大,所以都需要存储在主存中。鉴于上述原因,仅仅改进卷积网络加速器的性能和效率而不考虑主存储器的瓶颈将会是一个错误的设计决策。」

  Neurostream 把它的存储器内处理方法用在扩展卷积神经网络上。该设计采用了一种 Hybrid Memory Cube 的变种,他们称之为「Smart Memory Cubes」。「Smart Memory Cubes」增强了被称为 NeuroCluster 的多核 PIM 平台。NeuroCluster 采用了基于 NeuroStream 浮点协处理器(面向卷积密集型计算)和通用处理器 RISC-V 的模块化设计。他们同样也提到了一种易于 DRAM 阵列化的机制及其可扩展的编程环境。该架构最吸引人的地方在于它用仅占晶片面积 8% 的 HMC 获得了 240GFLOPS 的性能,而其总功耗仅为 2.5 瓦。

  「该平台能够以较小的系统功耗使得卷积神经网络计算任务能完全下放到存储器组中。这意味着主 SoC 中的计算逻辑能够被释放出来干其它事。而且,相对于一个基本 HMC 系统,其额外的开销几乎可以忽略不计。」

  该设计团队正在大肆宣传其 Neurostream 架构的每瓦特性能指数。「在单个三维堆叠封装中我们达到了每瓦特 22.5GFLOPS(每秒浮点计算数 22.5G 次)的计算能量效率,这是当前能买到最好 GPU 性能的 5 倍以上。」他们同样提到「少量的系统级功耗升高和可以忽略不计的面积增长使得该 PIM 系统成为一种既节约成本又高效利用能量的解决方案,通过一个连接 4 个 SMC 的网络,其可以轻松扩展到 955 GFLOPS。」他们用来对比的 GPU 是 Nvidia Tesla K40,该 GPU 在 235 瓦功率下可以达到 1092 GFLOPS 的处理速度。「Neuro 阵列可以在 42.8 瓦达到 955GFLOPS,且超过了其对手 4.8 倍的能量使用效率,」该团队同时评论说,由于降低了对串行链路的需求,该架构还可以扩展至更多节点。

该设计团队正在大肆宣传其 Neurostream 架构的每瓦特性能指数。

  Neurostream 的创造者们期望通过进行一些面向应用的调优和降低算术计算精度的方法来使它的能效对比获得进一步增长。就像他们着重提到的,「降低计算精度有望使功耗降低达 70%。」在他们的下一次改进里,他们将着重在硅片上实现带有四个 NeuroClusters 的架构,这将使它能够监控其自身是如何反向传播和训练的。

  我们已经介绍过了许多协处理器、ASIC、GPU、以及采用针对深度学习框架进行额外软件优化的 x86 处理器的性能和效率的 benchmark 比分。尽管我们对这些都半信半疑,尽我们可能地去对比,但时间最终会告诉我们哪种体系架构会最终胜出。这里想说的不在于 benchmark 比分,而在于体系结构本身。Neuro 阵列就像 Nervana、Wave、以及其它方法一样,都把 HMC 和 HBM 用到了极致——利用有限的存储器内处理能力,结果已经差不多能很好地处理卷积神经网络的计算了。

  不仅如此,对该类架构的更深入观察,还能帮助我们更好地评估我们提到的机器学习芯片初创公司正在做的事。我们期待经过初创公司和学术研究的共同努力,2017 年将开辟设计许多在深度学习框架领域内的存储器驱动型处理器。

  干货分享:

  深度不足会出现问题

  在许多情形中深度2就足够表示任何一个带有给定目标精度的函数。但是其代价是:图中所需要的节点数(比如计算和参数数量)可能变的非常大。理论结果证实那些事实上所需要的节点数随着输入的大小指数增长的函数族是存在的。

  我们可以将深度架构看做一种因子分解。大部分随机选择的函数不能被有效地表示,无论是用深的或者浅的架构。但是许多能够有效地被深度架构表示的却不能被用浅的架构高效表示。一个紧的和深度的表示的存在意味着在潜在的可被表示的函数中存在某种结构。如果不存在任何结构,那将不可能很好地泛化。

  大脑有一个深度架构

  例如,视觉皮质得到了很好的研究,并显示出一系列的区域,在每一个这种区域中包含一个输入的表示和从一个到另一个的信号流(这里忽略了在一些层次并行路径上的关联,因此更复杂)。这个特征层次的每一层表示在一个不同的抽象层上的输入,并在层次的更上层有着更多的抽象特征,他们根据低层特征定义。

  需要注意的是大脑中的表示是在中间紧密分布并且纯局部:他们是稀疏的:1%的 神经元是同时活动的。给定大量的神经元,仍然有一个非常高效地(指数级高效)表示。

  认知过程逐层进行,逐步抽象

  人类层次化地组织思想和概念;

  人类首先学习简单的概念,然后用他们去表示更抽象的;

  工程师将任务分解成多个抽象层次去处理;

  学习/发现这些概念(知识工程由于没有反省而失败?)是很美好的。对语言可表达的概念的反省也建议我们一个稀疏的表示:仅所有可能单词/概念中的一个小的部分是可被应用到一个特别的输入(一个视觉场景)。

仅所有可能单词/概念中的一个小的部分是可被应用到一个特别的输入(一个视觉场景)。

  小结:深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。当然如果大家还想了解更多方面的详细内容的话呢,不妨关注课课家教育平台,在这个学习知识的天堂中,您肯定会有意想不到的收获的!

赞(20)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程