解码Graphcore创新秘籍:开启机器智能时代的无限可能
“成立Graphcore的时候,我们认识到了机器智能的快速发展以及所能企及的成就。不过在与人工智能领域的领先创新者合作过程中,我们也感受到了他们在工作上遇到的硬件桎梏。”Graphcore联合创始人兼首席执行官Nigel Toon在出席2020年中关村论坛时谈到,CPU和GPU并非为AI计算完全不同的需求而设计,“它们可以构建第一波AI解决方案,但显而易见的是,当今的架构无法扩展和支持那些引领我们进入未来所需的、更为复杂的模型和技术。人类的进步总是与新工具的创造齐头并进,这一点在机器智能时代也不会改变。因此,我们发明了智能处理器——IPU。它是世界上最先进的处理器,旨在支持机器智能的新计算需求。”
创新互联专业为企业提供安塞网站建设、安塞做网站、安塞网站设计、安塞网站制作等企业网站建设、网页设计与制作、安塞企业网站模板建站服务,十余年安塞做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。Graphcore联合创始人兼首席执行官 Nigel Toon
Graphcore是一家名副其实的“明星企业”,创立之初就吸引了ARM联合创始人Hermann Hauser和DeepMind联合创始人Demis Hassabis的高度关注,更是被Hermann Hauser称为继CPU、GPU之后,计算机历史上的第三次革命(Graphcore IPU)。如今,成立四年的Graphcore已发展成为全球性的企业,在欧洲、美洲、亚洲均设有办公室,并且正在筹建东京办公室,融资额超过4.5亿美元,投资方包括红杉资本、Atomico等知名机构,以及宝马、博世、戴尔、微软、三星等战略投资者。目前,IPU在超大规模数据中心及互联网行业、高校及研究机构、医疗及生命科学、金融、汽车等领域发展迅速,发货量超过1万颗,服务于全球100多家机构。
2016年1月,微软亚洲研究院发明的ResNet标志着机器学习的发展迈进了一大步,ResNet50拥有25M的参数,能够在图片分类应用领域达到人类的水平。从2016年1月到现在,模型参数的规模几乎是每三个月提升一倍。2019年,谷歌在《对卷积神经网络模型缩放的重新思考》一文中通过分析网络模型的发展,论述了提升模型精度的方法,主要包括提高网络模型的深度、拓展网络模型的宽度,以及提高数据的精度。谷歌的科学家发现,可以在底层构建新的算法和卷积,结合以上三种方法做到减少参数数量、获得满意的精度,例如具有7.8M参数的EfficientNet-B1网络模型,比60M参数的ResNet152网络模型的精度更高。
由此,开发者和工程师可能会扪心自问:通过提升参数规模来提高模型精度是未来的发展趋势吗?2019年,OpenAI发布的GPT-2自然语言模型有15亿个参数,到了2020年6月,GPT-3已经是拥有1750亿个参数的大型自然语言处理模型。随着机器智能在行业场景中的应用逐级深入,所涉及的模型尺寸和数据复杂度同样呈现快速增长,传统的训练方式并不能保障良好的ROI,除在训练和部署效果上存在差异,传统的训练方式在算力、散热、能耗等方面的花费甚至会达到千万美元。
“这种稀疏计算在GPU上的运行效果并不好。”Nigel Toon表示,这也是Graphcore设计IPU的意义所在,“我们的系统在训练和部署中都可以支持具备高效稀疏计算的大型模型。IPU不仅可以推动创新开发,还可以有效部署这些新型模型,更高效的计算可以降低总拥有成本(TCO)。用户可以在训练和推理中使用相同的IPU硬件,并且能够灵活机动地更改每个CPU可以调用多少IPU。”从第一代IPU开始,其1200多个处理器内核就可以分别处理完全独立的任务,并可以彼此通信支持完整的多指令多数据并行操作,以适应机器智能时代的需求。
Graphcore提供的产品主要包括三个部分:专为AI从零设计的IPU处理器、Poplar SDK和开发工具,以及IPU平台,例如IPU-Machine,客户可以通过浪潮、戴尔等OEM厂商购买的IPU服务器,以及可大规模横向扩展的IPU-Pod64。今年7月,Graphcore推出了第二代IPU和用于大规模系统级产品IPU-Machine:M2000(IPU-M2000),全新的IPU在823平方毫米的芯片上集成了594亿个晶体管,1472个完全并行的处理器内核和近9000个独立的并行处理器线程,900MB的超高速处理器内存储,系统级性能较第一代IPU提升八倍以上。作为一款即插即用的机器智能刀片式计算单元,IPU-M2000采用了7纳米工艺,由Poplar软件栈提供支持,能够带来1 PFlops的AI计算能力,并通过专用IPU内置了AI横向扩展网络架构。
利用IPU-Exchange,可实现多个Tile之间的高效互联,而对外Mk2 IPU则提供了PCIe接口和IPU-link,以实现多片互联。数据处理方面,IPU Exchange Memory包含了片上存储(In-Processor Memory)和流存储(Streaming Memory),单个IPU-M2000系统能提供每秒180TB的带宽和450GByte容量。足够大容量的片上存储可带来约50倍甚至100倍DDR或HBM带宽的提升和时延的降低,Mk2 IPU中,存储和计算之间的距离被大幅缩短。
“CPU系统里面有一个MMU,叫内存管理单元(Memory Management Unit),其中有一个很重要的单位是TLB,TLB和外存之间能够进行Pageant操作。”Graphcore高级副总裁兼中国区总经理卢涛在中关村论坛上称,“Mk2 IPU拥有900MB的片上存储,可以通过远端的流存储来扩展数百GB的存储空间,而不需要像GPU或CPU一样,用32MB或64MB的片上存储不停地与DDR、NHBM进行数据交互。最终,4颗Mk2 IPU内部的片上存储和流存储技术相结合,每个IPU-M2000获得了450GByte的容量,处理器内存储带宽获得了近百倍的提升。”
Graphcore高级副总裁兼中国区总经理 卢涛
为了构建高效的AI计算集群,Graphcore为AI设计了IPU-Fabric横向扩展技术,提供了2.8Tbps的超低时延网络结构,能够支持从1颗IPU到64000颗IPU之间的高弹性横向扩展。无论是几颗IPU还是几万颗IPU的集群,IPU之间互联的带宽时延均是一致的,通过直接连接或以太网交换机的连接方式,可以执行集合和全缩减(All-Reduce)操作。
“Graphcore通过IPU-Fabric进行解耦,并通过IPU over Fabric将服务器与IPU的算力按需进行弹性配比。这样可以为数据中心的弹性运维提供支持,根据不同的工作负载,为用户提供最合适、最经济、高效的配比。这也是IPU-Fabric disaggregation的重要价值之一。”卢涛说。
在卢涛看来,Graphcore IPU具有很强的通用性,在新算法模型上可以获得卓越的性能表现。去年11月,微软开始在Azure智能云平台上提供Graphcore的IPU服务。2020年Intelligent Health峰会期间,微软的机器学习科学家分享了在EfficientNet上进一步优化和发展的模型:该模型被用于处理COVID-19的X光影像,这一场景中,GPU每秒只能处理166个图像,与之相比,IPU能够将模型提升10倍以上,在30分钟内完成NVIDIA传统芯片需要5个小时的训练工作量。
DGX A100与IPU-M2000对比
百度DeepVoice 3在文本转语音(TTS)训练任务中,使用Mk2 IPU获得8倍于GPU的训练性能
IPU与GPU在EfficientNet-B4训练场景中的对比
就像Nigel Toon所说的,Graphcore同时串联构建了一个软件环境和硬件处理器,两者均旨在相互配合作为统一的系统工作,除了IPU的硬件部分,Graphcore在软件领域也有着巨大的投入,其中就包括Poplar计算图工具链中的创新。以计算图(Graph)为核心的Poplar SDK是Graphcore从零开始设计的,不仅可以为基于IPU的各类平台提供一致的用户体验,还能对接TensorFlow、PyTorch、ONNX、PaddlePaddle等机器学习框架。
Poplar SDK
据了解,Poplar SDK包含一个开放且高度可扩展的Poplar库,为开发者提供了超过750个高性能计算元素和50多种优化功能,开发者可以自行修改或编写自定义库。同时,Poplar还支持各类行业标准的机器学习系统,以及部署和集群管理生态系统,开发者能够通过Poplar SDK预配置Docker容器快速部署。
IPU应用示例
在GitHub上,Graphcore公开了自然语言处理类的BERT训练和推理、机器视觉类的ResNet、ResNeXt、EfficientNet、概率模型MCMC、VAE、销售预估模型、推荐模型Graphcore开放了PopLibs的源代码等各种类型的IPU用例,支持约50个算法模型。
“Graphcore希望将创新的权利移交给AI的创新者和研究者,而不是将开发者束缚在墙内。”卢涛称,开发者可以通过两种方式便捷获取IPU,即通过云(当前支持Azure和金山云)和计算终端(利用戴尔或浪潮的IPU服务器构建私有云或预置计算资源),“Graphcore注重对本土创新支持,Graphcore的IPU开发者云和Graphcore中国创新社区使得创新者能够便捷地获取和使用IPU。”
IPU开发者云
如今,Graphcore正在加速推进中国市场的AI创新力,并取了一个颇有寓意的名字——“拟未”。Nigel Toon认为,中国的AI领域在全球范围内处于领先地位,中国比大多数国家都更了解如何从创新转向应用,“中国可以成为机器智能开发和应用的领导者。Graphcore致力于在中国扩大业务,我们正在尽可能快地壮大中国团队,以便在技术或任何其他问题上为客户提供完全本地化的响应和支持。我们的目标是将拟未打造成一家重要的中国公司。”
据了解,Graphcore正在大力扶持本土的IPU开发者云服务、创新社区和生态,例如与高校的AI实验室、研究机构进行深度合作,以及与商业用户联合推动项目研发,提供本地技术支持。同时,Graphcore也会积极参与或组织研讨会,帮助开发者更多的了解IPU。此外,Graphcore针对中国市场的销售策略、市场策略等方面均有本土化的定制方案,并且有本地的工程技术团队,负责算法、模型的开发和落地工作。目前,Graphcore在中国的团队规模在30人左右,在中国大陆有三个办公室,位于北京、上海和深圳。
“Graphcore的愿景是通过Graphcore IPU帮助创新者在机器智能中实现下一波突破。”卢涛表示,“尽管Graphcore是一家英国公司,但是我们希望Graphcore能够在中国的市场决策,以及技术的深度、广度、能力,以及开发者社区建设三个维度上,更像一家中国本地公司,甚至比中国本地的公司做得更好。”
分享名称:解码Graphcore创新秘籍:开启机器智能时代的无限可能
网站路径:http://scyanting.com/article/cpjgoh.html