本文来自微信公众号:科研圈(ID:keyanquan),作者:武大可,头图来自:视觉中国
人类能够高效使用工具,逐渐变得聪明,很大程度上要归功于对生的拇指。不过,假如我们在演化过程中额外获得了第二对对生的手指,使用工具的能力也未必会变得更好——一只手掌上有一个拇指,就已经足够了,再多也没用。
可对神经网络而言,就是另一回事了。机器学习理论不断进步,随之膨胀的,是神经网络的规模。在研究和实践中,人工智能专家们发现,大大增加神经网络的参数量,使其超过数据数量的过程,也就是“过参数化”(overparameterization),能够提高训练的效率,加强网络的泛化能力。
但是,美国麻省理工学院(MIT)的研究者 Neil Thompson 在一项研究中指出,深度学习神经网络的发展令人工智能革命成为可能,但其不断增长的成本值得警惕。当规模的膨胀成为了一股无法阻挡的潮流,同步骤增的金钱成本,能源消耗甚至碳排放,都成为了学界和业界无法忽视的问题。
作为目前被认为最成功的预训练语言模型之一,美国人工智能公司 OpenAI 在 2020 年发布的 GPT-3 的参数量达到了 1750 亿,是它的前身 GPT-2 的一百多倍。GPT-3 能够根据简单的创意写出完整的小说,把晦涩艰深的法律条文用平易近人的语言阐述,也能回答从柴米油盐到天文地理的提问,表现远超此前的任何自然语言处理模型。
不过,与卓越表现相伴的,是高昂的代价——GPT-3 训练的硬件和电力成本高达 1200 万美元(约 7500 万人民币)。根据一项 2021 年 4 月发表在预印本文献库 arXiv 的研究(未经同行评审),GPT-3 在训练过程中消耗了 1287 兆瓦时电力,产生了 552 吨的碳排放,相当于一辆汽车 120 年的排放量。
中国的研发团队在大规模预训练的道路上也没有落后。智源研究院 2020 年发布的悟道 2.0 模型已经拥有 1.75 万亿个参数,相当于 GPT-3 的 10 倍。阿里达摩院 2021 年发布的 M6 模型参数量更是超过了 10 万亿。虽然专门为神经网络运算研发的芯片,如 GPU(图形处理单元)和 TPU(张量处理单元)已经大大抵消了算力需求的增长,但神经网络训练整体成本的增长仍然愈演愈烈。
一、高维空间里,过参数化把神经网络“打磨光滑”
事实证明,过参数化是有效的,尤其在提高大模型的表现上,是极为成功的。在 12 月 NeurIPS 会议上发布的一项研究中,美国华盛顿微软研究院(Microsoft Research)的 Sébastien Bubeck 和斯坦福大学(Stanford University)的 Mark Sellke 就为过参数化成功背后的奥秘提供了最为基础的解释。他们的研究表明,神经网络必须比传统预期大得多,才能在训练和应用中避免一些非常基本的问题。
举例来说,神经网络常常被用于识别图像中的对象。图像是有成千上万个像素构成的,每个像素都可以用一个或几个数值来表示。这些自由数值的组合在数学上相当于高维空间中一个点的坐标,而数值的总数也就是这个高维空间的维数。
数学理论早已表明,要根据 n 个数据点拟合出一条曲线,我们就需要一个同样包含 n 个参数的函数。在 1980 年代神经网络首次出现时,人们也认为同样的规律适用于神经网络——无论数据的维数是多少,用来拟合 n 个数据点的神经网络,应该只需要 n 个参数就能完成任务。然而事情并非如此,如今我们搭建的神经网络中,参数的数量往往远超训练样本的数量。难道数学教科书需要重写了吗?
也不尽然。神经网络的工作并不只是简单的拟合几个数据点。还有一种非常重要的能力,是对神经网络来说至关重要,却时常缺失的——鲁棒性,也就是神经网络在面对微小变化时的稳定性。例如,我们可以很容易地教会神经网络识别长颈鹿的图片,但假如神经网络的鲁棒性欠佳,它很有在面对与最典型的长颈鹿有细微差别的图片时识别错误,比如把黑白的长颈鹿图片识别成斑马,“指鹿为马”。
在实践中,研究者们发现,通过过参数化,神经网络的鲁棒性得到了加强。而这项新的分析提出,拟合相同数据点所得的曲线会随着使用的参数数量增加而变得平滑,神经网络也有着相似的效应——神经网络的鲁棒性与简单曲线的平滑度是相似的,我们仍然可以用平面上的曲线来做类比:当一个函数曲线较为平滑时,如果 x 坐标稍微偏移,曲线上点的 y 坐标也不会剧烈变化。但如果函数波动明显,y 坐标就会随着 x 坐标的细微偏移而剧烈变化,从长颈鹿变成斑马,甚至变成仓鼠都有可能。
Bubeck 和 Sellke 的数学证明表明,要平滑地拟合一个 d 维空间中的 n 个数据点,不仅需要与数据点数量相同的 n 个参数,要需要 nd 个额外的参数才行。这项研究告诉我们,如果希望一个神经网络能够可靠地掌握训练数据的规律,过参数化不只是提高训练速度的催化剂,而首先是保证网络鲁棒性的先决条件。
过参数化成功地保证了大模型在处理高维数据和泛化任务时的表现,成为了几乎所有语音处理模型的选择。GPT、BERT、悟道,这些模型的卓越表现都与数以亿计的参数密不可分。不过,海量参数的亮眼表现,也成为了大模型大算力野蛮生长的推动力。模型规模的扩大,是否可能已经超出了合理的范围呢?有分析显示,从 2012 年起,深度学习的训练成本每隔几个月就会翻一番,从 2013 年到 2019 年,用于训练深度学习模型的计算量在 6 年内增加了 300 000 倍。随着参数量和训练成本的进一步几何级增长,疑问渐渐产生:神经网络参数规模的增长,必然保证性能和效率的持续增长吗?对单一指标的关注,是否忽视了经济、环境和社会成本?这些成本,有可能被压缩吗?
二、从更大到更省,也是一条路
虽然神经网络的规模的膨胀至少在未来数年是不可阻挡的潮流,我们仍有必要,也有能力控制它们的能耗和排放。许多学者指出,目前的学界和业界,尤其是科技巨头公司,研发神经网络的模式有过于粗放之嫌,在降低消耗方面还有很大提升空间。
从算法本身出发来解决算法的缺点,是最直接的手段之一。自从上世纪人工智能诞生以来,在相同任务上提高效率降低成本的算法研究就一直是研究者们最关注的方向之一。就像导语中提到的例子,人类棋手不会对棋盘上每一个可以落子的点都进行计算,而早期的电脑棋手却不知道如何初步筛选出少量的选点。完成相同任务时,人脑的效率远远高于人工智能的一个原因就是,人类不会关注对象的每一个细节,早期的模型却会对每一个数值、每一个像素都一样仔细彻底地进行分析。为什么模型不能舍弃不重要的细节来提高效率?举例来说,近几年诞生的“注意力模型”(attention model)就通过类比人类的“注意力”特点,在自然语言处理上取得了很好的效果——通过对输入进行赋权处理,网络每次只专注于分析复杂输入的特定方面,一个接着一个,最终完成对整个数据集的处理。在这个框架下,模型能够有选择地关注输入最有价值的部分,从而“学到”它们之间的关联。这也是 GPT-3 和 BERT 等近年崭露头角的预训练模型的基础之一。实际上,无论一个算法或模型是否是为了节能减排而研发,只要它切实提高了模型的效率,就一定能在相同的准确性等指标下让成本得以降低。
这些预训练模型的发展,也未必要完全依赖参数规模的增长。此前有研究者推测,正在研发和训练中,并有望很快面世的 GPT-4 的参数规模将比 GPT-3 更大,可能增至 100 万亿。但 OpenAI 的首席执行官 Sam Altman 近期透露,GPT-4 的参数规模并不会比 GPT-3 大。在已经相当巨大的参数规模基础上,依靠进一步扩大规模来获得性能提升的边际效益实在太低。与之相比,Altman 倾向于通过改进数据算法和微调(fine-tuning),在不改变参数规模的情况下适当投入更多计算资源,来改善神经网络的表现。
他指出,模型的参数越多,所能完成的任务就越复杂,但在特定任务上,模型的有效性未必与大小相关。例如,近期美国谷歌公司的一项研究就利用一个远小于 GPT-3 的模型——微调语言网络(FLAN)在许多相当有挑战性的基准测试中获得了比 GPT-3 更好的结果。
三、可持续的绿色 AI,正在路上
专门针对神经网络场景设计的芯片是降低 AI 研发和部署成本的另一个关键。由于神经网络训练需要大量并行的浮点运算和读写,CPU 难以胜任,目前主要使用 GPU 或 TPU 进行。英特尔(Intel),英伟达(Nvidia),谷歌等公司都在设计和生产这些芯片。
而除了芯片设计制造技术的进步以外,全新类型的芯片也可能很快诞生,为神经网络的训练和部署带来变局。MIT 教授 Vivienne Sze 在著作《深度神经网络的高效处理》(Efficient Processing of Deep Neural Networks)就提出了一种可行的构想:通过构建一种多层网格,允许芯片上的网络自适应地重用数据,并根据不同场合深度学习模型的需要对带宽进行调整,最大限度地降低数据传输成本并保持高吞吐量。根据这一构想,Sze 与 MIT 教授、Nvidia 研究员 Joel Emer 合作,设计了一款名为 Eyeriss 2 的芯片,据称在处理各类深度学习模型时的能效比普通 GPU 高出了 10 倍。
通过政策的激励和管控,更合理地安排人工智能研发和部署,也是管控成本,提高整体效率的重要手段。例如,如果人工智能模型使用主要来自可再生能源的电力进行训练,其碳足迹就会相应降低;在可再生能源密集的区域,可再生电力的时间分布不均匀,在电力冗余的时段进行训练,也是提高人工智能产业能源利用效率的有效方法。
中国 2022 年 2 月正式启动的“东数西算”工程就被学界认为是促进产业绿色发展的强力手段。由于东部资源日趋紧张,大规模发展计算中心难以为继,而西部可再生能源充沛,可以很好地承接东部算力需求。华为、百度、腾讯等众多科技公司都响应了这一工程,在西部建立了计算或数据中心。“东数西算”所提升的不只是人工智能训练,而是整个算力密集产业的能效,不仅能立竿见影地降低研发部署成本,更有希望让整个行业的投资变得更加有效,推动东西部协调发展。
另外,提到了新能源,就不得不提人工智能发展与能源转型的双向促进作用。可再生新能源的开发显然能够降低包括人工智能在内的许多产业的能源成本,而人工智能的发展,也将助力可再生能源的消纳,构建更完善的电力体系。风电、光伏等绿色能源近年来快速发展,但由于波动性、随机性、反调峰等特征,并网难、消纳率的问题难以克服,大规模并网甚至可能影响电网的安全稳定运行,导致一些地方出现了“弃风”、“弃光”等现象,可再生能源利用率不高。人工智能技术的应用,将有效提升电网等能源系统消纳多样化电源和协调多能源的能力,实现电力系统的安全、高效、稳定运行。可再生能源产业和人工智能技术互相促进的正反馈,将会是未来几年两者发展的一大驱动力。
算法研究者、硬件开发者和政策制定者都正在实现“绿色 AI”的道路上努力着。但这些硬件和软件支持,终究只是支持。过于关注准确性等性能指标,而以牺牲速度和模型大小等效率指标为代价的观念和评价体系,普遍存在于整个人工智能领域。这样的评价观念亟待转变。毕竟模型做出来,不只是为了在学术期刊和会议上攀比的,更多时候是为了转化为应用,服务业界的,而任何高能耗高排放的应用产品,都是不符合时代要求的。只有认识到这一点,才能真正让“绿色 AI”像今天的“绿色化学”一样,从文献里走出来,走进每一个实验室,走进每一家公司,走进每个人的生活。
参考来源:
https://cacm.acm.org/magazines/2020/12/248800-green-ai
https://www.quantamagazine.org/computer-scientists-prove-why-bigger-neural-networks-do-better-20220210/
https://fortune.com/2021/04/21/ai-carbon-footprint-reduce-environmental-impact-of-tech-google-research-study/
https://www.forbes.com/sites/robtoews/2020/06/17/deep-learnings-climate-change-problem
https://arxiv.org/abs/2104.10350
https://news.mit.edu/2020/shrinking-deep-learning-carbon-footprint-0807
https://analyticsindiamag.com/gpt-4-sam-altman-confirms-the-rumours/
https://arxiv.org/pdf/2109.01652.pdf
https://towardsdatascience.com/gpt-4-will-have-100-trillion-parameters-500x-the-size-of-gpt-3
https://www.rle.mit.edu/eems/
本文来自微信公众号:科研圈(ID:keyanquan),作者:武大可