「奇点」AI计算平台细节曝光!竟是微软四年前老项目重生
AI服务平台的成本和效率问题,是各大服务提供商一直着力解决和改进的难题。
具体而言,就是如何在满足客户需求的同时,尽量降低整个系统资源的消耗,以及如何通过提高深度学习工作负载的利用率来降低成本。
近日,微软 Azure 研究团队合作构建了一个新的 AI 基础设施服务,代号为「Singularity」。用研究人员的话说,这是「一个全新的人工智能平台服务,将成为微软内部和外部人工智能的主要驱动力。」
Singularity 服务旨在为数据科学家和 AI 从业者提供一种在微软专为 AI 构建的分布式基础架构服务上构建、扩展、试验和迭代其模型的方法。
论文地址:
??https://arxiv.org/pdf/2202.07848.pdf
在一篇系统介绍Singularity 服务的论文中,研究人员表示:
「Singularity 的核心是一种新颖的、可以感知工作负载的调度程序,可以透明地抢占和弹性扩展深度学习工作负载,在不影响正确性和性能的情况下,提高全球范围内的 AI 加速器(例如 GPU、FPGA)的利用率。」
据介绍,使用Singularity服务,活动作业负载可以动态且透明地占用并迁移到一组不同的节点、集群、数据中心或区域,并准确执行,还能够在给定类型的一组不同的加速器上调整大小(即弹性缩放)。
Singularity平台架构示意图
用户无须对代码进行任何更改,也不需要使用任何可能限制灵活性的自定义库。微软表示,这种方法显著提高了深度学习工作负载的可靠性。
这篇论文的作者包括 Azure 首席技术官 Mark Russinovich;合作伙伴架构师 Rimma Nehme,他曾在 Azure Cosmos DB 工作,直到 2019 年转到 Azure 从事人工智能和深度学习工作;以及技术研究员 Dharma Shukla等。
和今天使用的弹性负载调度机制相比,Singularity调度程序可以将每个 worker 一对一映射到物理 GPU,或者使用多对一映射,将物理 GPU 虚拟化并跨多个 worker 进行时间切片,world-size不变。
相比之下,目前的弹性机制调度程序会将工作从上一个检查点重新启动,world-size减小至四分之一,导致资源浪费(比如自上一个检查点以来的初始化和迭代需要重做)。
测试结果显示,在不同模型上,使用Singularity服务(DP)相对基线水平(B)获得的性能提升。
在透明弹性负载调度性能上,Singularity则取得了7%的平均优势。
研究人员表示,Singularity在调度深度学习工作负载方面实现了重大突破,将诸如弹性等小众特征转化为主流特征,并在此基础上实现了对深度学习工作负载的调度。
Singularity实现了前所未有的工作负载可替换性水平。工作负载能够利用全球分布的机群中的任何地方的空闲资源。
Singularity提供简单的用户体验:用户只需要关注机器学习任务本身,而不需要考虑检查点或弹性负载问题。这些基础设施的优化对用户是完全透明的。
四年前的老项目「重生」?
ZD Net报道称,Singularity 可能是将微软此前推出的 Brainwave 项目推向商业化的下一个阶段。
微软此前曾讨论过将 FPGA 或现场可编程门阵列作为服务提供给客户的计划。
2018 年,微软公开了其旨在 Azure 中提供快速 AI 处理和计算能力的「Brainwave」项目。
当时,微软在云端提供了由 Brainwave 提供支持的 Azure 机器学习硬件加速模型的预览——一个向客户提供面向 AI 工作负载的 FPGA 处理平台。
Brainwave 由高性能分布式系统架构组成;运行在可定制芯片(FPGA)上的硬件深度神经网络引擎,用于部署训练模型的编译器。
实际上,这不是微软在自家平台上第一次使用Singularity这个词了。微软之前就曾将 Singularity 用来命名微内核操作系统,以及一组完全以托管代码开发的相关工具和资源库。
Singularity 最终催生和/或影响了微软的其他几个云平台和操作系统项目,对 Barrelfish、 Helios、 Midori和 Drawbridge等项目均产生了不小的影响。
AI计算平台,大厂争相布局
值得注意的是,在人工智能高性能计算和加速计算平台的构建上,微软早就开始布局了。
2019年,微软在OpenAI上投资了10亿美元,并在一年后宣布,他们已经与OpenAI合作并专门为OpenAI建造了第五强大的公开记录超级计算机。
虽然微软与OpenAI合作建造的AI超级计算机专门用于OpenAI,但微软一直表示,他们计划通过Azure AI服务和GitHub,想更多的用户提供大型AI模型和训练优化工具。
微软还在其「Azure AI」旗下向不需要专用超级计算机的客户提供各种加速计算服务。
2021年11月,微软宣布将在Azure中使用 80GB NVIDIA A100 GPU,以扩大其AI超级计算机阵容。
而且,微软并不是唯一一家试图在内部和客户中提供人工智能超级计算功能的科技公司。Meta也在做同样的事情,如无意外,Meta已经将这项工作定位为解锁元宇宙的关键。