您现在的位置是:首页 >动态 > 2021-04-09 10:26:47 来源:
英特尔如何在AI时代设计处理器
英特尔是全球最大的计算机处理器制造商,但它在利用人工智能计算爆炸方面并不是最快的。竞争对手Nvidia和其他AI处理器初创公司已经进入市场,英特尔一直在追赶。
但这家大公司一直在快速发展。它在2016年以3.5亿美元收购了AI芯片设计公司Nervana,英特尔最近宣布其Xeon CPU 在2017年创造 了10亿美元的收入 用于AI应用。英特尔认为,到2022年,AI芯片的整体市场收入将达到80亿至100亿美元之间。该公司专注于从头开始设计AI芯片,AI架构副总裁兼总经理Gadi Singer表示。英特尔。
Singer,他的老板Naveen Rao和芯片架构师Jim Keller最近一直在努力表明英特尔在热门AI芯片设计趋势方面没有睡觉。事实上,该公司正在为AI芯片设计注入更多能量,这有望帮助保持摩尔定律 (芯片每隔几年增加一倍)。芯片制造的进步正在放缓,但芯片设计师正试图通过架构创新来弥补这一点。
辛格对创新的机会感到兴奋。我们最近有机会谈论这个话题,英特尔软件执行官Huma Abidi也加入了旧金山南园。
这是我们对话的编辑记录。
VentureBeat:我想提高一点,谈谈这里的一些历史。在我这边,我对处理有一个非常简单的理解。我看到x86处理器非常适合串行处理。GPU非常适合并行处理。当深度学习出现时,GPU的并行性非常有用,因此它们变得非常流行。他们进入了数据中心。但它们并非专为AI处理而设计。
现在,芯片设计正在发生这种适应时间,似乎每个人都在想办法进行人工智能处理。你从一方面采取一种方法,从另一方面采取另一种方法,然后像Nervana 这样的其他人从头开始接近问题。这就是我想要理解的。“从头开始”是什么意思?
Gadi Singer:在这个特殊情况下,很多技术都是通过Nervana获得的。当我们收购Nervana时,我们得到了一个架构以及一个软件堆栈。然后我们与英特尔资源和一些像我一样的英特尔老用户合作,将英特尔的所有知识用于计算,以改进这一点。但基本上,该架构是为NNP收购Nervana。
你所说的一切都是对框架的清晰表达。当我们从头开始讨论架构时,它是关于如何以不同的方式进行计算,如何处理内存以及如何处理数据移动。在计算方面,CPU有几个线程。GPU有多个可以运行的线程,但这个概念仍然是暂时的。仍然假设某些指令指针移动并在另一个之后执行一些额外的工作。这是时空。
为AI进行深度学习的体系结构被构建为所谓的空间体系结构。您可以创建具有高度并行性的计算波,您可以将整个计算波一起发生。在某种程度上,它模拟了大脑中发生的过程,以及神经元的空间结构。你有第一层,第二层和第三层神经元的视线,依此类推。这不是按顺序完成的。在某波中完成的所有操作都是一起完成的。具有这种创建计算波的能力非常有效的架构是空间架构。
有一点是,如何在计算结构本身中构建一个非常高级别的并行性,因此它可以独立完成所有这些计算,因为它们可以通过高级并发来完成?第二件事与数据有关。涉及很多数据。自然实体是张量。当你谈到深度学习的架构时,即使你正在使用向量,自然实体也不是标量或向量。这是一个多维数组。拯救和移动事物的所有构造都围绕着张量。这不是一个事后的补充。它是固有数据结构的一部分。在其中你可以有8位或16位或32位实体,但它是一个数组。该数组是多维的。它可能内置了一些稀疏性,但它是一组数据。然后,
您通常在基础架构中拥有的另一件事是控制数据,显式控制。而不是拥有缓存层次结构等,在深度学习中它不是任意计算。你通常知道什么是操作顺序。对控制点和循环的依赖性要小得多。你知道你正在使用这个张量乘以这个张量,然后通过这些卷积进入下一层。您实际上可以计划放置哪些数据的位置。您拥有大量靠近计算机的内存并且管理非常有效,因此您可以在计算机附近的适当时间获得正确的数据,从而有效地执行活动。
最后一个元素与连接有关。由于您移动了大量数据,因此您的元素非常大。在芯片上和芯片之间移动数据的方式需要具有非常高的带宽和高吞吐量,能够在多芯片解决方案中的芯片之间移动数据,或者在主机中的加速器之间移动数据,或者在两者之间的加速器之间移动数据。各种计算元素。当我们观察Nervana神经网络处理时,它以一种原生的方式完成所有这一切,以一种专为它设计的方式。这是应对这些类型挑战的最佳方式。
VentureBeat:块设计的元素,它们在Nervana芯片上看起来像什么?
歌手:因为它是为深度学习而不是为了一般目的而设计的,所以中心通常围绕矩阵乘法和卷积。这些是你需要做的两个基本操作。我们的Nervana NNP中的所有这些实现都具有非常有效的结构来增加矩阵并以流动的方式完成。你将元素相乘并流动。你也可以乘以下一个。
然后有一些常见的功能,激活功能和深度学习常用的其他功能。如果它们变得非常普遍,您可以为这些功能创建一些加速。然后你通常还会有一些更通用的计算来帮助那些没有加速的东西。
VentureBeat:随着这些架构的不断发展,您是否正在寻找通用处理器上的不同自定义处理器?把浮点放进去,就是那种东西。Nvidia正在推出张量处理器。我想知道解决方案有多大,而不是撕毁一切并重新开始。
歌手:这很好,但不是最佳的。您可以从中获得结果,因为现在您有其他引擎可以执行该特定任务,因此可以提高效率。但它并不像你从头开始设计那样最优。例如,许多效率来自有效的数据移动。移动数据非常昂贵。它在功率和时间方面都很昂贵。即使您拥有正确的元素,如果您在系统中移动数据的方式无效,也无法获得最佳解决方案。
这是两个时间点的观点。在2015-2016,然后2019-2020。2015-2016,那些是深度学习的突破性日子。这是基于深度学习的图像匹配结果开始匹配人类能力的时候。这是我们开始进行语音识别,经过30或40年的逐步改进后,表现出了重大改进。这是我们在机器翻译方面取得重大进展的时候。这是技术承诺进入中心阶段的时候。
它主要是关于证明技术可以做什么。它不是将其部署为业务流程的一部分。它是,“嘿,你可以像人类那样在图像中识别出一个准确度为95%%的小提琴。”这主要是为了证明它可以完成。它主要围绕培训,培训系统并证明其有效。培训和推理之间的比例约为一比一。
构建模型仍然需要很多深厚的专业知识。它是在C ++环境或像Cuda这样的专有环境中完成的。这是硬件架构,GPU和Nvidia以及Cuda专注于培训的地方,此外还有CPU一直用于执行机器学习任务。它需要在软件方面拥有大量的专业知识和专业知识。硬件主要是CPU和GPU。观众主要是早期采用者,真正追求新技术的人,先进的研究人员。那是事情表明他们有多么伟大,但他们没有被部署。我把它称为“杰出的童年。”你看到一个孩子,你看到了他的潜力,而且他没有把任何钱带回家,因为他还没有做生意,但是你可以看到他长大后的潜力以及他将会变得多么伟大。
当我看到2019-2020时,它真的是深度学习的时代。从证明事物来看,我们现在看到它们已经作为业务线的一部分进行部署。例如,识别样本用例中的图像,您会看到现在部署在医学成像中。我们看到像诺华公司这样的细胞的20倍或30倍更复杂的细胞。该模型更复杂,但您应用的拓扑类型也更复杂。与char相比,学习小提琴的样子要容易得多,而不是恶性癌细胞与良性癌症相比。问题空间已经改变。拓扑和解决方案的类型发生了很大变化。现在它不是主要围绕矩阵乘法和卷积,而是一些顺序代码和一些矩阵代码的组合。
在开发机器学习的环境方面,由于深度学习框架,它已完全转变。TensorFlow,我相信现在是最受欢迎的,自公开发布仅仅两年半。三年前,这是非常本地化的。所有这些东西,如TensorFlow和MXNet,它们刚刚出现。这创造了民主化。
VentureBeat:它还不到芯片设计周期吗?
辛格:嗯,他们正在制作很长一段时间。但是在过去的两年半里,它们已经成熟并融入了环境。我称之为数据科学的民主化。突然间你不必是一名C ++程序员。你有所有原语的抽象。您可以成为数据科学专家,只需在TensorFlow或MXNet中完成工作。这也使它与特定的专有接口(如Cuda和其他接口)分离,并允许硬件进入其中。那是一次重大转变。
此外,当您开始部署事物时,重点从培训转向推理。如果您训练模型,您可以稍后在10,000或100,000台机器中部署它,以便全天候完成。一个例子是,我们正在与Taboola合作。Taboola是领先的推荐引擎之一。他们每月有大约3600亿条推荐,每月有10亿个人用户,为许多不同的网站工作。他们有一个培训中心,但该中心的增长并不多。这是沉没的能力。他们一直在成长的是他们的推理计算。推理周期和训练周期之间的比率正在大致转向推理。
有一些新的考虑因素,因为它用于部署。像总拥有成本这样的事情变得越来越重要。如果您只想证明某些事情是可能的,那么机器的成本是10,000美元还是50,000美元并不重要。当你整体部署时,你开始考虑性能与瓦特,性能对美元。您正在考虑延迟,而不仅仅是吞吐量。所有这些因素都使它成为现实生活。这种深度学习时代正是英特尔瞄准的目标,因为这是英特尔的优势所在。当你看到总体拥有成本和功率效率以及计算的多样性时,我们正在建立这些东西,我们已经非常擅长它们。
我们与Facebook-Facebook合作的一个考虑因素是基于Xeon的所有关键推理服务。在训练方面,它是混合的。其中一些是基于GPU的,其中一些是基于Xeon的,其中一些是混合的。原因是因为他们已经拥有基础设施。它作为一个基础做得很好。然后他们可以使用任何备用周期来做到这一点。就总体拥有成本而言,这是非常有效的。
如果我能总结一下这个策略,我们会继续改进Xeon。至强是一个很好的基础,做得很好。它非常多才多艺。今天的大多数推论已经在Xeon上运行,因此我们希望通过引入新的指令使其更好。我们刚刚在三周前宣布了关于带有VNNI的DL Boost。我们宣布了几项技术。我们也对软件进行了优化。我们正在添加加速器。Xeon很棒,但我们拥有最完整的加速器套件,适合那些想要全天候运行的人。我们有FPGA。我们为终端设备配备了Movidius。我们为汽车提供MobilEye。我们明年会有Nervana NNP。我们已经有了软件开发工具,我们正在为它优化软件。
至强是基础。我们将通过专用和全面优化的加速来加强它,然后我们有系统工作。所有这些解决方案最终都需要托管,加速,存储,内存和网络。然后,在软件方面,您可以通过说我们向下优化并向上简化来简化它。我们通过为每个架构提供从深度学习原语到最佳Xeon性能,到最佳FPGA性能,再到最佳Movidius性能的堆栈,进行优化。向上简化,通过像nGraph这样的单层使用相同的原语,我们可以将它与选择的深度学习框架联系起来。如果你想在PyTorch上工作,你可以使用PyTorch,MXNet或TensorFlow。我们将所有这些作为前端放在一个共同的位置,然后将它映射到我们的硬件。