导航菜单

人工智能有望接管”大部分的计算活动

ag真人线上开户

点击上面的关注,All in AI China

机器学习,特别是深度学习,迫使重新评估芯片和系统的设计方式,这将改变未来几十年的行业方向。

从芯片到软件再到系统,由于机器学习的普及,未来几年计算世界将发生巨大变化。我们仍然可以将这些计算机称为“通用图灵机”,因为我们已经使用了80年或更长时间。但实际上,它们与它们的构建和使用方式不同。

任何关心计算机工作并且对所有形式的机器学习感兴趣的人都会感兴趣。

2月,Facebook的A.I.研究员Yann LeCun在旧金山举行的国际固态电路会议上发表演讲,该会议是世界上运行时间最长的计算机芯片会议之一。在ISSCC,LeCun明确指出了计算机技术对A.I.的重要性。

LeCun说:“硬件功能和软件工具可以激发和限制人工智能研究人员的想象力。我们拥有的工具比我们承认的更有影响力。”

自2006年以来,深度学习的兴起不仅受到大量数据和机器学习新技术的推动,例如“辍学”,而且还因为计算能力的提高。特别是,越来越多地使用来自Nvidia的图形处理单元或“GPU”,从而导致更大的计算并行化。这使得培训比过去更大的网络成为可能。 20世纪80年代提出的“并行分布式处理”的前提,即人工网络节点的同时训练,最终成为现实。

有些人认为机器学习现在有望“接管”世界上大多数的计算活动。在2月的ISSCC期间,LeCun告诉ZDNet有关计算方向的变化。 LeCun说:“如果你离开了五年,在接下来的十年里,你将会看到计算机花费时间做些什么。在大多数情况下,我认为就计算量来说,他们会做一些像深度学习这样的事情。”/p>

深度学习呈指数级增长

随着深度学习成为计算的焦点,它正在将当今计算机的界限推向可以实现的极限,并在某种程度上推动神经网络的“推理任务”进行预测,但更多的是用于训练神经网络,计算密集的功能。

25522e78c97f43bf9e9fb6e4ff84c81d

据OpenAI称,自2012年以来,深度学习网络对计算的需求每3.5个月增加一倍

诸如OpenAI的GPT-2之类的现代神经网络需要并行训练超过十亿个参数或网络权重。 Facebook流行的机器学习培训库的产品经理PyTorch说:“模型越来越大,它们非常大,而且培训成本非常高。”今天最大的型号通常没有完全存储在GPU附带的存储器电路中。

对计算周期的需求也在快速增长。根据OpenAI提供的数据,早在2012年创建的令人尊敬的AlexNet图像识别系统在整个培训时间内花费了“100亿浮点运算”,相当于每秒1000万个浮点运算。到达一天。但AlphaZero是由Google的DeepMind于2016年建立的一个神经网络。它击败了世界上的国际象棋冠军,并实现了每秒超过一千天的千万亿次飞行。 AlexNet和AlphaZero之间计算周期的增加使每3.5个月的计算成本翻了一番。这是2016年收集的数据。到目前为止,步伐无疑会增加。

计算机芯片危机

可以说没有一个好的petaflop芯片。用于深度学习的顶级芯片,如Nvidia的Tesla V100,每秒运行112万亿次。因此,您必须在1000天内运行其中的8个或将其集中在消耗更多能量的系统上。

更糟糕的是,近年来芯片改进的步伐已经触底。正如加州大学伯克利分校的教授大卫帕特森和英国航空公司董事长约翰轩尼诗在今年早些时候的一篇文章中指出的那样,摩尔定律已经用尽了“天然气”。英特尔长期以来一直否认这一点,但数据支持他的观点,正如他们在报告中所提到的,芯片性能现在每年只有3%。

59fa7c4c23db4acd92987ada5cd893d9

计算机科学家David Patterson和John Hennessy一直在追踪新芯片的数据,这些芯片显示整个领域正在形成渐近线,最新芯片的年增长率不超过3%。

两位作者都认为,芯片的设计(称为架构)必须彻底改变才能使晶体管获得更高的性能,而这些晶体管本身并没有带来性能优势。 (Patterson帮助Google创建了“Tensor Processing Unit”芯片,因此他非常清楚硬件如何影响机器学习,反之亦然。)

由于处理器的改进停滞不前,机器学习需求将每隔几个月翻一番,我们必须付出代价。好消息是,如果采用正确的方法,机器学习本身可以为芯片设计带来好处。因为机器学习只需要很少的遗留代码支持 - 它不需要运行Excel或Word或Oracle DB - 并且由于其最基本计算的高度重复性,正如他们所说,机器学习对芯片来说是件好事设计师。机会。

建立一台新机器

卷积神经网络和长期短期记忆网络是深度学习的两个主要支柱。即使在更现代化的网络中,例如Google的Transformer,大多数计算都是线性代数计算,即张量数学。最常见的是将一些输入数据转换为向量,然后将向量乘以神经网络权重矩阵的列,并添加所有这些乘法的乘积。称为乘法累加,这些计算使用所谓的“乘法累加”电路或“MAC”在计算机中呈现。因此,通过简单地改进MAC并在芯片上创建更多MAC来增加并行性,可以立即提高机器学习。

