本文由公众号 AIU 人工智能 出品,转载自行咨询原创者授权
机器学习,特别是深度学习,迫使重新评估芯片和系统的设计方式,这将改变未来几十年的行业方向。
从芯片到软件再到系统,计算领域将在未来几年内因机器学习的普及而发生巨大变化。我们可能仍然将这些计算机称为“通用图灵机”,正如我们已有八十年或更长时间。但在实践中,它们将与迄今为止构建和使用的方式不同。
任何关心计算机工作的人以及对所有形式的机器学习感兴趣的人都会感兴趣。
今年 2 月,Facebook 负责人工智能研究的负责人 Yann LeCun 在旧金山举行的国际固态电路会议上发表了演讲,该会议是世界上运行时间最长的计算机芯片会议之一。在 ISSCC,LeCun 明确了计算机技术对人工智能研究的重要性。LeCun 说:“硬件功能和软件工具既激励又限制了 AI 研究人员想象并将允许自己追求的想法类型,我们所掌握的工具比我们承认的更能影响我们的想法”。
不难看出情况是怎样的。从 2006 年开始,深度学习的兴起不仅是因为大量数据和机器学习中的新技术,例如“辍学”,而且还因为计算能力越来越强。特别是,越来越多地使用来自 Nvidia 的图形处理单元或“GPU”,导致计算的更大并行化。这使得对比以往更大的网络的培训成为可能。20 世纪 80 年代提出的“并行分布式处理”的前提,即人工网络的节点同时被训练,最终成为现实。
一些人认为,机器学习现在有望接管世界上大部分的计算活动。在 2 月份的 ISSCC 期间,LeCun 向 ZDNet 讲述了计算方向的变化。LeCun 说:“如果你走了五年,未来十年,你会看到计算机花费时间做些什么,大多数情况下,我认为他们会做一些像深度学习这样的事情 – 就计算量而言”。他还指出,深度学习可能无法通过收入占据计算机销售的大部分,但是,“就我们如何每秒花费我们的毫瓦或我们的运营而言,他们将花在神经网络上。
深度学习成倍增长
随着深度学习成为计算的焦点,它正在推动当今计算机能够做到的界限,在某种程度上推动神经网络进行预测的“推理任务”,但对于训练神经网络更是如此,计算密集型功能。
注:据 OpenAI 称,自 2012 年以来,深度学习网络对计算的需求每 3.5 个月翻一番。
诸如 OpenAI 的 GPT- 2 之类的现代神经网络需要并行训练超过十亿个参数或网络权重。作为 Facebook 的热门机器学习培训库 PyTorch 的产品经理,5 月份告诉 ZDNet,“模型越来越大,它们真的非常大,而且培训成本非常高。”如今最大的模型通常不能完全存储在 GPU 附带的存储器电路中。
此外:谷歌表示人工智能的“指数”增长正在改变计算的本质
计算周期的需求速度越来越快。根据 OpenAI 提供的数据,早在 2012 年创建的令人尊敬的 AlexNet 图像识别系统在总培训时间内耗费了相当于每秒 1000 万次浮点运算的“千万亿次浮点运算”,总时间达到一天。但 AlphaZero 是由谷歌的 DeepMind 在 2016 年建立的神经网络,它击败了世界上的国际象棋冠军,并且每秒消耗超过一千天的千万亿次飞越。AlexNet 和 AlphaZero 之间计算周期的增加使得每 3.5 个月的计算消耗量翻了一番。这是 2016 年收集的数据。到目前为止,步伐无疑会增加。
计算机芯片危机
世界甚至没有佩戴千万亿次筹码,用于深度学习培训的顶级芯片,如 Nvidia 的 Tesla V100,每秒运行 112 万亿次。因此,你必须运行其中的八天 1000 天,否则将许多人聚集成一个耗费越来越多能量的系统。
更糟糕的是,近年来芯片改进的步伐已经触底。正如加州大学伯克利分校教授大卫帕特森和英国航空公司董事长约翰轩尼诗在今年早些时候的一篇文章中所指出的那样,摩尔定律即每十二至十八个月芯片功率增加一倍的经验法则,已经耗尽了气体。英特尔长期以来一直否认这一点,但数据是帕特森和轩尼诗的一面。正如他们在报告中提到的那样,芯片性能现在每年仅增长 3%。
这两位作者都认为,这意味着芯片的设计,众所周知,它们的架构必须彻底改变,以便从不会产生性能优势的晶体管中获得更高的性能。(帕特森帮助谷歌创建了“Tensor Processing Unit”芯片,因此他对硬件如何影响机器学习非常了解,反之亦然。)
由于处理器的改进停滞不前,但机器学习需求每隔几个月翻一番,就必须付出代价。令人高兴的是,如果以正确的方式看待,机器学习本身可以成为芯片设计的福音。因为机器学习需要很少的遗留代码支持 – 它不必运行 Excel 或 Word 或 Oracle DB – 并且正如他们所说的,对于芯片设计师,由于其最基本计算的高度重复性,机器学习是一种绿地机会。
建造一台新机器
卷积神经网络和长期短期记忆网络的核心,深度学习的两个主要支柱,甚至在像谷歌的变形金刚这样的更现代的网络中,大多数计算都是线性代数计算,称为张量数学。最常见的是,将一些输入数据转换为矢量,然后将该矢量乘以神经网络权重矩阵的列,并将所有这些乘法的乘积相加。称为乘法相加,这些计算使用所谓的“乘法 – 累加”电路或“MAC”在计算机中呈现。因此,只需改进 MAC 并在芯片上创建更多的 MAC 来增加并行化,就可以立即改善机器学习。
主导 AI 培训的 Nvidia 和其 CPU 主导机器学习推理的英特尔都试图调整他们的产品以利用那些原子线性代数函数。Nvidia 为其 Tesla GPU 添加了“张量核心”,以优化矩阵乘法。英特尔已花费 300 亿美元收购那些从事机器学习的公司,包括 Mobileye,Movidius 和 Nervana Systems,其中最后一个应该在某个时候导致“Nervana 神经网络处理器”,尽管有延迟。
到目前为止,这些举措并不能满足机器学习的需求,例如 Facebook 的 LeCun。在 2 月与 ZDNet 聊天期间,LeCun 认为,“我们需要的是竞争对手,现在,你知道,主导供应商 Nvidia”。他还指出,这不是因为 Nvidia 没有做出好的筹码。这是“因为他们做出了假设,并且拥有一套不同的硬件可以用来做当前 GPUS 擅长的补充事物,这样做会很不错。
另外:为什么人工智能报告如此糟糕?
他说,其中一个有缺陷的假设是假设训练神经网络将是一个可以操作的“整齐阵列”的问题。相反,未来的网络可能会使用大量的网络图,其中神经网络的计算图的元素作为指针流式传输到处理器。LeCun 表示,芯片必须进行大量的乘法增加,但对于如何将这些乘法增加呈现给处理器的期望不同。
作为 TPU 芯片贡献者之一的谷歌软件工程师 Cliff Young,去年 10 月在硅谷举行的芯片活动上发表了主题演讲时更直言不讳。Young 说:“很长一段时间,我们都拒绝了,并说英特尔和 Nvidia 非常擅长构建高性能系统,”“五年前我们超越了这个门槛”。
创业公司的崛起
在这个漏洞中,新的芯片来自谷歌等人工智能巨头,还有一大批风险投资支持的创业公司。
除了谷歌的 TPU,现在已经进行了第三次迭代,微软还有一个可编程处理器,一个名为 Project Brainwave 的“FPGA”,客户可以通过其 Azure 云服务租用它。亚马逊表示,它将在今年晚些时候推出自己的定制芯片,名为“Inferentia”。当 LeCun 在 2 月份与 ZDNet 谈话时,他提到 Facebook 有自己的筹码。
他指出,像谷歌和 Facebook 这样拥有大量产品的公司,对你自己的引擎工作是有道理的,这方面有内部活动。
创业公司包括 Graphcore,一家位于布里斯托尔的五年创业公司,一个位于伦敦西南一个半小时的港口城市; Cornami,Effinix 和 Flex Logix,所有这些都是由 ZDNet 描述的和硅谷的洛斯阿尔托斯的 s 系统公司仍然处于秘密模式。
许多这些初创公司都有一个共同点,那就是大大增加用于矩阵乘法的计算机芯片区域的数量,即 MAC 单元,以便在每个时钟周期内挤出最多的并行化。Graphcore 是所有初创公司中最远的,是第一个真正向客户发送生产芯片的公司。关于它的第一个芯片最引人注目的事情之一是大量的内存。为了纪念世界上第一台数字计算机,Colossus 被称为芯片,面积巨大,面积为 806 平方毫米。首席技术官 Simon Knowles 称其为“迄今为止最复杂的处理器芯片”。
Colossus 由 1,024 个被称为“智能处理单元”的独立核心组成,每个核心都可以独立处理矩阵数学。众所周知,每个 IPU 都有自己的专用内存,256 千字节的快速 SRAM 内存。总共有 304 兆字节的内存是芯片中最常用的内存。
没有人知道芯片上存在如此多的内存会如何改变构建的神经网络的种类。可能是通过访问越来越多的内存,访问速度非常低,更多的神经网络将专注于以新的和有趣的方式重用存储在内存中的值。
软件难题
对于所有这些芯片的努力,问题当然是由于该公司的“CUDA”编程技术,他们没有为 Nvidia 建立多年的软件。Graphcore 和其他人的答案将是双重的。一个是用于机器学习的各种编程框架,例如 TensorFlow 和 Pytorch,提供了一种避免芯片本身细节并专注于程序结构的方法。所有进入市场的芯片都支持这些框架,他们的创造者认为这些框架与 Nvidia 的竞争环境。
第二点是 Graphcore 和其他人正在构建自己的编程技术。他们可以证明他们的专有软件既可以转换框架,也可以智能地将并行计算分配给芯片上的众多 MAC 单元和向量单元。这就是 Graphcore 为其“Poplar”软件所做的论证。Poplar 将神经网络的计算图分解为“codelets”,并将每个 codelet 分配到 Colossus 的不同核心,以优化并行处理。
在过去的二十年中,大数据和快速并行计算成为常态,推动了机器学习,带来了深度学习。下一波计算机硬件和软件可能是关于大量的内存和神经网络,它们是动态构建的,以利用高度并行的芯片架构。未来看起来很有趣。
本文翻译自:AI is changing the entire nature of compute(Machine learning, especially deep learning, is forcing a re-evaluation of how chips and systems are designed that will change the direction of the industry for decades to come.)