大家要问为什么AI研究人员选择GPU,Alex他们发现GPU的并行运算实际是非常符合深度学习网络的计算特征。那么进一步来讲,为什么GPU对深度学习来讲是非常适合的工具呢?我想给大家讲一个不是那么严肃的例子说明一下为什么GPU非常重要。 大脑就像一个GPU。比如我让大家想象乒乓球,大家闭上眼睛,你们大脑会形成一个几个人打乒乓球的图像,如果让大家想象功夫熊猫,那么脑子里会出现是类似的功夫熊猫图像。所以我们的大脑在思考时会生成一些图片。反过来,GPU的构架也像大脑一样,它不是由一个处理器进行序列的运算,我们的GPU有上千个处理器,非常小的处理器组合在一起来共同解决问题,这上千个处理器会进行数学计算、互相连接、分享信息,最终能够解决一个很大的问题,就好像是我们的大脑一样。所以说大脑就像GPU,因为大脑可以产生图片,而GPU也像人的大脑一样,所以有可能这种新的计算模式、新的计算模型可以解决虚拟现实的问题,它确实是非常适合GPU的。 深度学习是一种新的计算模式,它会涉及软件的方方面面。深度学习首先要设计一个网络并且对网络进行训练,针对一个网络的训练需要几十亿甚至更多的操作,涉及上百万甚至有更多的数据,通过这些数据对网络进行训练,需要很长的时间。如果没有一个GPU,这个过程可能需要好几个月,但GPU把这个时间压缩到几天内,这也是为什么GPU能够帮助大家更好地解决问题。 五、寻找比摩尔定律进化得更快的计算模式 训练是深度学习的一个基础,这个网络有了之后,你希望运用这个网络来进行预测,进行推理,进行归类,要对一个信息进行推理,直播,比如有几十亿人每天在网上问很多的问题,开奖,有可能是图片,文字,语音,将来有可能是视频这种形式。在数据中心当中GPU推理能够非常快地响应。所以深度学习的第一部分是训练,第二部分是推理。 深度学习的第三部分,有些人叫IoT,智能设备、智能终端,也许是摄像头、汽车、机器人,也许是话筒,这样互联设备就变成了智能设备。物联网需要有AI进行驱动,需要深度神经网络进行驱动,大量的智能终端根本目标是需要去识别去归类进行交互,要快要准确,并且尽量在低功耗状态下实现所有这些功能。 在接下来这些时间,软件的开发会和以前不一样,我们运行软件的方法也会不一样,在上面的运算也会不一样,很多设备上要运行什么东西会不一样,所以深度学习将会影响到到计算的各个方面。 现在我们看一下训练,首先我们应该意识到训练的复杂性。前面提到了训练可能是几十亿甚至万亿的运算,模型越大数据越多,结果就会越准确,数据多,加上大模型、大的计算量将会带来深度学习更好的结果,这是非常根本的、非常重要的。 微软有一个叫ResNet的识别网络,如果跟AlexNet比较,AlexNet神经网络是8层,总计算量是1.4G的浮点运算,错误率是16%。8层和1.4G,错误率是16%,意味着什么?这是当时最好的。当时计算视觉专家研发的算法大部分错误率可能比16%更高,这说明用传统计算视觉方式的局限性很大,准确率没有那么高。 如果通过深度学习,我们在过去几年中可以实现3.5%的错误率,3.5%这是在几百万的图像当中进行测试152层的一个网络,几年之前只有8层,现在是152层,总共的计算能力是22.6G/flps,这是18倍的增长,这就表明了深度学习存在的问题。三年之内深度学习的计算负载增长了18倍,这比摩尔定律快很多。 所以问题变得越来越复杂,越来越难,但是计算的能力却没有相应速度的增长,这也是为什么整个行业都开始寻找新的计算模式,为他们都开始来考虑使用GPU计算。 另一个案例更加惊人,是关于语音识别。语音识别是自然语言理解的基础,自然语言理解也是智能的基础。这是百度吴恩达的实验室的工作,2014年有2500万的参数在这个模型当中,训练的材料是7000小时的语料8%的错误率。2015年的训练数据是此前的2倍,深度学习网络是原来的4倍大,2倍的数据量,4倍的网络复杂性,实现的错误率是5%,就在1年之内百度的DPS错误率降至了40%左右。但是需要付出什么样的代价?就是计算量的增长。 (责任编辑:本港台直播) |