参与:朱朝阳、侯韵楚、李亚洲、黄小天
作为思维锻炼,让我们将神经网络视为大量的图形,把 CPU 视为一个更高级命令处理器的被动从属设备,这个处理器可在不断扩展的连接网络上跨多点进行训练、推断,并在同一架构上自我分化成多个模型。 当然,在这个概念中可能会有大量的技术性否定,且只有一部分与算法复杂性有关。首先,至少对于神经网络问题来说,即使在诸如 GPU 和 FPGA 的专用设备上,内存带宽也到达了极限。第二,即使保持存储消耗的供给不是瓶颈,软件开发任务也会随问题而扩展。架构定制是大规模提高神经网络速度的唯一办法。这并不排除通用加速器,因为确实需要它们去完成任务。 退一步讲,真正的问题是如果新一代处理器要颠覆 GPU 或 FPGA,又或是可靠的 CPU,它应该具备哪些性能?有些情况下,这种处理器看起来像是一个(经常被堆栈的)内存设备,可以掌控整个模型,并通过最小化(或至少减少)片外存储器访问来减少延迟;其他情况下,它看起来又更像是一个专门被架构的用于快速输入/输出的计算图形处理器 :带有一个自定义互连,大量但简单的内核,并可在鲁棒的编译器之后大规模地解决所有凌乱的图形处理问题。 一些人会认为 Pascal GPU 已能做到这一点,并会继续发挥更大作用,因为它们擅长处理神经网络算法中稀疏性问题。但是调优的架构却牺牲了性能和效率。关键在于,如果存在一种训练与推断同样高效的图形架构,它可能会颠覆整个行业。如果深度学习的早期阶段有令人垂涎的奖励,尤其是当用户池足够浅从而可一眼看穿时,一个两全其美的架构就有可能出现在行业之中。 像许多我们交流过的做机器学习芯片的供应商和研究人员一样,Graphcore 认为其取得了突破性进展,提升了可延展性,恰当地平衡了性能/电源。Graphcore 还认为通过一个图形处理器做可以解决所有问题,并最终可让智能处理单元(或 IPU,如其所名)在同一架构上跨多个形状因子(服务器和设备)地承担训练与推断的双重任务。你猜怎么着?他们确实为上述所有情况做了最好的打算。也就是说他们声称的可以在新一代的高带宽/堆栈内存上获得 100 倍的内存带宽加速,这确实是真的。关于这一点,谈论硬件时会提及更多,atv,2017 年底是 TSMC(如 Pascal GPU)的 16 纳米 FinFET 早期用户预定的交付日期。 Graphcore 的 CEO Nigel Toon 向 *The Next Platform *提供了关于其所做事情的极其详细的信息,他在特定工作负载的专用架构设计上很有经验,作为一名前 IPO 场应用工程师在 FPGA 芯片制造商 Altera 工作超过 10 年,并在多家聚焦于高调试硬件设备的单一性业务初创公司(被 Nvidia 和 Broadcom 收购)工作过。Graphcore 工程团队的大部分人都有类似的背景。而且,他还说,Graphcore 知道如何瞄准一个特定应用程序集并打造其他公司肯定也在做的适配性东西,只是没有做到像 Graphcore 这样强调互连和底层软件堆栈。 「设计出的这一架构可同时适合训练和推断。在某些情况下,你可以设计一个可用于训练的硬件,然后将其分段或虚拟化以支持许多不同的用户进行推断甚至是不同机器学习模型的部署。存在如下情况,例如,当一切被嵌入之后,并且你需要一个稍微不同的实现,但它却是同一个硬件架构。这是我们的主题:唯一架构 IPU,可用于训练、推断,并可完成被用于服务器、云或网络边缘的机器的不同实现。 Graphcore IPU 的核心是一个图形处理库。「如果查看底层机器学习工作,需要捕获数据精华,即从数据中学到的一组特征和这些特征之间关系。这可表示为一个神经网络模型,或者更准确更通俗地说,是一个计算图形,它的一组边表示关联权重的数据,边上的顶点表示计算函数,」Toon 解释道。「你正在尝试在图形上理解这些特征和它们之间的关系。该图形的构建很复杂,且是多层的,因为你得到了这些关系的不同的层面。」问题也不会就此结束。神经网络的总体规划是创建越来越大的网络,彼此循环,学习和改进。这些必须是循环的——不只是以 RNN 方式,而且要在许多层和网络中循环。总之,最终结果是深入,宽泛的强化学习,或更简单地,建立在使用不断改善的网络。正如人们可以想象的那样,这种任务的计算负荷是巨大的,并且比简单地投入 CPU 来喂养它更加微妙,即使它最容易线性地(在理论上)扩展。 说到理论,建立一种自我馈送、自我学习的网络将带来重大挑战:抵达最专业设备的当前极限。 (责任编辑:本港台直播) |