神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。
编者按:人工智能可以做的事情越来越多,而且越来越好。这是一件好事,但是这些好处背后的代价是什么呢?人工智能的能耗走出了一种指数式的走势,模型和训练数据规模的不断扩大都需要算力的指数式增长才能满足要求。智能向边缘层下移则进一步恶化了这种趋势。任由这种趋势发展下去,人类生产的电力将无法满足人工智能的胃口,能耗优化已经迫在眉睫。文章来自编译。
机器学习正在消耗提供的所有能源,这种模式成本高昂、效率低下,且不可持续。
在很大程度上,这是因为这个领域还很新、令人兴奋,且正在迅速发展。做 AI 的目的是要在准确性或能力方面开辟出一片新天地。发展到今日之地步,这意味着要有更大规模的模型和训练集,这些都需要算力的指数级增长才能满足要求,算力则需要数据中心消耗大量电力来进行训练和推理。而且,智能设备也开始随处可见。
但是这些处理所需的电耗总数开始吓到人们。在最近的设计自动化大会(Design Automation Conference)上,AMD 首席技术官 Mark Papermaster 放出了一张幻灯片,上面展示了机器学习系统的能耗(图 1)与全球发电情况的对比。
图 1:机器学习的能耗。资料来源:AMD
发出警报的并不只有 Papermaster 一个人。Perceive 首席执行官 Steve Teig 表示:“我们已经忘了过去 100 年来,效率一直是创新的驱动力。效率是推动摩尔定律的原因。但我们现在正处在一个反效率的时代。”
Synopsys 主席兼首席执行官 Aart de Geus 则代表地球这个星球恳求人们对此采取行动。 “有智慧的人应该有一颗帮忙的心。”
为什么能源消耗增长如此之快?Arm 研究员兼高级技术总监 Ian Bratt 说:“神经网络的计算需求是没法满足的。网络规模越大,结果就越好,可以解决的问题就越多。电力使用与网络规模成正比。因此,高效节能的推理对于采用越来越复杂的神经网络和增强的用例(比方说实时语音与视觉应用)至关重要。”
不幸的是,并不是所有人都关心效率。 Mythic 负责产品和业务开发的高级副总裁 Tim Vehling 表示: “观察一下那些超大规模的公司在做的事,你会发现他们想的是得到更好、更准确的声音识别、语音识别与推荐引擎。这是钱的问题。准确性越高,可以服务的客户就越多,公司的盈利能力就越强。看看训练和推理那些非常大规模的 NLP(自然语言处理)模型的数据中心,那都是要消耗大量电力的地方。而且我不知道他们有没有动力去优化这些应用的功耗。”
但有些人确实在乎。Synopsys 的科学家 Alexander Wakefield 说:“减少这些公司产生的碳影响存在一些商业压力,这个跟钱没有直接关系,只是更多的是消费者只会接受碳中和的解决方案。绿色能源也给他们施加压力,如果某位供应商表示自己做到了碳中和的话,可能就会有更多的人用它们的产品。”
但并不是所有能耗都发生在云端。智能边缘设备越来越多也会带来问题。Aspinity 战略和技术营销总监 Marcie Weinstein 表示:“物联网的设备已经达到了数十亿台,在不久的将来,它们消耗的能源将会超过我们生产出来的所有电力之和。这些设备收集和传输数据,以及用收集来的数据所做的任何事情都需要消耗电力。”
图 2:边缘设备的处理效率很低。资料来源: Aspinity /IHS/SRC
过去,科技界依靠缩小半导体尺寸来提高能源效率。Arteris IP 的研究员兼系统架构师 Michael Frank 说:“我们的工艺技术正在接近物理极限。晶体管的宽度已经达到二氧化硅的 10 到 20 晶格常数左右。带有杂散电容的连线现在也更多了,而这些电路在充电和放电过程中会损失大量能量。在进入非线性区域之前,我们也没法显著降低电压,一旦进入那个区域,操作的结果将是统计性而不是确定性的。从技术角度而言,这方面我们确实没有什么好机会。不过,我们倒是有个只需消耗约 20 瓦就能做完包括学习在内的所有这些事情的概念证明。也就是所谓的大脑。”
那么机器学习是不是比替代方案更加有效? 西门子 EDA ICVS 产品经理Joe Hupcey 说:“必须从应用系统的角度去考虑机器学习的功耗,如何取舍要取决于纳入机器学习之后整个系统得到的性能提升与整个系统的功耗情况的对比。在许多应用领域,业界已经开发出高效的 ML FPGA 以及 ASIC,目的是降低训练和推理的功耗,这方面一直有大量的投资来延续这一趋势。”
还有一种影响可能会迫使大家更加关注功耗情况。Synopsys 的科学家 Godwin Maben 说:“因为热量的关系,一些公司正在关注每平方微米的功耗问题。每个人都担心高温。一旦在很小一块区域内将许多门(gate)堆叠在一起时,功率密度会变得非常高,温度也会相应升高,导致逐渐接近热失控。功率密度就会限制性能。作为 EDA 供应商,我们不仅仅关注功率,因为当出现发热时,每瓦性能,以及之后的每平方微米每瓦性能,就会变得很重要。”
审视这个问题可以有几种方式。西门子 EDA 负责 HLS 平台的总监 Russ Klein 说:“我一般喜欢观察每次推断消耗的能量,而不是看功率。看功率可能会有点误导性。比方说,CPU 消耗的功率一般低于 GPU。但 GPU 执行推理的速度比 CPU 快得多。其结果是,如果比较每次推理的功耗,GPU 只需要消耗 CPU 所需电力的一小部分即可执行推理。”
什么地方最耗电尚不清楚,虽然看起来似乎很明显,但结果却颇有争议。有两组关系需要考虑——训练与推理,以及边缘与云。
为什么训练这么耗电?Arteris 的 Frank 说:“对同一个数据集进行多次迭代会消耗大量电力。你要做梯度下降类型的逼近。这种模型基本上是一个超维曲面,由沿着多维向量空间下降的微商所定义的一种梯度下降。”
这种处理的能耗正在迅速增加。Synopsys 的 Maben 表示:“两年前,训练一个 transformer 模型所需的能耗在 27 千瓦时的范围内。但今天的 transformer 模型能耗已经超过了 50 万千瓦时。(特征)参数的数量从约 5000 万增加到了 2 亿。参数的数量增加了四倍,但能耗增加了超过 18000 倍。这到最后又会增加多少磅的二氧化碳排放呢?”
这种能耗与推理相比如何?Cadence Tensilica AI 的产品营销总监 Suhas Mitra 表示:“训练涉及到正向和反向推导,而推理只有正向推导。所以,推理的能耗总要低一些。此外,在训练期间,一个批次的数据有可能会很大,而在推理过程中,一个批次的数据规模可能会小一些。”
不过对这两种功能的总能耗测算会引起争议。Maben 说: “训练和推理谁更耗电存在争议。训练一个模型会消耗大量的电能,基于这一数据所需的训练天数也很可观。但是不是就意味着训练比推理更耗电呢?训练是一次性费用。你花了很多时间在训练上。训练阶段的问题在于参数的数量,有些模型有 1500 亿个参数。”
此外,训练一般都不是一次就搞定。Mythic 的 Vehling 表示:“训练不是一劳永逸的事情。你得不断地重新训练、重新优化模型,所以训练是常态。你得不断地调整模型,找到可以加强的地方,不断丰富数据集,所以说训练多多少少算是一项持续的活动。”
不过,推理则有可能要重复多次。Maben 补充道:“你训练一个模型,这个模型可能是为自动驾驶汽车而开发的,然后每辆车都用了这个模型。我们现在讨论的可是约 1 亿辆汽车进行的推理。据一项预测估计,超过 70% 到 80% 的能耗将用于推理而不是训练。”
这个观点得到了一些数据的支持。 Untether AI 产品高级总监 Philip Lewer 说:“美国东北大学和麻省理工学院最近发表的一篇论文估计,推理对能耗的影响比训练要大得多。这是因为模型是专门为推理而开发的,因此在推理模式下运行的频率要比训练模式高得多——基本上算是训练一次,随处运行。”
将应用从云端迁移到边缘的原因可能有很多种。Expedera 营销副总裁 Paul Karazuba 说:“市场已经发现,部分活动最好是下放到边缘而不是云端。在我看来,边缘层该做什么、不该做什么,以及如何做出这些决定方面没有明确的界限。我们看到了边缘部署更多 AI 的渴望,我们看到了边缘部署更多关键任务应用,而不是将 AI 作为包装盒外部印记的渴望。他们希望 AI 能在设备上做一些有用的事情,而不仅仅是贴个标签。”
这并不是说要把云端的模型搬到边缘。Mythic 的 Vehling 说:“假设你有自然语音、语音识别应用。那些模型都是在云端训练的。而且大多数时候,你对这些模型的推理也是在云端进行的。如果你看看更多部署在边缘层的推理应用,这些不放在云端的应用可以利用本地资源来训练模型。所以你要解决的几乎是两个不一样的问题。一个是基于云的,另一个是基于边缘的,这两个未必存在关联。”
开发模型的时候必须知道最终会在什么地方跑。Vehling 补充道:“通常你会发现在云端运行的模型有数十亿个参数,但这只是模型的一种。在另一头,则是一些很小规模的模型,比如唤醒词什么的,这种模型占用的资源非常少——可称之为微型机器学习甚至更小。然后在这两者的中间还有一种模型,比方说可视化分析模型,那种基于相机的应用可以看到这种模型。与驻留云端的模型相比它们要小得多,但与非常简单的唤醒词模型相比则要大得多。”
下移到边缘的不仅仅是推理。我们可能会看到越来越多的训练也会下移。Expedera 首席科学家 Sharad Chole 表示:“联邦学习就是一个例子,这个领域已经运用到自动补全上。每个人的自动补全可能会有所不同,怎么才能学习到要补全的东西?如何针对个人定制?而且还必须保护用户的隐私。做到这一点很有挑战。”
将应用从训练系统转到边缘要牵涉到一个重要的软件栈。西门子的 Hupcey 表示: “初始的训练阶段一旦通过之后,后续的优化就可以提供轻量得多的模型,但性能并不会降低太多。模型简化技术可以用来降低推理过程的能耗。模型部署之前或之后广泛使用了量化、权重剪枝与逼近等技术。最明显的两个案例是 TinyML 以及 GPT-3 的轻量版。”
Klein 补充道:“随机正则化(Drop-out)以及剪枝是一个好的开始。量化到更小的数字表示也会有所帮助。如果做法比较激进的话,这些举措可以将网络的规模减少 99% 或更多,而且在许多情况下准确率的下降才不到 1%。有人还考虑设计模型时用层来取代通道,在不影响准确性的情况下减少网络的规模。”
这些技术既减小了模型的规模,又直接降低了能耗需求,但我们还可以做出和更多改进。Expedera 的 Chole 表示: “现在我们看到了对混合精度的支持,也就是每一层都可以量化到不同的域。甚至我们还可以更进一步。也许将来权重的每一个维度都可以量化成不同的精度。这种做法很有好处,因为在训练期间,数据科学家可以在降低功耗与需要牺牲多少准确率之间做出权衡。”
为了提高准确性,模型规模变得越来越大,但这种趋势必须停止,因为要增加的耗电量不成比例。虽然鉴于(大公司的)商业模式,在云端部署这种模型还可以负担得起,但边缘层就不行了。随着越来越多的公司对边缘应用进行投资,预期大家会更加关注能耗的优化。部分公司正在考虑在未来 5 年内将能耗减少 100 倍,但就算这样也远远不足以阻止这一趋势。
译者:boxi。
相关推荐
AI的B面:能耗爆发式增长,电力撑得起AI的算力吗?
ReRAM 「存算一体」应用于AI大算力的新思路
苹果A系列芯片的三年AI进化:为何要大规模升级AI算力?
打赢AI争夺战,要靠一张算力网
处理35亿张图片+42台服务器+336块显卡,硅谷可怕的AI算力就是这么来的
从苹果A14芯片看AI算力的新摩尔定律
人工智能算力网络:独属中国的AI产业发展杀手锏
算力形态进化后,AI超算能解开数据科学团队的算力桎梏吗?
中国AI算力占全球三成:IDC 最新报告解读,算力仍是AI发展最强推力
类脑智能,怎么就成了AI的新宠?
网址: AI的B面:能耗爆发式增长,电力撑得起AI的算力吗? http://m.xishuta.com/newsview66158.html