div#pop_ad { opacity: 0; }
AD
首页 > 数字货币 > 正文

AI时代算力最重要吗

[2021-01-29 18:08:50] 来源: 编辑:wangjia 点击量:
评论 点击收藏
导读: 今天看到一个新闻,著名的人工智能实验室DeepMind今日于Nature子刊发表的最新的多智能体强化学习算法alpha-rank被华为英国研究中心“打脸”了,华为论文指出,DeepMind的这项研究
今天看到一个新闻,著名的人工智能实验室DeepMind今日于Nature子刊发表的最新的多智能体强化学习算法alpha-rank被华为英国研究中心“打脸”了,华为论文指出,DeepMind的这项研究存在多个问题。华为的研究者甚至专门在他们的论文中表示,如果要复现DeepMInd这篇登上Nature子刊的论文,需要动用高达一万亿美元的算力,这基本超过了全球算力之和。

AI时代算力最重要吗

图源https://deepmind.com


强化学习也一直是莲子君的研究方向之一,比较有意思的是DeepMInd的这篇多智能体强化学习论文莲子君之前也读过,但当时并没有觉得其中算法的复现需要的算力回答到这么夸张的地步。这件事到底是DeepMind的论文有问题,还是华为研究人员判断失误?强化学习,或者说现在主流的与深度神经网络相结合的深度强化学习也是人工智能(AI)的一种,那么回答这个问题之前,我们需要首先思考一个问题:人工智能中的算力是什么?算力究竟对AI的发展有多大意义?

算力,很简单就是计算能力,好比一个刚上学的孩子,学习了100以内的加减法,那他的算力只能支撑他进行简单的两位数以内的加减运算,乘法除法这个孩子也不会算。那么他计算5个7相加的时间就需要把7+7计算4次求和,假设每次需要1秒钟,那么完成这次计算需要4秒钟。与之相对,一个学习了所有运算法则的高中生,计算5个7相加只需要进行5乘7等于35就好了,大概需要0.5秒,要是他还背过乘法表,这个时间可以缩短到更小的地步。刚上学的孩子需要4秒钟完成这次计算,而同样的计算对于高中生来说只需要0.5秒甚至更短的时间,我们尽量抽象的来看待这个现象,时间上十倍或者数十倍的缩短就源于这两个计算执行者的计算能力不同,或者说他们的算力不同。

当然,让小学生跟高中生比赛计算加减乘除这件事本身不公平,莲子君只是想通过这个贴近生活的例子来形象地解释一下算力的概念。

好的,算力是计算能力,也就是人或者机器处理数据的能力,那么这和AI的发展有什么关系呢?AI是算法啊,是深度学习,是强化学习,是监督学习,是迁移学习,是元学习等等。是的,AI原理都是基于各种算法,并用神经网络作为函数拟合工具来实现接近人类甚至超越人类的水平。这话对,但也不全对。因为现在我们使用的神经网络都是上世纪七八十年代就提出来了,而各种XX学习的原理基本也都是同时期诞生的,如果前面定义的AI就是现在我们使用的AI,那岂不是早在三四十年前我们就应该能够看到AI的蓬勃发展了吗?

是的,现在基本所有AI算法的理论基础都是半个世纪前就构建好了。早在1956年8月,在美国汉诺斯小镇宁静的达特茅斯学院中,约翰·麦卡锡(John McCarthy)、马文·闵斯基(Marvin Minsky,人工智能与认知学专家)、克劳德·香农(Claude Shannon,信息论的创始人)、艾伦·纽厄尔(Allen Newell,计算机科学家)、赫伯特·西蒙(Herbert Simon,诺贝尔经济学奖得主)等科学家正聚在一起,讨论着一个完全不食人间烟火的主题:用机器来模仿人类学习以及其他方面的智能。

AI时代算力最重要吗

达特茅斯会议参与人员 图源https://www.google.com


