人工智能能耗问题存挑战 高通如何巧妙应对?
当下,人工智能已经深入到经济和产业的每个细分领域,很多产品也已经具备了人工智能的能力,这是积极的一面。但同时,也给我们带来一些严峻的问题和挑战。随着人工智能的发展,能源消耗的越来越严重,有数据预测到2025年,全球的数据中心将消耗全球所有可用电力的20%。
此外,深度神经网络的能耗与其规模大小也成正比。资料显示,到2025年,神经网络的继续发展有望将其规模扩大至100万亿个参数,相当于人类大脑的容量,这样规模的神经网络将消耗大量能源。人类大脑的能效比当前最优秀硬件的能效要高100倍,因此我们应该从大脑得到启发,发展能效更高的人工智能技术。
人工智能的能耗问题具备两大挑战
在Qualcomm技术副总裁韦灵思看来,人工智能的能耗问题存在两个重要的挑战。第一,人工智能创造的经济价值和效益必须超过运行这个服务的成本,否则人们将无法盈利,人们开发的这些卓越的人工智能技术也就无所用处。不管是社交网络上按用户喜好排序,或者是个性化的广告和推荐,它的应用成本都需要控制在一定范围内。此外,人工智能还被应用到大型的智慧城市和智慧工厂中,同样需要控制成本。
Qualcomm技术副总裁韦灵思
第二,人工智能能效问题也是一大挑战,是因为在边缘侧也就是移动环境中,还存在散热的限制。比如说,我们不能在手机里运行能耗过高的任务,否则手机就会变得非常热。但同时,我们需要处理大量的人工智能工作负载,包括完成非常密集的计算分析任务、处理复杂的并发性即在一段时间内同时完成多项任务,还需要保证实时和始终开启,移动环境又有多种多样的限制条件,比如说终端的尺寸很小,又需要保证长久续航以支持全天使用。此外,受尺寸影响,移动终端的内存和带宽也都有限制。
“所以说,不管是从经济效益还是热效率的角度看,我们都必须要降低人工智能运行的能耗。” 韦灵思总结到:“我认为未来人工智能算法将不会由其所能提供的智能多少来衡量,而是要看这种算法每瓦时所提供的智能多少,这会成为未来人工智能算法的重要衡量指标。在此方面Qualcomm拥有很大的优势,低功耗计算正是我们一直以来所擅长的。”
Qualcomm在终端侧让深度学习更加高效
深度学习是人工智能发展历程中的一次重要变革,受神经网络的大幅发展所驱动,深度学习显著提高了预测的准确性。此外,韦灵思表示我们不应该从声音、信号等大量原始数据中人工定义特性,而是应该让算法从原始数据中自行学习提取特性,这是一个巨大的突破。神经网络的优点还包括,它能够自动探测物体,非常高效地共享参数,使部分数据更加高效,并且可以在现代硬件上快速执行。
当然,深度学习也有需要改进的方面,在韦灵思看来,最重要的一点是,卷积神经网络使用了太多的内存、计算能力和能源,这是现在急需改善的。此外,神经网络不具备旋转不变性、不能量化不确定性以及它很容易被输入侧轻微的改变所欺骗等。
为应对这些挑战,Qualcomm开展了大量的工作。在降低能耗方面,受人类大脑的启发,Qualcomm早在超过十年前就已经开始了脉冲神经网络的研究,这也是实现低功耗计算的一种方法。现在同样受人脑的启发,Qualcomm正考虑利用噪音来实现深度学习方面的低功耗计算。
韦灵思解释称:“人脑其实是一个充满噪声的系统,它知道如何处理噪音。我相信,我们可以更进一步利用噪音来为神经网络带来益处。在专业领域,我们将这种方法称为贝叶斯深度学习,这也是我们实现这一切的重要基础性框架。通过贝叶斯深度学习,我们把神经网络压缩得更小,使其可以更高效地运行在骁龙平台上。我们还通过使用这一框架,量化我们需要进行的计算处理的比特位。”
谈及这些噪音如何帮助我们进行压缩和量化时,韦灵思讲到,我们将噪声引入到神经网络,继而影响到各个参数和连接,然后这些扰动的参数将噪声传播到激活节点,也就是各个神经元。如果这些神经元充满了噪音、不存储任何信息、或对预测不能发挥任何作用,我们就对其进行裁剪。通过裁剪神经元,神经网络会变得更小,从而在计算机和骁龙平台上也将会运行得更快。
刚刚谈到了使用贝叶斯框架进行压缩与量化,事实上它还可以解决许多其他问题。如果神经网络只进行过面向某一场景的训练,例如一台自动驾驶汽车只接受过某一城市的相关训练,现在这台汽车来到另一个新的城市,你可以使用贝叶斯深度学习进行泛化。Qualcomm的思路是,能够对数据做出解释的最小、最简单的模型即为最适合的模型,这就是奥卡姆剃刀。贝叶斯学习还可以帮助我们产生置信估计,即量化神经网络的不确定性。当我们加入噪声,噪声将传播至预测,从而产生预测的分布区间,由此完成对预测置信度的量化。最后,贝叶斯学习可以帮助我们不易遭受对抗攻击,即通过输入侧的轻微改变来得到不同的预测结果。它也有助于保护用户的个人隐私,因为数据信息可以转换为模型参数甚至可以进行重构,使得数据具有隐私敏感度。所以说通过加入噪声,可以很好地帮助我们保护隐私。总体而言,贝叶斯深度学习可以很好地解决深度神经网络所面临的诸多挑战。
“随着压缩比越来越大,贝叶斯深度学习相比于其他方法的性能优势就越明显,其在移动平台上的运行也更为高效,这就是为什么我们认为贝叶斯深度学习尤其适合移动场景。” 韦灵思进一步讲到。
此外,据介绍,目前Qualcomm异构计算系统中包括了三个组件,分别是CPU、GPU和DSP。超过十年来,在每一个产品研发周期内,Qualcomm都从多个维度持续提升这三大组件。举例来说,在缓存结构(caching structure)上,Qualcomm不断优化内存工作方式;持续优化精确性,通过最低的能耗实现对精确度优化;优化计算管理,比如说当有一个计算任务,可以选择让GPU、CPU或是DSP完成,或者让所有组件共同完成。虽然目前只对单一终端上的计算进行管理,但Qualcomm有更远大的愿景,在即将到来的5G时代,Qualcomm将在万物互联的环境下,将计算放在由终端及云端组成的整个网络中运行,为网络边缘带来强大的人工智能系统。”
Qualcomm三层努力加速人工智能研究
在加速人工智能研究方面,Qualcomm也做了很大的努力,包括对计算架构、内存层级及使用层面的优化和提升。在计算架构方面,Qualcomm专注于优化指令类型和并行性,以及优化运行计算所需的精确度,贝叶斯深度学习可以帮助实现最佳的运行精确度。同样重要甚至更为重要的是内存层级。据估计,从DRAM迁移数据或将数据迁移至DRAM的功耗,是ALU运算(ALU Operation)功耗的200倍,因此,需要优化内存层级以降低数据移动的功耗。在使用层面,Qualcomm致力于优化硬件、软件和编译器,从而减少计算的冗余并最大化计算吞吐量和内存带宽。
韦灵思补充道:“由硬件、软件和算法构成的生态系统对我们来说至关重要。高效的硬件将不断演进,以适应在人工智能领域出现的全新算法。”
他进一步讲到:“我们关注如何在硬件上更高效地运行卷积神经网络,以及为高效运行神经网络而开发更高效的新硬件。在算法方面,确保算法在骁龙平台上的高效运行。这一切都需要通过软件工具来实现,也就是我们的骁龙神经处理SDK。大家可以将软件看成是连接硬件和算法之间的桥梁。比如说,你在骁龙平台上构建你最喜欢的模型,或进行你最喜欢的人工智能测试,当你将模型放到神经处理SDK中,这些可用的软件工具将帮助你进行压缩和量化,从而确保你的模型或测试在骁龙平台上高效运行。”