本文由奇异摩尔编译自Semiengineering
国际能源署(IEA)报告指出,2020年,全球数据中心的用电量为200-250TWh,占约1%的全球总电力需求。而来自几个大型网络运营商的数据表明,能源效率的提高有助于将数据流量与能源使用脱钩。在芯片功耗方面,任何幅度的降低都将大有助益,Chiplet设计的应用被认为可能有助于控制人工智能的电力消耗。
3D Chiplet设计能有效应对高性能计算挑战,在近年来受到了越来越多高性能计算、AI芯片厂商的关注。在制程不变的情况下,基于异构计算的Chiplet能带来算力的持续增长,实现大芯片功耗的大幅下降。不论对企业增长,还是对世界能源未来,都是一项值得推进的举措。
----Kiwimoore”
机器学习正在消耗过多的能源,这种模式成本高昂、效率低下且不可持续。
很大程度上,机器学习是一个全新、令人兴奋的且正在迅速增长的领域。机器学习原本的设计目的是在准确性和性能方面实现新的突破。但在今天,往往也意味着更大的模型和更大的训练集,需要指数级增长的算力,训练和推理都会在数据中心消耗大量电力。
机器学习所耗费的功率数目令人触目惊心。在最近的Design AutomaTIon Conference上,AMD 首席技术官 Mark Papermaster 展示了一张幻灯片,展示了 ML 系统的能耗(图1)与世界能源产量的对比。
图 1:ML 的能耗。资料来源:AMD
并非只有Papermaster在敲响警钟。"我们已经忘记了,过去100年创新的驱动力是效率,"Perceive的首席执行官Steve Teig说。"这就是推动摩尔定律的原因。我们现在正处在一个反效率的时代。"
而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 瓦就完成所有这些事情,包括学习。这就是所谓的大脑。”
那么 ML 是否比替代方案更有效?ICVS 产品经理 Joe Hupcey 说:“必须从其应用系统的角度考虑 ML 的功耗,其中权衡取决于包含 ML 与整个系统的功率配置文件所带来的整体性能增益。”适用于西门子 EDA。“在许多应用领域中,业界已经开发出高效的 ML FPGA 和 ASIC,以降低训练和推理的功耗,并且正在进行大量投资来延续这一趋势。”
有一个影响可能迫使人们更加关注功率。"因为热问题的存在,一些公司正在研究每平方微米的功率" Synopsys公司的科学家Godwin Maben说。"每个人都在担心发热问题。当你在一个小区域内把大量的gate堆在一起时,功率密度很高,温度上升,你就会接近热失控。功率密度现在正限制着性能。作为一个EDA供应商,我们不仅仅关注功率,因为当热能进入画面时,每瓦的性能,然后是每平方微米的每瓦性能,就变得很重要了。"
有几种方法 “我通常喜欢查看每次推断的能量,而不是功率,”西门子 EDA 的 HLS 平台总监 Russ Klein 说。“单看功率可能有点误导。例如,通常 CPU 比 GPU 消耗更少的功率。但 GPU 执行推理的速度比 CPU 快得多。结果是,如果我们查看每次推理的功率,GPU 可以使用 CPU 所需能量的一小部分来执行推理。”
消耗最多能量的地方尚不清楚,虽然这似乎很明显,但结果却颇有争议。有两个方面需要考虑——训练与推理,以及边缘与云。
训练与推理
为什么训练会消耗如此多的能量?“当您对同一个数据集进行多次迭代时,会消耗大量的能量,”Arteris 的 Frank 说。“你正在做梯度下降类型的近似。该模型基本上是一个超维曲面,你所做一些梯度是由通过多维向量空间下降的微商定义的。”
这样做所消耗的能量正在迅速增加。“如果你看看两年前训练一个模型所需的能量,一些变压器模型的能量在 27 千瓦时的范围内,”Synopsys 的 Maben 说。“如果你看看今天的变压器,它超过了 50 万千瓦时。参数的数量从大约 5000 万增加到 2 亿。参数数量增加了四倍,但能量增加了超过 18,000 倍。归根结底,它归结为碳足迹以及这会产生多少磅的 CO2。”
这与推理相比如何?Cadence Tensilica AI 产品的产品营销总监 Suhas Mitra 说:“训练涉及向前和向后传递,而推理只是向前传递。” “因此,推理的能力总是较低。此外,在训练期间,批量大小可能很大,而在推理过程中,批量大小可能会更小。”
当你试图估计这两个函数消耗的总功率时,它会引起争议。“关于哪个消耗更多能量、训练或推理存在争议,”马本说。“训练一个模型会消耗大量的能量,而根据这些数据进行训练所需的天数是巨大的。但它是否比推理需要更多的能量?训练是一次性费用。你花了很多时间在训练上。训练阶段的问题是参数的数量,有些模型有 1500 亿个参数。”
此外,训练通常不止一次。“训练不是一劳永逸的,”Mythic 的 Vehling 说。“他们不断地重新训练、重新优化模型,因此训练是恒定的。他们不断地调整模型,寻找增强功能,增强数据集,因此它或多或少是一项持续的活动。”
然而,推理可能会被重复多次。“你训练一个模型,它可能是为自动驾驶汽车开发的,现在每辆车都使用这个模型,”Maben 补充道。“现在我们正在谈论在大约 1 亿辆汽车中进行推理。一项预测是,超过 70% 到 80% 的能量将用于推理而不是训练。”
有一些数据可以支持这一点。"在Northeastern University和MIT最近的一篇论文认为,推理对能源消耗的影响大大超过了训练,"Untether AI的高级产品总监Philip Lewer说。"这是因为模型是专门为推理而建立的,因此在推理模式下的运行频率大大高于训练模式--实质上就是训练一次,多处运行。"
云与边缘
将应用程序从云端迁移到边缘可能是出于很多不同的原因。Expedera 营销副总裁 Paul Karazuba 说:“市场已经看到,有些项目最好推到边缘而不是云端。” “我认为在边缘完成什么和不做什么以及如何做出这些决定之间没有明确的界限。我们看到了对边缘更多 AI 的渴望,我们看到了对边缘更多关键任务应用程序的渴望,而不是把人工智能作为盒子外面的一个印章。人工智能实际上是在设备中做一些有用的事情,不仅仅存在于那里。”
这并不是要你将云模型移动到边缘。“假设你有一个自然语音、语音识别应用程序,”Mythic 的 Vehling 说。“你正在云端训练这些模型。大多数时候,您都在运行这些模型以在云中进行推理。如果你查看更多位于边缘的推理应用程序,那些不基于云的应用,你可以针对这些本地资源训练模型。所以你要解决的几乎是两个不同的问题:一种是基于云的,另一种是基于边缘的,它们不一定有联系。”
模型的建立必须知道它们最终将在哪里运行。“你通常会发现数十亿参数模型在云中运行,但这只是一种模型,”Vehling 补充道。“在另一个极端,你有少量的唤醒词模型,它们占用的资源非常少——称它们为小 ml 甚至更低。然后在中间是模型类别,例如可视化分析模型,你可能会在基于相机的应用程序中看到这些模型。它们比云中的模型小得多,但也比这种非常简单的唤醒词大得多。”
而且,处于边缘的不仅仅是推理。我们可能会看到越来越多的训练。“联合学习就是一个例子,”Expedera 的首席科学家 Sharad Chole 说。“已经使用的一个领域是自动完成。每个人的自动完成功能可能会有所不同,如何学习?如何定制?必须在保护用户隐私的情况下完成。这是个挑战。”
迈向更高的效率
将应用程序从训练系统转移到边缘涉及到重要的软件堆栈。“一旦你通过了初始训练阶段,后续优化会提供明显更轻的模型,而性能几乎没有下降”西门子的 Hupcey 说。“模型简化技术用于降低推理过程中的功耗。模型简化技术被用来降低推理过程中的功耗。量化、权重修剪和近似被广泛用于模型训练后或模型部署前的过程中。其中最明显的两个案例是TInyML和GPT-3的轻型版本"。
Klein补充道。"删除和修剪是一个好的开始。量化为更小的数字表示也有帮助。可以将网络的规模减少99%或更多,并且在许多情况下精度下降不到1%。有些人还研究了模型中的通道与层之间的交易,以产生更小的网络而不影响准确性。
Klein 补充道:"删除和修剪是一个好的开始。量化为更小的数字也有帮助。积极地进行,这些可以将网络的大小减少 99% 或更多,并且在许多情况下导致精度下降不到 1%。有些人还研究了模型中的通道与层之间的交易,以在不影响准确性的情况下产生更小的网络。”
这些技术既减小了模型的大小,又直接降低了能源需求,更多的改进是可能的。“现在我们看到了对混合精度的支持,每一层都可以量化到不同的域,”Expedera 的 Chole 说。“这种做法可以被进一步推动。也许将来权重的每个维度都可以量化为不同的精度。这种推动是有意义的,因为这样一来,在训练期间,数据科学家会意识到他们如何能够降低功率,以及在降低功率的同时,他们正在做什么样的准确性权衡。”
结论
模型变得越来越大以试图获得更高的准确性,但这种趋势必须停止,因为它消耗的电量正在不成比例地增加。虽然云计算由于其商业模式,今天可以负担得起,但边缘却不能。随着越来越多的公司投资于边缘应用,我们可以期待看到对能源优化的更多关注。
编辑:黄飞
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)