会议足足开了两个月的时间,虽然大家没有达成普遍的共识,但是却为会议讨论的内容起了一个名字:人工智能。达特茅斯会议直接推动了全球第一次人工智能浪潮的出现,1956年到1974年,长达二十年的时间里,当时科学家的热情丝毫不亚于现在我们对以深度学习为代表的人工智能的重视程度。乐观的态度弥漫着整个学术界,在算法方面出现了许多世界级的发明,其中前面提到的DeepMind被质疑的论文的基础——强化学习的雏形Bellman方程就诞生于这一时期。

但很快,70年代初AI就遭遇了瓶颈,学术界认为自己有了足够的积累,人工智能是时候走向产业界了,但实际应用中,人们发现逻辑证明器、感知器、强化学习等等只能做很简单、非常专门且很窄的任务,稍微超出范围就无法应对。仅仅想要程序对这个世界具有儿童水平的认识都无法做到——1970年没人没人知道一个程序怎样才能学到如此丰富的信息。另一方面,算法性能的提升很大程度上依赖于计算复杂度的呈指数形式的增长,纸上推导很简单,但当时的计算机有限的内存和处理速度不足以解决这样的计算复杂度,于是人工智能成为了不可能完成的计算任务,接下来将近十年的时间,相关领域的经费被大量削减,坚持AI研究的科学家必须在自己的项目申请书中列上别的研究条目才能申请到经费勉强支持自己的研究。

说了这么多,归根到底还是[计算]二字在起决定性作用,上世纪七八十年代的计算机好比是前面举的5乘7例子中的小学生,他们对数据的处理只能遵循最简单的运算法则,处理速度慢,效率低,计算几百次加法可能还好说,但计算量达到百万千万甚至以亿记,让还是孩子的计算机如何处理得了呢?(这里需要解释一下,当时的计算机性能也已经是很顶尖的了,莲子君的分析都是站在今天回看历史的马后炮哈。)

计算能力不足,对于人工智能来说是巨大的痛,但受限于当时计算机的[受教育水平],大多数人也只能暂时停下相关的研究。

尽管后来九十年代中期,以支持向量机(SVM)为代表的各种基于知识结构的浅层机器学习算法被提出,但其对算力的低要求反而进一步限制了人工神经网络的发展——因为浅层的SVM在分类、回归等问题上已经取得了很好的效果(但并不能超越人类),同时神经网络算法所依赖的最有效的更新方法[反向传播]存在严重的“梯度消失”问题,网络的训练很难。理论基础的缺陷和实际算力的缺失使得深度AI的发展仍陷于瓶颈期。

时间来到了2006年,在达特茅斯会议半个世纪之后,加拿大计算机与心理学家杰弗里·辛顿和他的学生鲁斯兰·萨拉赫丁诺夫正式提出了深度学习的概念,他们在与Nature并称世界三大顶级期刊之一的Science上发表了一篇论文,详细给出了“梯度消失”的解决方案——通过无监督的学习方式逐层训练算法,再使用有监督的反向传播算法进行参数优化。这一方法的给出补上了深度学习的训练方法论,接下来等待的就是合适的算力了。

AI时代算力最重要吗

深度学习之父杰弗里·辛顿 图源网络


还是辛顿老爷子,在2012年的ImageNet图像识别大赛中,带领团队使用深度学习模型一举夺冠,并首次取得了与人类持平的图像识别准确率,他们采用了怎样的算力呢?引入GPU!

什么是GPU?GPU(Graphic Process Unit)即图形处理单元,与我们电脑中常用的CPU串行处理数据的方式不同,GPU是并行处理数据的,它擅长的是大规模并发计算。GPU的大部分工作都属于计算量大,但没什么技术含量且要重复很多遍的类型。就像我们有个任务需要计算上亿次一百以内的加减乘除一样,最好的办法就是找几百上千的小学生来一起算,一人算一部分,反正这些计算也没什么技术含量。而CPU就像高中生,微分积分都会算,但需要的工资高,可能请100个小学生的开销才能找来一个高中生,怎么选合适相信大家都能做出选择。

深度神经网路中的计算恰恰具有这样的特点:量大且相互独立,之前交给CPU来做,CPU延时低,但一个高中生计算1000次网络梯度要1000分钟,这时换GPU,1000个小学生各自负责一部分,只要1分钟就完成了,算力的提高就是从这来的。

