目前在AI芯片市场上还没有x86,人们看到了淘金热,这是毫无疑问的。
多年来,半导体行业似乎已经达到了一种稳定的平衡:英特尔在服务器领域几乎击败了所有的RISC处理器,同时AMD也逐渐陷入低迷,使得英特尔的x86成为了主导者。而在GPU领域起步较晚的英伟达,在上世纪90年代就已经淘汰了大多数竞争对手。而突然之间,就只剩ATI(现已被AMD收购)仍然在市场上存在。它只占英伟达之前市场份额的一半。
在较新的移动领域,似乎也是类似的垄断故事:ARM统治着市场,英特尔曾用Atom处理器尝试与之竞争,但在遭遇多次失败后,在2015年最终选择了放弃。就这样,一切都与以往不同了,AMD重新成为了x86的竞争对手;针对大数据等专门任务的现场可编程门阵列(FPGA)的出现创造了一个新的利基市场。但实际上,随着人工智能(AI)和机器学习(ML)的出现,芯片世界的巨大转变也随之而来。随着这些新兴技术的出现,大量的新处理器已经到来。并且,它们都来自于不太可能的来源。
英特尔在2016年收购了初创公司Nervana Systems,进入了AI芯片市场,随后它又收购了另一家公司Movidius,目的是开发图像处理AI;
微软正在为其HoloLens VR/AR头戴设备开发人工智能芯片,而且有可能在其它设备中使用;
谷歌针对神经网络开发了一种特殊的人工智能芯片——“张量处理单元(TPU)”,该处理器可用于谷歌云平台上的人工智能应用;
亚马逊正在为其Alexa家庭助理开发人工智能芯片;
苹果正在研发一款名为“神经引擎(Neural Engine)”的人工智能处理器,该处理器将为Siri和FaceID提供动力;
ARM公司最近推出了两款新处理器——ARM机器学习(ML)处理器和ARM物体检测(OD)处理器,这两者都专注于图像识别;
IBM正在开发专门的人工智能处理器,该公司还从英伟达那里获得了NVLink的授权,用于专门针对人工智能和机器学习的高速数据传输;
即使是特斯拉这样的非传统科技公司也想要进入这个领域,其首席执行官埃隆马斯克(Elon Musk)去年承认,前AMD和苹果芯片工程师Jim Keller将在特斯拉负责硬件制造,这些还没有将初创公司计算在内。《纽约时报》指出,据不完全统计,专注于人工智能的芯片创业公司(不是单纯的软件公司或芯片公司)已经达到了45家,并且仍在继续增长。
为什么在多年的芯片制造停滞之后,硬件突然出现了爆炸式的增长?毕竟,人们已经达成共识,英伟达的GPU对人工智能来讲非常优秀,而且已经被广泛使用,为什么我们现在需要更多的芯片,并且是更多不同的芯片?
答案有些复杂,就像人工智能本身一样。
投资导向和技术发展的影响
Intersect360 Research公司CEO Addison Snell说,尽管x86目前仍是计算领域的主流芯片架构,但对于像人工智能这样高度专业化的任务来说,它太普通了,该公司的主要业务是HPC(高性能计算)和人工智能。“人们希望AI成为一个通用的服务器平台,因此,它必须在所有事情上都做得很好”他说,“在其他芯片的基础上,各个公司正在开发专门针对某一应用的产品,而操作系统和基础设施的任务仍然留给x86来做。”
处理人工智能实际任务的过程与标准计算或GPU处理是非常不同的,因此需要专门针对人工智能的芯片,x86 CPU可以完成人工智能任务,而实际只需要3个步骤的任务,它在执行时需要经过12个步骤,在某些情况下,GPU也可能把任务变得过于繁杂。
一般而言,科学计算是以确定性的方式完成的,比如你想知道2加3等于5,并计算到所有小数部分——x86和GPU可以做得很好。但是人工智能的本质是,通过长期的观察得出2.5加3.5等于6,而不需要真正去计算,如今人工智能的关键是从数据中发现的模式,而不是确定性的计算。
从更简单的角度来说,人工智能和机器学习的定义是,它们利用过去的经验并加以改进。比如,著名的AlphaGo就通过模拟大量的围棋比赛改进技术。另一个我们熟悉的例子就是Facebook的面部识别AI,经过多年的训练,它可以精确地标记你的照片(Facebook最近几年进行了三次重大的面部识别收购:2012年收购Face.com、2016年收购Masquerade,2016收购Faciometrics)。
一旦用人工智能开展学习,就不需要重新学习了。这是机器学习的标志(人工智能更大定义的一个子集)。从本质上讲,机器学习(ML)是一种使用算法来解析数据、从中学习、然后根据这些数据做出判断或预测的实践。这是一种模式识别的机制——机器学习软件记住2加3等于5,所以整个人工智能系统可以使用这些信息。
#p#分页标题#e#再比如说,自动驾驶汽车的AI,并不是通过确定的事物来判断周围物体的活动路径,它通过以往的经验,表示曾经有一辆车,按照这样的方式行驶。因此,系统能够预测到特定类型的动态。
这种预测问题解决的结果是,人工智能计算可以通过单精度计算来完成。因此,虽然CPU和GPU都可以很好地完成,但实际上它们对任务来说是多余的。一个单精度芯片足以完成这项工作,并且能在更小、更低的功耗下完成。
毫无疑问,对于芯片来说,功耗和范围是一个大问题——也许对人工智能来说尤其如此,因为一个尺寸并不能适用于这一领域的所有情况。在人工智能中包含机器学习,机器学习中又包含深度学习,所有这些都可以通过不同的设置被部署到不同的任务中。“并非所有的人工智能芯片都是一样的,”英特尔旗下Movidius公司的营销总监Gary Brown说。Movidius针对深度学习过程制作了一个自定义芯片,因为深度学习涉及的步骤在CPU上受到高度限制。
“每个芯片可以在不同的时间处理不同的智能问题,我们的芯片是视觉智能,算法通过由摄像头输入的内容学习。这是我们的重点。”Gary Brown表示,甚至有必要对网络边缘和数据中心等其加以区分——而在这个领域,公司只是意识到他们需要在不同的地方使用不同的芯片。
“处于边缘的芯片无法与数据中心的芯片竞争,”他说,“像Xeon这样的数据中心芯片必须具备高性能的性能,它与智能手机中的AI是不同的。在那里你必须将功耗降到1瓦以下,所以问题是,“哪里(的本地处理器)还不够好,所以需要一个辅助芯片?”
毕竟,如果想在智能手机或AR头戴设备上使用人工智能,电源是一个挑战,英伟达的Volta处理器在人工智能处理领域占很重要的地位,但其功耗可达300瓦。所以不可能被用于手机中。
Sean Stetson是自动驾驶工业车辆制造商Seegrid的技术进步总监,他也认为人工智能和机器学习到目前为止一直受到普通处理器的不好的影响。他表示:“为了让算法发挥作用,无论是机器学习、图像处理还是图形处理,它们都有非常具体的工作流。”如果没有专门针对这些模式设置的计算核心,那么就会进行大量的无用数据加载和传输。当你在最低效的时候移动数据时,就会产生很多信号和瞬态的能量。而处理器的效率是以每条指令使用的能量来衡量的。”
当然,更加专业化以及更高的能效并不是这些新的人工智能芯片存在的全部原因。IBM公司研究员兼IBM Power systems开发副总裁Brad McCredie表示,人们都争先恐后地加入这一行列的更明显的原因是:回报将会非常丰厚。他说:“IT行业几十年来第一次看到了增长,我们看到了指数增长的拐点。”预期会有新的资金进入这一行业,而这一切都围绕着人工智能。这就是导致大量风投涌入这一领域的原因,人们看到了淘金潮,这是毫无疑问的”。
一个全新的生态系统
专注于人工智能的芯片并不是凭空设计的,伴随它们的是处理人工智能和机器学习高度并行性的新方法。如果你构建了一个人工智能协处理器,但是使用过时的标准PC技术甚至是过时的服务器,那么这就像把法拉利引擎放在大众甲壳虫中一样。
英特尔公司首席技术官兼Nervana联合创始人Amir Khosrowshahi表示。“当人们谈论人工智能和AI芯片的时候,构建人工智能解决方案需要大量的非人工智能技术,它会涉及到CPU、内存、SSD和互连等,要让所有这些都发挥作用,是非常关键的。”
例如,当IBM为任务关键系统设计其Power9处理器时,它使用英伟达的高速NVLink来支持核心互连、PCI Express Generation 4,以及它自己的接口OpenCAPI(相干加速器处理器接口),OpenCAPI是一种新的连接类型,它为内存、加速器、网络、存储和其他芯片提供高带宽、低延迟连接。
#p#分页标题#e#McCredie说,x86的生态系统没有跟上。他指出,PCI Express Gen 3在市场上已经有7年没有重大更新(第一次只是最近才出现),而IBM是最早采用这一技术的公司之一,x86服务器仍在使用PCIe Gen 3,它的带宽只有4 Gen的一半。他说:“计算能力的爆炸式增长将需要更大的计算能力,我们需要处理器来做它们能够完成的所有事情,然后在这个基础上再多做一些,该行业终于开始关注内存带宽和输入/输出带宽的性能,这些东西正成为系统性能的一阶约束”。
McCredie继续说道:“我认为加速器将会增长,将来会有更多的工作负载,因此需要更多的加速。我们甚至会回过头来加速常见的工作负载,例如数据库和ERP(企业资源规划)。我认为,我们正看到行业中一个坚实的趋势开始,现在我们更加注重加速,更加注重市场适应性。
但是硬件本身并不能在机器学习中学习,软件才是主要的部分。在所有这些新芯片的热潮中,几乎没有提到与硬件协同工作的软件。“幸运的是,这是因为这些软件在很大程度上已经存在,它正在等待芯片赶上来,”金融分析和人工智能开发商OTAS Technologies的首席执行官Tom Doris说。
“我认为,如果你看一看以前的历史,就会发现一切都是硬件驱动的,算法并没有太大的改变,技术进步都是由硬件的进步推动的,这对我来说有点意外,因为我已经离开这个领域好几年了,自90年代末以来,软件和算法方面并没有发生太大的变化,基本上都是计算能力的改变”他说。
彭博首席技术官办公室的数据科学家David Rosenberg也认为,目前软件的状况良好。他表示:“在某些领域,软件还有很长的路要走,这与分布式神经计算的技术有关,但对于我们已经知道解决方法的问题,软件已经得到了很好的改进。现在的问题是硬件怎样能够足够快地、高效地执行软件。”
事实上,目前的情况是,硬件和软件正在并行开发,目的是支持这一新的人工智能芯片及其用例。前斯坦福大学教授Ian Buck说,在英伟达,软件和硬件团队的规模大致相同。Buck教授开发了CUDA编程语言(CUDA允许开发者编写应用程序并使用Nvidia的GPU进行并行处理,而不是CPU)。Buck在英伟达主要负责的是人工智能领域。
他说:“我们正在针对系统软件、程序库、人工智能框架和编译器开发新的架构,所有这些都是为了利用每天出现的新方法和神经网络,在人工智能领域取得成功的唯一途径,不仅仅是构建伟大的芯片,而且要紧密地整合到软件的堆栈中,以实现和优化每天都在发明的新网络。”
因此,对于Buck来说,人工智能代表一种新的计算方式的原因之一是,他相信它确实构成了硬件和软件之间的一种新型的关系,我们不需要考虑向后的兼容性,我们正在重新设计那些擅长处理此类任务的处理器,并与软件一起运行。
这场芯片竞赛的未来在哪?
虽然现在人工智能芯片领域有很多潜在的开发商,但围绕这些计划的最大问题之一是,有多少会进入市场,有多少能够接触到供应商,又有多少会被淘汰。毕竟如今大多数的人工智能芯片仍然只是幻影。
当涉及到许多非CPU制造商设计的人工智能芯片时,比如谷歌、Facebook和微软等,似乎这些公司正在为自己的使用定制芯片,而且很可能永远不会把它们推向市场。这些实体拥有数十亿美元的收入,完全有能力投入到定制芯片的研发中,而无需立即得到投资回报。因此,用户可能会依赖谷歌的TPU作为谷歌云服务的一部分,但谷歌不会直接出售TPU服务。这也是Facebook和微软期望的模式。
而其他芯片则肯定会上市,英伟达最近宣布了三款新型芯片:为智能机器人设计的Jetson Xavier系统芯片、为自主出租车的深度学习而设计的Drive Pegasus芯片以及针对半自动驾驶汽车的Drive Xavier。为所有这些提供动力的是Isaac Sim虚拟仿真环境,开发者可以用它来训练机器人,并用Jetson Xavier进行测试。
与此同时,英特尔承诺,其收购Nervana公司后推出的的首款机器学习处理器将在2019年以Spring Crest的代号进入市场。目前,该公司还拥有一款名为“Lake Crest”的人工智能芯片,利用这一芯片,开发者们可以使用人工智能来解决自己的问题。英特尔表示,Spring Crest最终将提供三到四倍于Lake Crest的性能。
所有这些都能存活吗?“我认为,在未来,我们将看到人工智能的进化过程,”Movidius公司的Gary Brown说。“如果你想要在数据中心使用AI,就需要一个数据中心芯片,如果你想要一个头戴设备,你也可以找到一个对应的芯片,这将是AI芯片的发展趋势,我们可能会看到不同的芯片有不同的优势,这些可能会被集成到CPU中,我们可能还会看到有多个功能的芯片。”
#p#分页标题#e#如果所有的感觉都像是似曾相识,也许现实就是这样,人工智能芯片的发展在某种程度上与过去芯片的演变过程相匹配——从高度专业化和众多竞争对手开始,但最终一些产品获得了动力,少数几个市场领导者则具备多个功能。30年前,80386是最重要的桌面芯片,如果你需要在Lotus 1-2-3中做大量计算,你可以为你的IBM PC-AT购买数学协微处理器80387。接着是80486,英特尔成功地将数学处理器集成到CPU中。然后,CPU慢慢地获得了诸如安全扩展、内存控制器之类的东西,之后是GUP。
就像其他技术一样,目前新兴的人工智能芯片产业领域众多竞争对手的局面不会维持太久。例如,OTAS的Doris指出,许多不上市的内部使用芯片会成为高级技术人员的主要项目,而更换政权通常意味着采用行业标准。Intersect360的Snell指出,今天的人工智能芯片初创公司也将减少——正如他所说,“现在有太多的竞争对手需要整合。”事实上,许多初创公司只是希望开辟出一个利基市场,吸引大公司来收购它们。
IBM的McCredie说:“我同意,这将会是一个艰难的过程,但是范围必须缩小,有一天,这可能意味着这个新的芯片领域看起来与老的芯片领域并无两样——就像之前的x86、英伟达GPU、ARM等。
但就目前而言,这种人工智能芯片竞赛刚刚起步,许多新进入者都打算继续向前。