AI没有走向低潮,而是在催生大量的应用。但大量的AI的应用非常场景化,既需要成熟的CPU和GPU,也需要全新的AI处理器。IPU(Intelligence Processing Unit)就是一种为AI计算而生的革命性架构,如今,IPU已经在金融、医疗、电信、机器人、云和互联网等领域取得成效。
随着英国初创公司的Graphcore的IPU在AI应用市场的规模化落地,第三类AI处理器受到的关注度越来越高的同时,但IPU能否更好完成CPU和GPU不擅长的AI任务成为当之无愧的革命性架构?
IPU如何跨过芯片与AI应用之间的鸿沟?
去年底,雷锋网的《为AI颠覆GPU!计算机史上迎来第三个革命性架构IPU》一文已经解读了Graphcore IPU架构的独特之处。这里再稍作介绍,Graphcore已经量产的IPU型号为GC2,处理器内部有1216个IPU Tiles,每个Tile里面有独立的 IPU核作为计算以及In Processor Memory 即处理器之内的内存。整个GC2处理器总共有7296个线程,能够支持7296个程序在并行的运行。
基于台积电16nm工艺集成236亿个晶体管的GC2在120瓦的功耗下有125TFlops的混合精度、300M的SRAM能够把完整的模型放在片内,另外内存的带宽有15TB/s、片上的交换是8TB/s,片间的IPU-Links是2.5Tbps。
也就是说,IPU通过分布式的片上存储架构突破了AI芯片的存储墙瓶颈。但正如Graphcore 销售副总裁兼中国区总经理卢涛在近日的一场媒体分享会上所言:“从一个芯片到落地中间有很多gap。包括是否有比较好的工具链、丰富的软件以及丰富的软件库支持,还有对主流算法、框架以及操作系统的支持。”
这就意味着,只有通过易用的软件将芯片的优势发挥出来AI芯片才能更好地落地。对于IPU而言,由于架构的特色,解决并行硬件的高效编程是一个非常大的课题。为此,Graphcore在GC2中采用了谷歌、Facebook、百度这些构建大规模数据中心集群会使用的BSP(Bulk Synchronous Parallel)技术 ,通过硬件支持BSP协议,并通过BSP协议把整个计算逻辑分成计算、同步、交换。
卢涛说:“对软件工程师或者开发者来说,采用了BSP后就非常易于编程,因为不用处理 locks 。对用户来说,也不用管这里面是 1216 个核心(Tile)还是 7000 多个线程、任务具体在哪个核上执行,这是一个非常用户友好的创新。”
在此基础上,Graphcore推出了在机器学习框架软件和硬件之间基于计算图的整套工具链和库的Poplar 是软件栈。据悉,Poplar目前已经提供750个高性能计算元素的 50 多种优化功能,支持标准机器学习框架,如TensorFlow1、2,ONNX和PyTorch,很快也会支持 PaddlePaddle。
另外,可以支持容器化部署,能够快速启动并且运行。标准生态方面支持 Docker、Kubernetes,还有像微软的 Hyper-v 等虚拟化技术和安全技术。操作系统支持广泛应用的三个 Linux 发行版:ubuntu、RedHat Enterprise Linux、CentOS。
今年5月,Graphcore又推出了名为PopVision Graph Analyser 的分析工具,开发者、研究者在使用 IPU 进行编程的时候,可以通过 PopVision 这个可视化的图形展示工具来分析软件运行的情况、效率调试调优等。同月也上线了Poplar开发者文档和社区。
目前,基于 IPU 的一些应用已经覆盖了机器学习的各个应用领域,包括自然语言处理、图像/视频处理、时序分析、推荐/排名及概率模型。Graphcore在Github不仅提供模型移植的文章,还有丰富的应用案例和模型。
还有一个关键的问题,开发者把模型迁移到IPU需要进行代码级修改吗?卢涛对雷锋网表示:“AI的开发者90%都使用开源框架,开发语言是Python,对于这类开发者,代码的迁移成本非常低。就算是占开发者群体9%的,使用基于Nvidia cuDNN的性能级开发者,我们也会尽量提供和cuDNN 类似的用户体验,这个工作量目前看来完全在接受的范围。”
IPU吞吐量最高比GPU提升260倍
解决了芯片到应用的软件问题,那IPU更适合在哪些场景应用?“我们未来推进的策略还是训练和推理两个事情并行来做。有可能是一些单独的训练任务,也有可能是一些单独的推理任务,但我们会更加聚焦在一些对精度要求更高、对时延要求更低、对吞吐量要求更高的一些场景。”卢涛进一步表示。
“当前广泛应用、主流的 CV 类的模型是以 Int8为主,但像现在的NLP模型,以及一些搜索引擎里用的模型或者广告算法模型其实都是 FP16,甚至 FP32为主流的数据格式,因为这样一些模型对于精度的要求会更高。因此云端推理除了Int8,FP16和FP32的市场也很大。”
Graphcore中国销售总监朱江指出,除了稠密的数据之外,现在代表整个AI发展方向的大规模稀疏化的数据,在IPU上处理就会有非常明显的优势。与大规模的稀疏化数据对应的是分组卷积这样一种新型的卷积算法,与ResNet这种目前比较传统的方式相比,可以有更好的精度方表现和性能提升。
Graphcore给出了一个分组卷积内核的Micro-Benchmark,将组维度(Group Dimension)分成从1到512来比较。512就是应用得较多的“Dense卷积网络”,典型的应用如ResNet。在212的维度,IPU GC2 性能比 V100 要好近一倍。随着稠密程度降低、稀疏化程度增加,在组维度为1或为 32 时,针对 EfficientNet 或 MobileNet,IPU 对比 GPU 展现出巨大的优势,做到成倍的性能提升,同时延时大大降低。
之所以在低数组维度优势明显,是因为分组卷积数据不够稠密,在 GPU 上可能效果并不好,而IPU的架构设计在分组卷积中能够发挥优势,并且可以提供GPU很难甚至无法提供的低延迟和高吞吐量。
整体而言,与英伟达V100相比,Graphcore的IPU在自然语言处理方面的速度能够提升 20%-50%,图像分类能有6倍的吞吐量提升实现更低的时延。这些优势在IPU的实际落地案例中也同明显的性能优势。
在金融领域的风险管理、算法交易等应用中,会使用Markov Chain和MCMC等算法,借助IPU,采样速率能够比GPU提高26倍。在金融领域应用广泛的强化学习,IPU也能把强化学习时间缩短到1/13。还有,采用MLP(多层感知器)加上嵌入一些数据的方式来做销售的预测,IPU相比GPU能有5.9倍以上的吞吐量提升。
在医疗和生命科学领域,包括新药发现、医学图像、医学研究、精准医疗等,IPU也已经体现出优势。微软使用IPU训练COVID-19 影像分析的算法模型CXR,能够在 30 分钟之内完成在 NVIDIA GPU 上需要 5 个小时的训练工作量。
另外,在电信领域,机器智能可以帮助分析无线数据的一些变化,比如采用 LSTM 模型预测未来性能促进网络规划。基于时间序列分析,采用IPU 能够比 GPU 有 260 倍的吞吐量提升。
在5G网络切片和资源管理中需要用到的强化学习,用IPU训练吞吐量也能够提升最多13倍。
在创新的客户体验的自然语言处理(NLP)方面,代表性的模型就是BERT。朱江介绍:“我们目前在 BERT 上训练的时间能够比 GPU 缩短 25%以上。”
还有一个有意思的应用是IPU在机器人领域的应用,是Graphcore和伦敦帝国理工学院的合作,主要是用到一些空间的 AI 以及及时定位和地图构建技术,帮助机器人做比较复杂的动作和更高级的功能。
对Graphcore更重要的是在IPU在云和数据中心中的应用,这是他们早期推广以及现在主要推广的领域,包括微软在Azure公有云上开放IPU的服务,以及欧洲搜索引擎公司Qwant使用IPU做搜图识别性能达到3.5倍以上的提升。
如何抢占中国AI市场先机?
“在IPU的落地上,目前我们整个策略上还是与云服务商和服务器提供商合作,所有地区基本上是一样的做法。”卢涛坦言,IPU在美国的落地速度比中国更快,包括Azure公有云上开放IPU的服务,以及与戴尔易安信合作推出了IPU服务器等。
他解释,“这是因为美国的用户可能是较为活跃的 研究者社区,而中国很注重产品化落地。我们中国本地的一些合作伙伴、开发者可能会更加务实。可能前期导入会慢一点,但是后面真正开始加速了, 整个开发过程速度是会非常快。”
卢涛也透露,Graphcore在和金山云在合作,即将上线一个面向中国开发者和创新者的免费试用的开发者云。
在本地化产品服务方面,“长期来讲,我们很开放地希望针对中国市场的需求做产品的定制化演进。从服务的角度,我们有两支技术团队,工程技术团队承担两个方面的工作,一是根据中国本地的 AI的应用的特点和应用的需求,把一些AI的算法模型用 IPU 去落地;二是根据中国本地用户对于 AI 的稳定性学习框架平台软件方面的需求,做功能性的一些开发加强的工作。现场应用团队则是帮助客户做一些更现场的技术支持的工作。”
当然,Graphcore支持阿里巴巴为底层的架构抽象出来的统一接口API ODLA(Open Deep Learning API)硬件标准,以及支持国内重要的深度学习框架百度飞桨也都有助于Graphcore的IPU在国内的落地。
从AI发展的未来趋势看,IPU也能发挥优势。卢涛说:“我们看到一个大的趋势,就是训练和推理有混步的需求。比如线上的推荐算法,以及预测汽车类应用。能够同时满足训练和推理需求的IPU就能够发挥优势。”
另外,“分组卷积对算法设计者来说,最简单的一个表现就是设计出参数规模更小、精度更高的一个算法模型。我们认为这是未来一个大的趋势。”
雷锋网小结
作为一个全新的架构,IPU获得了业界多位专家的高度评价。不过从创新的架构到芯片再到成为革命性的产品,Graphcore从芯片到落地之间的距离,需要易用的软件和丰富的工具来支持,特别是对软件生态依赖程度比较到的云端芯片市场。从目前的情况看,Graphcore在工具链、部署支持方面都已经有对应的产品,并且在金融、医疗、数据中心等领域都有落地案例。并且,Graphcore下一代基于更先进7nm工艺的IPU也即将推出。
接下来的问题就是标杆客户之后市场的接受度如何?以及Graphcore的市场策略是否和他们的产品一样优势明显?
不可忽视的是,全球范围内除了Graphcore还有其他公司也使用了IPU的理念设计出了AI芯片并且开始推广。我们正在见证IPU时代的到来。
注,文中图片均来自Graphcore
相关文章: