机器学习,特别是深度学习,迫使重新评估芯片和系统的设计方式,这将改变未来几十年的行业方向。
从芯片到软件再到系统,计算领域将在未来几年内因机器学习的普及而发生巨大变化。我们可能仍然将这些计算机称为“通用图灵机”,正如我们已有八十年或更长时间。但在实践中,它们将与迄今为止构建和使用的方式不同。
任何关心计算机工作的人以及对所有形式的机器学习感兴趣的人都会感兴趣。
今年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.)
数据分析咨询请扫描二维码
数据分析师的工作内容涉及多个方面,主要包括数据的收集、整理、分析和可视化,以支持商业决策和问题解决。以下是数据分析师的一 ...
2024-11-21数据分析师必须掌握的技能可以从多个方面进行归纳和总结。以下是数据分析师需要具备的主要技能: 统计学基础:数据分析师需要 ...
2024-11-21数据分析入门的难易程度因人而异,总体来看,入门并不算特别困难,但需要一定的学习和实践积累。 入门难度:数据分析入门相对 ...
2024-11-21数据分析是一项通过收集、整理和解释数据来发现有用信息的过程,它在现代社会中具有广泛的应用和重要性。数据分析能够帮助人们更 ...
2024-11-21数据分析行业正在迅速发展,随着技术的不断进步和数据量的爆炸式增长,企业对数据分析人才的需求也与日俱增。本文将探讨数据分析 ...
2024-11-21数据分析的常用方法包括多种技术,每种方法都有其特定的应用场景和优势。以下是几种常见的数据分析方法: 对比分析法:通过比 ...
2024-11-21企业数字化转型是指企业利用数字技术对其业务进行改造和升级,以实现提高效率、降低成本、创新业务模式等目标的过程。这一过程不 ...
2024-11-21数据分析作为一个备受追捧的职业领域,吸引着越来越多的女性加入其中。对于女生而言,在选择成为一名数据分析师时,行业选择至关 ...
2024-11-21大数据技术专业主要学习计算机科学、数学、统计学和信息技术等领域的基础理论和技能,旨在培养具备大数据处理、分析和应用能力的 ...
2024-11-21《Python数据分析极简入门》 第2节 3 Pandas数据查看 这里我们创建一个DataFrame命名为df: importnumpyasnpi ...
2024-11-21越老越吃香的行业主要集中在需要长时间经验积累和专业知识的领域。这些行业通常知识更新换代较慢,因此随着年龄的增长,从业者能 ...
2024-11-20数据导入 使用pandas库的read_csv()函数读取CSV文件或使用read_excel()函数读取Excel文件。 支持处理不同格式数据,可指定分隔 ...
2024-11-20大数据与会计专业是一门结合了大数据分析技术和会计财务理论知识的新型复合型学科,旨在培养能够适应现代会计业务新特征的高层次 ...
2024-11-20要成为一名数据分析师,需要掌握一系列硬技能和软技能。以下是成为数据分析师所需的关键技能: 统计学基础 理解基本的统计概念 ...
2024-11-20是的,Python可以用于数据分析。Python在数据分析领域非常流行,因为它拥有丰富的库和工具,能够高效地处理从数据清洗到可视化的 ...
2024-11-20在这个数据驱动的时代,数据分析师的角色变得愈发不可或缺。他们承担着帮助企业从数据中提取有价值信息的责任,而这些信息可以大 ...
2024-11-20数据分析作为现代信息时代的支柱之一,已经成为各行业不可或缺的工具。无论是在商业、科研还是日常决策中,数据分析都扮演着至关 ...
2024-11-20数字化转型已成为当今商业世界的热点话题。它不仅代表着技术的提升,还涉及企业业务流程、组织结构和文化的深层次变革。理解数字 ...
2024-11-20在现代社会的快速变迁中,选择一个具有长期增长潜力的行业显得至关重要。了解未来发展前景好的行业不仅能帮助我们进行职业选择, ...
2024-11-20统计学专业的就业方向和前景非常广泛且充满机遇。随着大数据、人工智能等技术的快速发展,统计学的重要性进一步凸显,相关人才的 ...
2024-11-20