总而言之,GPU的运算速度取决于雇了多少小学生,CPU的运算速度取决于请了多么厉害的高中生,高中生处理复杂任务的能力是碾压小学生的,但是对于没那么复杂的任务,还是顶不住人多。当然现在的GPU也能做一些稍微复杂的工作了,相当于升级成初中生的水平。但还需要CPU来把数据喂到嘴边才能开始干活,究竟还是靠CPU来管的。

说了这么多,我们回到一开始的华为怒怼Deepmind这件事上,华为的质疑有道理吗?他们为什么认为DeepMind论文中提出的方法耗尽全球算力都无法实现?

GPU的引入带来深度学习算力的飞速增加,尽管没有CPU那么贵,但随着AI的日益发展,对算力的要求也呈指数增长。GPU也是很贵的啊,而且长期满负荷运转会大大降低GPU的使用寿命,所以算力也是要花钱的。华为研究人员考虑使用目前比较常见的英伟达 Tesla K80 GPU 以每小时 0.9 美元的开销运行,按照DeepMind论文中提供的公式计算,他们的多智能体算法扩展到10个智能体时便需要1万亿美元的算力,而目前全球计算机的算力之和大约就在这个量级,于是DeepMind顺理成章就被质疑了。

看似很合理,集全球之力都算不出你的任务,那你的论文肯定有问题!

然而事情并不是那么简单啊。华为论文中衡量算力使用的基准英伟达 Tesla K80 型号的GPU,首先每小时运行是否只需要6块钱我们暂且不论,假设真的只要6块钱,但DeepMind作为谷歌旗下最大的人工智能研究实验室,真的用的是这种最常见的GPU配置吗?

要知道,目前谷歌对深度学习计算架构的研究可以说是世界领先,早在2016年他们论文中已经在使用TPU(一种更加先进也更加昂贵的计算架构)了,对于普通人来说无法触及的高级计算架构,DeepMind不一定接触不到啊,所以标准不一样,你怎么能说你的算力达不到,别人的算力也达不到呢?

当然,华为的研究人员不会不懂这些,但该怼还是要怼,为什么?

这就是莲子君在标题中问的问题——AI时代算力最重要吗?

并不尽然。

诚然,深度学习的爆发式发展源于算力的发展,各种GPU,NPU。TPU甚至专用计算芯片的出现决定了AI能达到目前的高度,而现在AI暂时的停滞也与算力增长达到新的瓶颈有关,但不是有了算力AI就能继续发展。假设能提供无限算力,AI就可以无止境的发展下去吗?不会的,我们只能得到一个样本数足够巨大的函数拟合器,一旦有例外发生,这个拟合器就失效了,而且这样的完全基于算力的神经网路无法完成我们对真正的人工智能——像科幻电影里那样和人一样独立思考独立行动决策的AI——的期望。

那么还缺什么?

从达特茅斯会议到SVM支持向量机再到反向传播和抑制梯度爆炸算法的出现,每一次都直接推动了人工智能的研究进入新的高潮。从中可以观察出什么?

是的,除了算力,算法也很重要!

我们为什么需要天量的算力来推动人工智能的发展?因为计算复杂度太高。那为什么不从另一方面着手,想办法降低算法复杂度呢?很显然,DeepMind的论文中有许多技术细节并没披露,而恰恰是这些算法设计上的思路才是决定了最终应用性能好坏的关键因素。

做研究当然需要质疑,很明显华为这一次是想通过这种方式套出DeepMind的技术,但谷歌并不愿意放出细节。也许不会有回应,但也可能会放出一个开源的版本,但会回避最核心的东西,毕竟产品效果摆在那里谁也质疑不了。毕竟是商业竞争,只要是公司都会将核心机密保存好的。

所以,在深度学习的浪潮之下,算力固然重要,但只有与算法相辅相成,我们才能在AI的研究道路上走得更远,未来实现真正的通用人工智能的技术也许会是对现有深度神经网路架构的完全颠覆,谁又知道呢?

添加新手交流群:币种分析、每日早晚盘分析

添加助理微信,一对一亲自指导:YoYo8abc

查看更多:

为您推荐