深度学习引擎的终极形态是什么?

来源:微软研究院AI头条

概要:1月17日,院友袁进辉博士回到微软亚洲研究院做了题为《打造最强深度学习引擎》的报告,分享了深度学习框架方面的技术进展。


1月17日,院友袁进辉博士回到微软亚洲研究院做了题为《打造最强深度学习引擎》的报告,分享了深度学习框架方面的技术进展。报告中主要讲解了何为最强的计算引擎?专用硬件为什么快?大规模专用硬件面临着什么问题?软件构架又应该解决哪些问题?


首先,我们一起来开一个脑洞:想象一个最理想的深度学习引擎应该是什么样子的,或者说深度学习引擎的终极形态是什么?看看这会给深度学习框架和AI专用芯片研发带来什么启发。


以大家耳熟能详的卷积神经网络CNN 为例,可以感觉一下目前训练深度学习模型需要多少计算力。下方这张表列出了常见CNN模型处理一张图片需要的内存容量和浮点计算次数,譬如VGG-16网络处理一张图片就需要16Gflops。值得注意的是,基于ImageNet数据集训练CNN,数据集一共大约120万张图片,训练算法需要对这个数据集扫描100遍(epoch),这意味着10^18次浮点计算,即1exaFlops。简单演算一下可发现,基于一个主频为2.0GHz的CPU core来训练这样的模型需要好几年的时间。




专用硬件比通用硬件(如CPU、GPU)快,有多种原因,主要包括:(1)通用芯片一般经历“取指-译码-执行”(甚至包括“取数据”)的步骤才能完成一次运算,专用硬件大大减小了“取指-译码”等开销,数据到达即执行;(2)专用硬件控制电路复杂度低,可以在相同的面积下集成更多对运算有用的器件,可以在一个时钟周期内完成通用硬件需要数千上万个时钟周期才能完成的操作;(3)专用硬件和通用硬件内都支持流水线并行,硬件利用率高;(4)专用硬件片内带宽高,大部分数据在片内传输。显然,如果不考虑物理现实,不管什么神经网络,不管问题的规模有多大,都实现一套专用硬件是效率最高的做法。问题是,这行得通吗?



现实中,不管是通用硬件(如GPU)还是专用硬件(如TPU) 都可以通过高速互联技术连接在一起,通过软件协调多个设备来完成大规模计算。使用最先进的互联技术,设备和设备之间传输带宽可以达到100Gbps或者更多,这比设备内部带宽低上一两个数量级,不过幸好,如果软件“调配得当”,在这个带宽条件下也可能使得硬件计算饱和。当然,“调配得当”技术挑战极大,事实上,单个设备速度越快,越难把多个设备“调配得当”。



当前深度学习普遍采用随机梯度下降算法(SGD),一般一个GPU处理一小块儿数据只需要100毫秒的时间,那么问题的关键就成了,“调配”算法能否在100毫秒的时间内为GPU处理下一块数据做好准备,如果可以的话,那么GPU就会一直保持在运算状态,如果不可以,那么GPU就要间歇性的停顿,意味着设备利用率降低。理论上是可以的,有个叫运算强度(Arithmetic intensity)的概念,即flops per byte,表示一个字节的数据上发生的运算量,只要这个运算量足够大,意味着传输一个字节可以消耗足够多的计算量,那么即使设备间传输带宽低于设备内部带宽,也有可能使得设备处于满负荷状态。进一步,如果采用比GPU更快的设备,那么处理一块儿数据的时间就比100毫秒更低,譬如10毫秒,在给定的带宽条件下,“调配”算法能用10毫秒的时间为下一次计算做好准备吗?事实上,即使是使用不那么快(相对于TPU 等专用芯片)的GPU,当前主流的深度学习框架在某些场景(譬如模型并行)已经力不从心了。


一个通用的深度学习软件框架要能对任何给定的神经网络和可用资源都能最高效的“调配”硬件,这需要解决三个核心问题:(1)资源分配,包括计算核心,内存,传输带宽三种资源的分配,需要综合考虑局部性和负载均衡的问题;(2)生成正确的数据路由(相当于前文想象的专用硬件之间的连线问题);(3)高效的运行机制,完美协调数据搬运和计算,硬件利用率最高。


