人工智能(AI)和深度学习是计算的未来。以人类的方式了解世界的智能机器,解读我们的语言并从数据中学习,将习惯性地用于解决人脑太复杂的问题。
但AI的进步正在被简单的缺乏计算能力所阻挡。虽然科学家正在构建高级算法,但是它们还没有必要的硬件来训练这些算法上的机器,也没有机器执行算法并将其学习应用于新数据。尽管DeepMind的AlphaGo算法在去年成功地超越了世界上最好的Go玩家,但据报道,它们需要1202个CPU和176个GPU(实际上是Google自己的TPU),这并不完全实用。
需要新的硬件加速解决方案,那么AI需要一种新的计算能力和可能的选择方法呢?
AI的基本形式可以在传统处理器上运行;例如,IBM的沃森运行在功率处理器,GPU和CPU的组合上。虽然沃森经常被认为是AI开发的顶峰,但其功能仅限于寻找隐藏在数据中的模式和见解。 IBM已经在寻找更强大的处理器来为没有足够数据找到模式的问题提供答案,并且潜在排列的数量太大,无法被古典计算机处理。
深度学习是一种新的软件模型,需要不同类型的计算机平台。在深层神经网络中,算法从数据和实例中学习,但有效地编写自己的软件。这意味着软件 - 神经元和连接必须并行训练,而不是顺序进行。
CPU的进步已经放缓,提供的边际收益不足以有效地运行深层神经网络。需要一种可以执行程序员编码命令和深层神经网络并行训练的处理模型。
出现了三种方法来满足硬件加速挑战 - GPU,TPU和FPGA。
图形处理
到目前为止,GPU已经成为用于训练深层神经网络的CPU的首选替代方案,因为它们的设计使得它们能够并行处理大量的基本计算。最初设计为快速绘制实时图像,如视频游戏图形,通过同时呈现数百万行代码,使图像完整,GPU被设计用于特定类型的数学运算,如矩阵乘法。这些操作也用于深层神经网络的训练,是计算量最大的。
GPU加速计算 - 由GPU市场领导者Nvidia描述为“使用大规模并行图形处理器加速应用程序的并行自然”的新计算模式 - 一直在触发和推动AI和深入学习的进步,但它确实有限制。
主要的局限是,GPU主要用于图形而不是深入学习,数据需要以特定格式进行结构化。处理诸如语音或视频等复杂数据集时,这可能尤其具有挑战性。 GPU也具有有限的可重新编程能力,这是由于AI技术的快速发展和发展而引起的。最后,GPU并不在并行板载计算核心之间提供快速连接,也不能即时访问存储复杂模型和数据所需的内存,因此延迟仍然是一个问题。
张量处理单元
去年,谷歌宣布已经使用一个内部开发的芯片--TPU - 一年多来加速深度学习的应用程序,并被用于AlphaGo的胜利。 Google声称其现在在Google Cloud中可用的TPU可提供多达30倍的性能,比CPU和GPU提供高达80倍的性能/ W。
虽然性能的提高令人印象深刻,但TPU本质上是有限的,因为它只能在Google环境中使用,并且可以使用Google TensorFlow软件。开发用于特定用途的ASIC(如深度学习)对于诸如Google的主要参与者来说是有意义的。希望将深入学习纳入自己的产品和业务的小企业和初创公司将需要一个更加灵活的解决方案。
FPGA
FPGA提供第三选择。因为它们包含数千个可同时执行各种过程的可重新编程逻辑块,因此FPGA提供大量并发性,是并行,低延迟,高吞吐量处理的理想选择。与GPU和TPU一样,FPGA的加速处理速度比传统CPU上运行的同一代码快了100倍。
但是,与GPU和TPU相比,它们的主要优点是在部署之后,随着算法演进以及增加敏捷性和灵活性而重新配置硬件的能力。