e4fdd6f279024d16a1855c0ba87be83b

无论是主导人工智能训练的Nvidia,还是支配机器学习推理能力的英特尔,他们都试图调整他们的产品以利用这些原子线性代数函数。 Nvidia为其Tesla GPU增加了“张量核心”,以优化矩阵乘法。英特尔已花费300亿美元收购机器学习公司,其中包括Mobileye,Movidius和Nervana Systems,预计这些公司将在某个时候推出“Nervana神经网络处理器”。

到目前为止,这些举措对于机器学习领域的人们来说并不令人满意,例如Facebook的LeCun。今年2月,在与ZDNet的对话中,LeCun称:“我们需要一个竞争对手,这是目前的主要供应商(NVIDIA)。”他说,这不是因为NVIDIA不生产高质量的芯片。但因为他们确实生产出优质的芯片。如果你有一组不同的硬件来做出不同的假设,你可以将它用于当前gpu擅长的补充功能。那太好了。

他说,其中一个错误的假设是训练神经网络将是一个可操作的“整齐阵列”问题。相反,未来的网络可以使用大量的网络图,其中神经网络的计算图的元素作为指向处理器的指针流动。 LeCun表示芯片必须进行大量的乘法,但芯片对如何将这些乘法乘以处理器有不同的期望。

作为TPU芯片贡献者的谷歌软件工程师Cliff Young去年10月在硅谷举行的芯片活动上发表了主题演讲时更加直言不讳。 “很长一段时间,我们拒绝了,并说英特尔和Nvidia都非常擅长构建高性能系统。五年前我们超过了这个门槛。”

初创公司的崛起

作为一项突破,新芯片不仅来自Google等人工智能巨头,还来自大量风险资本支持的创业公司。

除了谷歌的TPU,第三次迭代现在已经发生。微软还有一个可编程处理器,一个名为Project Brainwave的“FPGA”,客户可以通过他们的Azure云服务租用它。亚马逊表示将在今年晚些时候推出自己的定制芯片“Inferentia”。当LeCun在二月份与ZDNet谈话时,他提到Facebook也在开发芯片。

“当然,像谷歌和Facebook这样拥有大量产品的公司都有内部活动,因为他们有很多时间来开发自己的引擎。”

初创公司包括位于布里斯托尔的五年创业公司Graphcore,这是一个位于伦敦西南部的一个半小时的港口城市; Cornami,Effinix和Flex Logix,全部由ZDNet描述;和硅谷的洛杉矶Altos的Cerebras Systems仍处于秘密模式。

这些初创公司中的许多都有一个共同点,那就是大大增加用于矩阵乘法的计算机芯片区域的数量,MAC单元,以便在每个时钟周期中挤压最大程度的并行性。 Graphcore是所有创业公司中最远的,也是第一家真正向客户发送生产芯片的公司。关于其第一块芯片最引人注目的事之一是巨大的内存,该芯片被称为“Colossus”,首席技术官Simon Knowles称其为“迄今为止最复杂的处理器芯片”。

d77abb6ee28249b6a84a2075476c40f7

Graphcore的“Colossus”芯片以第一台数字计算机命名,拥有超过一千个相同的矢量处理器内核,借助前所未有的304兆字节片上SRAM实现高并行性。面积为806平方毫米,是有史以来最大的芯片之一。

Colossus由1,024个独立核心组成,称为“智能处理单元”,每个核心都可以独立处理矩阵运算。众所周知,每个IPU都有自己的专用内存,256千字节的快速SRAM内存。总而言之,304兆字节的内存是芯片内置的最大内存。

没有人知道芯片上有如此多的内存可以改变构建的神经网络的类型。这可能是因为随着访问存储器的数量增加,随着访问延迟的减少,更多的神经网络以新的和有趣的方式重用存储在存储器中的值。

软件问题

对于所有这些芯片的努力,问题当然是由于该公司的“CUDA”编程技术,他们多年没有为Nvidia构建。 Graphcore和其他人给出的答案将是双重的。一个是用于机器学习的各种编程框架,例如TensorFlow和Pytorch,它们提供了一种避免芯片本身细节并专注于程序结构的方法。所有进入市场的芯片都支持这些框架,他们的创建者认为这些框架与Nvidia的竞争环境相同。

第二点是Graphcore和其他人正在构建自己的编程技术。他们可以证明他们的专有软件可以转换框架并智能地将并行计算分配给芯片上的许多MAC和向量单元。这就是Graphcore为其“Poplar”软件提出的建议。 Poplar将神经网络的计算图分解为“codelets”,并将每个codelet分配给Colossus的不同核心以优化并行处理。

616445e203674b9abb68dc9aab350529

Graphcore的“Poplar”编译器使用神经网络,并在Colossus处理器中有效地分发其各种功能元素,作为单独的“codelet”。

在过去的二十年中,大数据和快速并行计算已成为常态,推动机器学习并带来深度学习。下一波计算机硬件和软件可能涉及大量的存储器和神经网络,这些存储器和神经网络被动态限制以利用高度并行的芯片架构。未来看起来很有趣。