关灯
开启左侧

连谷歌都喊贵!让ImageNet识别错误率降到5%,要花1000亿美元

[复制链接]
gaimy 发表于 2021-10-8 09:18:51 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
现在的深度学习模型要提升性能,对算力的需求简直令人瞠目。要重新训练一个 ImageNet 识别错误率5% 的模型,需要 1000 亿美元!连谷歌、OpenAI 都嫌贵了,未来我们还能训练的起吗?  深度学习如今应用领域愈发广泛。从语言翻译、预测蛋白质的折叠结构、以及到下围棋、写作文,几乎无处不在。
  深度学习技术,从诞生初期的“无名小卒”逐渐发展到今天的“领军者”,期间走过了数十年的漫长岁月。
  深度学习:从“一纸空想”到“照进现实”
  1958 年的一天,康奈尔大学的 Rosenblatt 看见满屋子的大型计算机在真空管上运行时,大脑神经元之间相互联系激发了他的探索欲望,他设计出了第一个人工神经网络。他称其为“模式识别装置”。
  但是,他心里很清楚:受限于时代,他无法实现这个愿望。他在论文中也不得不承认:计算规模要求太高了!我们做不到。因为随着网络中连接数的增加......传统数字计算机也将很快不堪重负。
  幸运的是,人工神经网络包含了额外的神经网络后,“深度学习”由此诞生。
  几十年来,由于摩尔定律的精准预测和计算机硬件的改进,计算机一秒钟内可以完成的计算数量增加了大约 1000 万倍。有了算力的支持,科学家开始直面以前无法想象的挑战。
  有了性能更强大的计算机,构建更多连接和神经元的网络不再只是设想,复杂现象建模的能力也有所提高。利用这一点,研究人员一次次打破记录,将深度学习应用于越来越多的新的领域。
  从图像分类、物体检测,到推荐问答、目标识别和机器翻译,深度学习以其灵活性和适应性,越来越成为业界的最佳选择。
  但凡事皆有代价。这个代价就是模型成本的急剧上升。
  早期的人工智能系统是基于规则的,利用逻辑和专家知识得出结果。后来的系统中加入了学习,这让智能系统具备了前所未有的灵活性。
  但是,这样做是有代价的。与灵活性一起带来的巨额的计算成本,这里计算成本的上升主要分两个部分:
  第一部分是所有统计模型都要面对的情况,即统计模型性能和计算量呈平方关系。比如要想让性能提升 10 倍,需要的计算量是原来的 100 倍。
  第二部分则来自模型的过度参数化,这部分的影响更大,如果考虑过参数化,对计算力的需求将与性能呈 4 次方关系。这种情况下,要让性能提升 10 倍,需要的计算量是原来的 10000 倍。
  以上只是理论上的估计,而实际上,二者的关系远不止四次方的关系,而是九次方的关系!
  这无疑对计算力的增长提出了极高的要求。算力水平的增长能跟上深度学习模型的需求吗?深度学习模型的成本会不会高到无法承受,最终成为阻碍?
  本文从 1000 多篇关于深度学习的研究论文中收集数据,涉及的领域包括图像分类、物体检测、问答、目标识别和机器翻译。为增强代表性,以下只详细讨论图像分类问题。
  多年来,专家一直在尽力降低图像分类任务中的错误率。但由此也带来了计算成本的飙升。
  2012 年的 AlexNet 首次实现了在图形处理单元(GPU)上训练深度学习系统的能力。该模型使用两个 GPU,训练时间为五至六天。
  到 2018 年,另一个模型 NASNet-A 将 AlexNet 的错误率降低了一半,但为实现这一目标,深度学习模型使用的计算力增加了 1000 多倍。
  让 ImageNet 模型错误率减半,要多花 500 倍的算力
  摩尔定律和其他硬件的进步让芯片性能大幅提升。计算需求是不是不重要了呢?
  不是。
  从 2012 年的 AlexNet,到 2018 年的 NASNet-A,需要的计算量增加了 1000 倍,其中只有 6 倍的提升来自硬件性能的提升,其余的则来自使用更多的处理器数量或更长的运行时间,这会产生更高的计算成本。
  到 2025 年,为识别 ImageNet 数据集中的对象而设计的最佳深度学习系统的错误水平应降低至仅 5% 。但是训练这样一个系统所需的计算资源和能源将是巨大的,产生的碳排放相当于纽约市一个月产生的二氧化碳。
  上图是图像识别任务的计算成本-性能曲线,从中可以看出未来需要多少计算力才能达到更高的性能基准里程碑。比如,达到5% 的错误率需要 10^19 亿次的浮点运算。
  马萨诸塞大学阿默斯特分校的研究,让我们可以了解计算量增长带来经济成本和碳排放。
  图中显示,训练一个错误率5% 的 ImageNet 数据集识别的深度学习系统,将花费 1000 亿美元,产生的碳排放量相当于纽约市一个月的排放量。如果按照1% 错误率估算计算量,结果会更糟。
  真的需要这么多吗?很难讲,这些预测并不精确,一方面,既然已经知道这条路的尽头,计算成本将高到不可接受,研究人员要么想出更有效的方法,要么就放弃对这些问题的研究。
  另一方面,这个结果也表明未来形势的严峻。近几年诞生的著名深度学习模型都面临着成本问题,即使是财大气粗的谷歌、OpenAI 也承认,训练模型太贵了。
  谷歌子公司 DeepMind 训练下围棋的模型 AlphaGo 时,估计花费 3500 万美元。后来 DeepMind 继续设计一个玩《星际争霸 II》游戏的模型,就没有尝试多种方式构建模型的一个重要部分,因为训练成本太高了。
  OpenAI 设计并训练了深度学习语言系统 GPT-3,成本超过 400 万美元。尽管在部署该系统时犯了一个错误,但他们并没有修复,只在论文的补编中解释说,"由于训练成本的原因,重新训练该模型是不可行的"。
  模型训练越来越贵,未来怎么办?
  怎么办?难道因为做起来太贵、用起来太贵,以后就不改进深度学习系统了?
  当然不是。我们需要想其他办法。
  另一种办法是,使用专门为深度学习计算而设计的高效处理器。
  这种方法在过去十年中已经被广泛使用,比如用 GPU 取代 CPU,在某些情况下,还可以使用可编程门阵列和特定应用 IC(上图为谷歌的 TPU)。从根本上说,这类方法牺牲了计算平台的通用性,换来的是专业化程度和效率的提升。
  但这种硬件专门化方案也面临着收益递减的问题。因此,长期的收益将需要采用完全不同的硬件框架--也许是基于模拟、神经形态、光学或量子系统的硬件。到目前为止,这些完全不同的硬件框架还没有产生什么影响。
  另一种方法是使用生成神经网络,这些网络的规模更小,每次使用都会降低运行成本,但训练成本会增加。
  至于这些成本中哪一个最重要取决于具体情况。对于广泛使用的模型,运行成本是总投资的最大组成部分。而对于经常需要重新训练的模型,训练成本可能占主导地位。
  不管是哪种情况,总成本都必须大于训练本身。因此,如果训练成本太高,总成本也会很高。
  这就是第二种方法的主要问题:没有充分降低训练成本。有时需要在不同方案下选择,比如是训练一个大型网络,但在训练过程中会降低复杂度。还是在训练后,“修剪”掉不重要的链接。
  还有一种方法,通过跨多个模型进行优化来找到尽可能高效的架构,这就是所谓的神经架构搜索。虽然多种模型每种技术的优势都很明显,但对训练成本的影响很小,很多时候,还会使训练成本更高。
  怎样解决训练成本问题?
  近年来有一种名为“元学习”的技术。系统学习各种数据,然后应用于多个领域。比如不再构建单独的系统,识别图像中的狗、猫和汽车,而是构建一个对所有这些系统进行训练,并可以多次使用的单一系统。
  遗憾的是,MIT 的 Andrei Barbu 最近研究显示,要想实现这个目标的“元学习”是很难的。原始数据与应用数据之间的微小差异也会严重降低性能。
  因为目前的图像识别系统,在很大程度上取决于目标是以某个特定角度、特定姿势拍摄的。因此,即使是识别不同姿势的相同目标,也会导致系统的准确度几乎减半。
  那么不用原来的数据集,把数据集整个换成新的行不行?
  答案是,还是不行。加州大学伯克利分校的 Benjamin Recht 团队研究表明,即使用专门构建的新数据集来模仿原始训练数据,性能也会下降 10% 以上。
  如果数据的微小变化导致性能大幅下降,那么综合元学习系统所需的数据量可能会非常庞大。因此,多元学习的理论上的巨大前景目前还远未实现。
  这些方法都试过,效果都不明显,那么未来的解决方案可能是新的机器学习类型。
  最近围绕专家的洞察力构建的机器学习系统在计算上可以更加高效,但如果这些专家无法区分所有影响因素,系统性能就无法与深度学习相比。如何利用神经符号方法和其他技术,将专家知识和推理的力量与神经网络的灵活实现结合,是未来解决问题的关键。
  就像 Rosenblatt 在神经网络诞生之初所面临的情况一样,深度学习如今正受到可用计算工具的限制。

回复

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

0粉丝

25188帖子

排行榜

关注我们

官方微信

唯一QQ:

1511923161

地址:广东清远市阳山县

Email:1511923161#qq.com

Copyright   ©2015-2021  网赚平台Powered by©网赚平台工作室