AI服务器产生背景:基础设施演变的三个时代
l 基础设施1.0:Wintel时代
90年代的商业互联网由x86指令集,标准化操作系统,关系数据库,以太网以及网络数据存储组成。亚马逊,eBay,雅虎,甚至谷歌最早的迭代都建立在这个基础设施1.0的骨干上。
l 基础设施2.0:云计算时代
随着网络的成熟,互联网用户从1995年的1600万到如今到超过40亿,应用程序的规模和性能要求发生了变化。Google,Facebook和亚马逊等一批优秀的科技企业定义了一个新的基础架构类别,它是可扩展的,可编程的开源(大部分)的和商业化的。Linux,KVM,Xen,Docker,Kubernetes,Mesos, Hadoop,Spark等等技术定义了云时代。这种转变描述为基础设施2.0。最终,这一代技术专门用于将互联网扩展到数十亿最终用户,并有效存储从这些用户获取的信息。基础设施2.0的创新催化了数据增长的急剧增长。
l 基础设施3.0:走向智能系统
基础设施2.0最终关心的问题是“如何连接世界”,新一代人工智能技术关注的重点变成了“如何认知理解世界”。
这种连接与认知的区别,使得机器学习与人工智能与前几代的软件逻辑截然不同。编码认知的计算挑战是它颠倒了经典的编程范例。在传统应用中,逻辑是机器通过完成人的手动编码来执行特定的任务,而在机器学习与人工智能中,则是机器自己通过训练算法从数据库推断逻辑,然后执行这个逻辑来做出有关世界的决定和预测。
这种“聪明”的应用程序,背后是海量的数据和指数级的计算力需求。海量的数据正以前所未有的速度和⽅式产生和储存,数据不再是问题;算法经历了数⼗年的发展,在深度学习和加速计算出现之后,得到了迅速的发展和优化,以最新的GPT3语⾔模型为例,该模型包含了1750亿个参数,在NLP领域取得突破性进展的同时,给算⼒也提出了巨⼤的挑战。
随着摩尔定律失效,CPU的物理⼯艺和核⼼数已接近极限,由CPU提供算⼒的传统服务器很难满⾜这种密集型计算的需求。机器学习和人工智能代表了一个基本的新架构,需要重新思考基础架构,工具和开发实践。人工智能需要专属的基础机构进行承载和支撑,AI服务器应运而生。
2 AI服务器定义
人工智能服务器是面向深度学习神经网络需要的快速,低精度,浮点运算高度并行数值计算,搭载大量计算内核和高带宽内存资源,用于支撑深度学习训练和线上推理计算框架模型和应用,可以在多个节点之间高速互联、高效地扩展的硬件平台。
⼈⼯智能服务器适⽤于深度学习、计算机视觉、语⾳识别、⾃然语⾔处理、 视频分析等领域,承载深度学习训练和线上推理业务,⼴泛应⽤于视频监控、图像处理、⾃动化客服、精准营销推荐等典型AI应⽤场景。
现阶段,⼈⼯智能服务器多采⽤异构架构进⾏加速计算,常采用CPU+GPU、CPU+FPGA、CPU+ASIC等多种形式。
3 AI服务器的技术特点
为了让机器学习和人工智能充分发挥潜力,AI服务器的平台架构、接口,系统和工具所发生的演变不是在抽象理论中微小的、渐进式的改进。相反,它们在系统设计和开发工作流程中都是颠覆性的变化。
超高计算性能:AI服务器需要承担大量的计算,通常带有许多计算内核和高带宽内存(HBM)的专用硬件非常接近处理器裸片。针对神经网络需要的快速,低精度,浮点运算,这些芯片针对性优化神经网络的高度并行数值计算。如多次打破全球AI基准性能测试的AI服务器NF5488A5,在4U空间内支持8颗第三代NVLink 全互联的 Nvidia A100 GPU,搭载2颗支持PCIe4.0的AMD EPYC 7742 处理器,NF5488A5提供5 petaFLOPS的极致单机训练性能和超高数据吞吐;
高速IO性能:AI训练中加速卡间需要大量的参数通信,模型越复杂,通信量越大,所以AI服务器对多卡间的通讯性能要求非常高。例如高速互联方面,momo采用PCI3.0协议最大P2P带宽达到32GB/s,采用NVLink 高速互联技术,双向总带宽可以达到300GB/s
超强扩展能力:分布式计算框架,用于训练和推理,可以在多个节点之间高效地扩展模型操作。
封装整个机器学习和人工智能工作流程的端到端平台,从最终用户中抽象出复杂性。
设计独特:AI服务器内置多个加速卡和内存,需要针对性的对于系统结构、散热、拓扑等进行设计,才能满足长期稳定运行的要求。