作者 | Tiernan Ray
编译 | CDA 数据分析师
硅谷创业公司 Cerebras Systems 周一推出了世界上最大的专为 AI 设计的芯片。Cerebras 首席执行官兼联合创始人 Andrew Feldman 与 ZDNet 讨论了深度学习网络培训的一些含义。
你可能听说过,周一,硅谷创业公司 Cerebras Systems 推出了世界上最大的芯片,称为 WSE,或称为“晶圆级发动机”,发音为“明智的”。它将被构建到 Cerebras 销售的完整计算系统中。
您可能不知道的是,WSE 及其制作的系统对 AI 的深度学习形式有一些有趣的含义,而不仅仅是加速计算。Cerebras 的联合创始人兼首席执行官安德鲁·费尔德曼(Andrew Feldman)与 ZDNet 讨论了深度学习中可能发生的变化。
到目前为止,我们对 WSE 的了解有三个直接影响。首先,深度网络的一个重要方面,即“规范化”,可能会得到彻底改革。其次,处理个别数据点而不是群体或“批量”的“稀疏性”概念可能在深度学习中扮演更重要的角色。第三,随着人们开始考虑 WSE 系统的发展,更多有趣的并行处理形式可能成为迄今为止的情况。
所有这些都代表了费尔德曼所说的硬件解放设计选择和深度学习实验。
Cerebras 的“晶圆级引擎”与 Nvidia 的顶级图形处理单元相比,“V100”在深度学习培训中很受欢迎。
“我们很自豪能够大大加速现有的,开拓性的 Hinton,Bengio 和 LeCun 模式,”Feldman 说,他指的是三位深度学习先锋,他们因深度学习而获得 ACM 图灵奖,Geoffrey Hinton,Yoshua Bengio 和 Yann LeCun。
“但最有趣的是尚未开发的新车型,”他补充道。
“可以训练的模型世界的大小非常大,”费尔德曼观察到,“但在 GPU 上运行良好的子集非常小,而且到目前为止,事情一直是关注的地方,”指的是 Nvidia 的图形处理芯片是深度学习培训的主要计算设备。
第一个迹象表明,Cerebras 发生了一些非常有趣的事情,5 月份由 Vitaliy Chiley 和 Cerebras 的同事在 arXiv 预打印服务器上发布了一篇文章,名为“培训神经网络的在线规范化”。在那篇论文中,作者提出了对机器学习网络建立方式的改变,称为规范化。
归一化是一种处理所有统计系统面临的问题的技术:协变量变换。用于训练统计程序的数据被假定为与训练有素的统计模型将遇到的现实世界中的数据基本相似。分类器在野外遇到的猫和狗的图片应该与训练数据中遇到的图片类似。但是,训练中的自变量,“协变量”和野外实际数据中的自变量之间存在差异。这构成了分配的转变。
谷歌科学家 Sergey Ioffe 和 Christian Szegedy 在 2015 年的一篇论文中指出协变量转移也发生在网络内部。当每个训练数据点退出网络的一层中的激活单元时,网络参数已经从该数据点进入网络时转换了该数据点。结果,数据的分布由网络的连续层转换 – 以至于它变得与训练数据的原始统计数据不同。这可能导致网络培训不良。
Ioffe 和 Szegedy 称这种变化是“内部协变量转变”。为了解决这个问题,他们提出了所谓的“批量标准化”。在批量规范中,如已知的那样,将新的处理层插入到网络中。它使用的事实是,数据样本在所谓的“小批量”处理,同时由芯片处理的几个数据样本的分组。芯片统计批次,均值和方差,尤其是整个数据集中统计数据的近似值。然后,它将单个数据点的值调整为更符合这些批次统计数据,作为一种方法,将样本轻推回与人口的“真实”分布一致。
批量规范在加快培训时间方面具有优势,但存在问题。首先,它可以显着增加计算系统中使用的内存。另一方面,它可能会在数据中引入偏差,因为用于计算均值和方差的小批量样本不一定是整个群体中数据分布的很大近似值。当受过训练的网络遇到真实世界数据时,这可能意味着问题,另一个协变量变化。多年来提出了许多后续方法来改进,例如“层规范化”,“组规范化”,“权重规范化”,甚至“重新规范化”。
现在,Cerebras 的团队决定提出替代方案。Cerebras 科学家不是使用批次,而是建议跟踪单个样本,并“将整个数据集上的算术平均值替换为在线样本的指数衰减平均值。”该过程在下图中的网络图中说明。在对 ImageNet 等的测试中,作者认为在线规范化“与大规模网络的最佳规范化器竞争性地发挥作用”。(ZDNet 向 Google 的 Ioffe 发表了评论,但他拒绝发表评论。)
Vitaliy Chiley 及其同事在 Cerebras 提出的“在线标准化”图表,作为批量标准化的替代方案。
WSE 不会自动关闭批量规范; 它是一个可以在处理器中设置的标志。WSE 旨在运行在 TensorFlow 或 PyTorch 和其他框架中创建的任何现有神经网络,并且它将适应批处理规范。
虽然仅仅是 WSE 芯片的一个选项,但在线标准化指出了一种可能的方式,即远离费尔德曼多年来用神奇网络来哄骗神经网络以取悦 Nvidia 等图形处理器。
费尔德曼说:“问题一直受到攻击的方式已经聚集在他们周围,一整套密封蜡和绳子以及纠正弱点的方法很少。”“他们似乎几乎要求你按照 GPU 让你工作的方式工作。”
Feldman 指出批量是 GPU 的并行处理形式的工件。“想想为什么大批量出现在一开始,”他说。“神经网络中的基本数学是一个向量乘以矩阵。”但是,“如果你这样做,它会使 GPU 的利用率非常低,比如几个百分点的利用,这真的很糟糕。”
因此,建议使用批处理来填充 GPU 的操作流程。“他们所做的是他们将矢量叠加在一起,形成一个矩阵逐个矩阵,这些矢量的叠加就是所谓的小批量。”
所有这些意味着批处理“不是由机器学习理论驱动的,它们是由实现 GPU 的一些利用的需要驱动的; 我们将神经网络思维弯曲到非常特定的硬件架构的需求,但是那是落后的。“
“我们最兴奋的事情之一是,WSE 允许你深入学习深度学习的方式,而不是在特定的架构中进行深入学习,”费尔德曼说。
WSE 适用于所谓的小批量,或者实际上是“批量大小”。WSE 没有通过每个可用电路干扰大量样本,而是具有硬连线电路,该电路仅在检测到具有非零值的单个样本时才开始计算。
Cerebras Systems 联合创始人兼首席执行官 Andrew Feldman, 蒂尔南雷
费尔德曼认为,对稀疏信号的关注是对运行多个样本的“数据并行性”的谴责,这再次是 GPU 的时代错误。“数据并行意味着您的个人指令将同时应用于多个数据,包括它们是否为 0,如果它们永远不是零,则是完美的,如图形中所示。“但是当高达 80%为零时,就像神经网络一样,它根本不聪明 – 这并不明智。”他指出,在普通神经网络中,人工神经元最常见的激活单元“ReLU”具有“80%零作为输出”。
能够处理稀疏信号似乎是深度学习的重要方向。在 2 月举行的筹码会议上,Facebook 负责人工智能研究的负责人 Yann LeCun 指出,“随着 DL 系统规模的扩大,模块的激活可能会变得越来越稀疏,只有任何一次激活的模块子集的变量子集。“
LeCun 认为,这更接近大脑的运作方式。“不幸的是,使用当前的硬件,批处理使我们能够将大多数低级神经网络操作减少到矩阵产品,从而降低内存访问计算比率,”他说,与 Feldman 呼应。
“因此,我们需要新的硬件架构,这些架构可以在批量大小为 1 的情况下高效运行。”
如果 GPU 的传统数据并行性不是最优的,Feldman 认为 WSE 使得并行处理的复兴成为可能。特别是,可以探索另一种并行性,称为“模型并行性”,其中深度学习的网络图的单独部分被分配到芯片的不同区域并且并行运行。
“更有趣的是分割工作,以便你的 400,000 个核心中的一些在一个层上工作,一些在下一层上工作,一些在第三层上工作,依此类推,以便所有层都在工作中平行,“他沉思道。他说,其中一个影响就是大大增加了神经网络可以处理的参数状态的大小。根据 GPU 的数据并行性,任何一个 GPU 都可能能够处理一百万个参数。“如果你把两个 GPU 放在一起 [在多处理系统中],你会得到两台可以处理一百万个参数的机器,”他解释说,“但是没有一台可以处理 200 万个参数的机器 – 你没有得到一个双。”
使用单个 WSE,可以支持 40 亿个参数模型。他建议将机器集中在一起,“你现在可以解决 80 亿或 160 亿参数网络,因此它可以让你通过增加资源来解决更大的问题。”
费尔德曼认为像稀疏性和模型并行性这样的东西采用的神经网络“超出了创始人 20 或 30 年前给我们的意义”,意思是,Hinton,Bengio 和 Lecun。现代网络,如谷歌的“变形金刚”,他说,已经“在他们的 TPU 集群中考虑大量计算”,指的是谷歌开发的“Tensor Processing Unit”芯片。
“硬件正在扭曲我们行业的进步,”他是如何总结最先进的。“当硬件的局限性使我们无法探索肥沃的区域时,这就是我们想要改变的东西; 硬件不应该妨碍你的探索,它不应该驱使你采用一些技术,如大批量。
“硬件应该成为你的思维能够形成的平台。”