新兴的人工智能处理器创业公司Habana Labs 2016年创立于以色列特拉维夫,最初的业务为开发专为深度神经网络训练和生产环境中的推理部署而优化的处理器平台。2018年11月,该公司宣布完成超额认购的7500万美元B轮融资。此次融资由英特尔投资领投,WRV Capital、Bessemer Venture Partners、Battery Ventures和现有投资者等也加入其中。自创立以来,该公司已经筹集到1.2亿美元,目前在特拉维夫、圣何塞、北京、波兰设有办事处,全球员工人数量为150人。
2018年9月,Habana Labs正式退出隐身模式,推出首个人工智能(AI)处理器Goya HL-1000,旨在处理各种人工智能推理(Inference)工作负载,如图像识别、神经机器翻译、情感分析、推荐系统以及许多其它应用。该处理器创下了两项行业纪录,基于ResNet-50推理基准实现每秒15,393张图片的吞吐量,延迟时间为1.3毫秒,功耗仅为100瓦,并获得150张图片/每秒/每瓦的电源效率。
今年6月,Habana再接再厉,推出了全新的人工智能训练(Training)处理器Gaudi,配备32GB HBM-2内存,目前提供两种规格:HL-200—PCIe卡,设有8个100Gb以太网端口;HL-205—基于OCP-OAM标准的子卡,设有10个100Gb以太网端口或20个50Gb以太网端口。
Goya和Gaudi两款处理器均采用16nm工艺制造,Habana Labs首席商务官Eitan Medina说,工艺对提升Habana产品的性能帮助不大,更多是源于架构创新。
- Goya
下图展示的Goya与NVIDIA T4 GPU、英特尔8180 CPU在ResNet-50推理基准测试中的性能对比,可以看出,与如今数据中心部署的一般解决方案相比,Goya性能是T4的3倍,是8180的12倍以上,但延迟只有T4的4%。
而在另一张图片中,Eitan Medina说英伟达特别喜欢在公开场合强调其8片Tesla V100 GPU的性能等同于169片CPU的性能总和,但其实如果和Goya相比,只需3片Goya处理器,就能实现同样的性能,且后者还具备更低的延迟和更好的能耗比。
“CPU和GPU从架构上来看更适合做通用计算和图形处理,做人工智能的确有些勉为其难。” Eitan Medina认为Goya平台之所以从诞生到目前为止,9个月的时间内依然是市场上性能最为领先的产品,是因为设计人员的目标非常明确,就是要实现深度学习推理,并在此基础上将可编程张量处理器(Tensor Processing Core, TPC)、开发工具、图书室和编译程序等有机的融为一体,共同打造了一个高性能且节能的处理器平台。
AI的性能主要体现在两方面:计算能力和延迟。在ResNet-50基准测试中,用于衡量批处理性能的Batch size大小直接影响了处理器性能。在数据中心中,GPU为了实现高性能,必然要进行大量的批处理运算;如果在普通运算中,为了要实现更大的Batch size,就需要将大量数据读取到内存中,但这样带来了延迟。Goya的奇妙之处在于它可以令Batch Size等于1,这意味着Goya一次可以处理一张图片,但在一张图片之下,又可以实现7000张/秒的性能,这对自动驾驶这类既需要高性能,又需要低延迟的应用来说非常合适。
精度是AI推理性能的另一个重要指标。通常情况下,在推理和预测当中为了考虑性能和效率,会将通过浮点训练好的模型整齐化(quantization),但此举又会造成信息丢失,影响最重的计算结果。得益于强大的算法团队,Habana成功的在两者之间找到了平衡。
考虑到很多用户当前的大部分工作仍旧基于CPU/GPU,如果贸然转换到新的处理器上,之前的工作怎样能够快速、准确的部署到新平台上肯定是他们最担心的事情。Eitan Medina说自己完全理解用户的这种顾虑,因此Habana labs在SynapseAI软件栈中对训练模型输入进行了分析和优化,以通过Goya处理器实现高效推理。这款软件包括一个丰富的内核库,其工具链是开放的,供客户添加专有内核,可与TensorFlow和ONNX等深度学习神经网络框架无缝交互。
目前,Facebook在其官网上已明确表示Goya成为了第一款支持其Glow机器学习编译环境的产品,Habana公司也将Goya的驱动程序开源提供给了Linux,最新版的Linux软件已经集成了Goya驱动程序。
- Gaudi
按照Habana的官方说法,基于Gaudi的训练系统能够在ResNet-50上提供1650张/秒的图片处理能力,比拥有相同数量的NVIDIA V100 GPU系统高四倍,但功耗是V100的一半,约150瓦。此外,得益于创新的架构,Gaudi可实现训练系统性能的近线性扩展,即使是在较小Batch Size的情况下,也能保持高计算力。因此,基于Gaudi处理器的训练性能可实现从单一设备扩展至由数百个处理器搭建的大型系统的线性扩展。
除了领先的性能,Gaudi还为人工智能训练带来了RDMA over Converged Ethernet (RoCE v2) 功能,从而让人工智能系统能够使用标准以太网扩展至任何规模。相比之下,基于GPU的系统依赖于专有的系统接口,对系统设计人员来说,这从本质上限制了可扩展性和选择性。
其实NIVIDA也意识到了这个问题。在2019年的GTC大会上,黄仁勋在演讲中就重点介绍了英伟达为什么看好RDMA技术,并随后以69亿美元的价格收购了以色列公司Mellanox。Eitan Medina说在支持RDMA方面Habana与NVIDIA的理念是一致的,不同之处在于Habana直接在单芯片中集成了10个支持RDMA的端口,而V100要支持RDMA功能,必须要通过PCIE接口,然后在外部再接一个支持RDMA的网卡才能实现。另一方面,英伟达在扩展时采用了私有协议NVLink,Habana方面认为NVLink受限于规模,不具备实现大规模的扩展能力。这样,Gaudi无论是在集成度上还是在RDMA数量上,都要比V100高出很多。
之所以设计成两种不同的接口形式,Eitan Medina解释说,如果在PCIe形态中,用户可以直接用Gaudi替换当前服务器中使用的NVIDIA V100卡;如果采用OCP-OAM接口,这种模组化的结构更易于客户设计属于自己的产品,而英伟达目前还不支持OCP结构,更不支持OAM。
与Gaudi同时发布的还有一款名为HLS-1的8-Gaudi系统,配备了8个HL-205子卡、PCIe外部主机连接器和24个用于连接现有以太网交换机的100Gbps以太网端口,让客户能够通过在19英寸标准机柜中部署多个HLS-1系统实现性能扩展。
Eitan Medina从三个方面将英伟达DGX-1与HLS-1系统的性能进行了对比。首先,尽管都是8片系统,但DGX-1采用了私有协议NVLink来实现互联,只能实现相邻两颗芯片间的直接互联,无法实现所有8颗芯片间的直接互联;其次,如果DGX-1要实现扩展,只能依赖于它的4个100G以太网端口。而HLS-1系统则能够支持24个100G端口;最后,DGX-1的系统管理和数据通讯都必须在PCIE总线上复用,性能上会有损失。HLS-1为系统管理和数据通讯选择了两条不同的路径,大幅提升了总线效率。
举例而言,在模型并行处理方面,DGX-2提供的NVLink端口有限,最大只能支持16个并行处理,这在很大程度上限制了模型并行处理能力。而HLS-1中的8片Gaudi 卡可以把80个100G的以太网口对外开放实现互联,从而实现几十个,甚至几百个Gaudi系统之间的并行模型化处理。