事实上,这三个问题都很挑战,本文暂不讨论其解法,假设我们能够解决这些问题的话,会有什么好处呢?


假设我们能解决前述的三个软件上的难题,那就能“鱼与熊掌兼得”:软件发挥灵活性,硬件发挥高效率,任给一个深度学习任务,用户不需要重新连线,就能享受那种“无限大专用硬件”的性能,何其美好。更令人激动的是,当这种软件得以实现时,专用硬件可以比现在所有AI芯片都更简单更高效。读者可以先想象一下怎么实现这种美好的前景。



让我们重申一下几个观点:(1)软件真的非常关键;(2)我们对宏观层次(设备和设备之间)的优化更感兴趣;(3)深度学习框架存在一个理想的实现,正如柏拉图心中那个最圆的圆,当然现有的深度学习框架还相距甚远;(4)各行各业的公司,只要有数据驱动的业务,最终都需要一个自己的“大脑”,这种“大脑”不应该只被少数巨头公司独享。



未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。由互联网进化论作者,计算机博士刘锋与中国科学院虚拟经济与数据科学研究中心石勇、刘颖教授创建。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux进程映像由哪些构成,Linux编程开发进程映像类型分析

进程与线程问题是程序员在学习编程开发语言需要重点掌握的编程知识之一,而今天我们就一起来了解一下,Linux编程开发中进程映像的执行标准。什么是进程映像呢?进程映像是执行程序时所需要的可执行文件,通常会包括下面这些东西代码段(codesegm…

AI芯片之争白热化的当下,如何设计一款真正适用于终端的AI芯片?

来源:36氪概要:2017年,人工智能最火的风口一定是AI芯片。2017年,人工智能最火的风口一定是AI芯片。AI芯片的出现,与深度学习技术的成熟及应用密不可分。深度学习的过程可以简化理解为利用大量标注的数据进行训练&#…

李开复:AI巨头是有史以来最难以打破的垄断

来源:凤凰网概要:李开复认为目前最需要的是小的AI公司,甚至于打破巨头垄断局面的“破局者”也会是这些由小变大的AI公司。当地时间周二(1月23日),世界经济论坛在瑞士达沃斯小镇正式举行,各国政要、企业家、学者云集。创…

杨立昆辞Facebook人工智能实验室主任,任首席科学家

来源:澎湃新闻概要:他将不再担任Facebook 人工智能实验室主任一职,改任Facebook首席人工智能科学家,从而能更加专注于带领科学研究与AI策略。当地时间1月23日,执掌Facebook人工智能实验室(FAIR)…

Redis系列一、redis介绍与安装

一、Redis介绍 redis是一种基于键值对(key-value)数据库,其中value可以为string、hash、list、set、sorted set等多种数据结构,可以满足很多应用场景。还提供了键过期,发布订阅,事务,流水线&am…

redhat6.3的linux内核版本,1-6-RHEL6.3-内核升级(Red Hat Enterprise Linux Server6.3)@树袋飘零...

本节介绍内容:1、内核的概述2、源码编译安装文件系统中的ntfs内核模块案例分析1、内核的概述Linux操作系统是用来跟硬件和用户程序互联的支撑平台,设备的驱动程序完全可以访问硬件,而设备的驱动程序以模块化的形式设置,可以进行安…

MIT人工突触芯片新突破:指甲大小的芯片有望媲美超算

原作 Jennifer ChuRoot 编译自 MIT News量子位 出品 | 公众号 QbitAI论传递信息的能力,计算机的二进制目前还比不上人脑。因为大脑神经元之间传递的信号形式远多过0或1两种:根据突触(神经元之间的结构)间不同的神经递质&#xff0…

Redis系列二、redis的五种数据结构和相关指令之String

redis是一种基于键值对(key-value)的内存数据库,redis数据结构可以分为string、hash、list、set、sorted set。本节中将介绍Redis支持的主要数据结构中的string,以及相关的常用Redis命令。 redis的五种数据结构和相关指令之Strin…

体积最小桌面linux,Tiny Core Linux - 体积最小的精简 Linux 操作系统发行版之一 (仅10多MB) - 蓝月网络...

Tiny Core Linux (TCL) 是一款极体积极小且高度可扩展的微型 Linux 发行版,它将一个 Linux 操作系统精简到仅有 10 多 MB 左右的大小,似乎小巧得有点让人叹为观止!要知道无论是常见的 Ubuntu、CentOS、Debian 的体积动辄就是几百MB甚至要上GB…

美国公布长达35页的《2016-2045年新兴科技趋势报告》

来源:云谷资本概要:前段时间美国公布的一份长达35页的《2016-2045年新兴科技趋势报告》。该报告是在美国过去五年内由政府机构、咨询机构、智囊团、科研机构等发表的32份科技趋势相关研究调查报告的基础上提炼形成的。前段时间美国公布的一份长达35页的《…

Redis系列三、redis的五种数据结构和相关指令之Hash

本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。redis是一种基于键值对(key-value)的内存数据库,redis数据结构可以分为string、hash、list、set、sorted set。 redis的五种数据结构和相关指令之Hash 哈希hash …

深度学习在推荐系统上的应用

作者:陈仲铭,知乎 ID:ZOMI深度学习最近大红大紫,深度学习的爆发使得人工智能进一步发展,阿里、腾讯、百度先后建立了自己的AI Labs,就连传统的厂商OPPO、VIVO都在今年开始筹备建立自己的人工智能研究所。确…

Redis系列四、redis的五种数据结构和相关指令之List

本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。redis是一种基于键值对(key-value)的内存数据库,redis数据结构可以分为string、hash、list、set、sorted set。 redis的五种数据结构和相关指令之List 列表list …

那些顶级的AI机器人“大脑”

来源:机器人创新生态概要:如果说AI是赋予各个下游产业的“大脑”,那分布在世界各地的研究院就是AI的“大脑”。如果说AI是赋予各个下游产业的“大脑”,那分布在世界各地的研究院就是AI的“大脑”。从地域来看,美国依然…

Redis系列五、redis的五种数据结构和相关指令之Set

本节中将介绍Redis支持的主要数据结构中的set,以及相关的常用Redis命令。 redis的五种数据结构和相关指令之set 集合set 集合(set)与列表类似,都是用来保存多个字符串,但集合与列表有两点不同:集合中的元…

srt编辑的文件在linux显示乱码,解决看本地视频srt字幕乱码问题教程-srt文件

大家好,我是Ysaku,今天给大家带来一个解决srt字幕乱码问题的教程,今天在做视频的时候发现下载的视频配上srt字幕后显示的字幕会出现乱码情况,在修正问题后,我想大家也会也到这样的情况,那正好今天分享给大家…

李开复对话李飞飞:AI要理解人类的情感,还早着呢

来源:创业家第48届世界经济论坛年会在瑞士达沃斯召开,主题为“在分化的世界中打造共同命运”。达沃斯当地时间1月23日中午,在MIT的午餐会上,创新工场董事长李开复与李飞飞(Google Cloud AI/ML领域首席科学家&#xff0…

Redis系列六、redis的五种数据结构和相关指令之Sorted Set

本节中将介绍Redis支持的主要数据结构,以及相关的常用Redis命令。redis是一种基于键值对(key-value)的内存数据库,redis数据结构可以分为string、hash、list、set、sorted set。 redis的五种数据结构和相关指令之有序集合sorted …

AI时代的高科技读心术:算法解码脑中图像

来源:科研圈翻译 李杨,审校 张梦茜,编辑 魏潇让我们想象一下:只要在心里浮现出某个人物或风景,就能从一堆数码照片中把它搜索出来。或者不用动笔就能画出一个新的厨房设计。又或者给心爱的人发送一张想象中的落日照…

《Nature》发布毫米级软体机器人,可在没有任何物理干预情况下游走于人体

转载自公众号:机器人大讲堂概要:一直以来,微型机器人、软体机器人成为科学研究的热点,我们都期盼机器人能听从指挥的到达人体指定位置,在对人体危害最小的情况下递送药物或者切除病变组织。1966年著名作家艾萨克阿西莫…