ChatGPT能成为如今火遍全球的顶流模型,少不了背后超强的算力。
数据显示,ChatGPT的总算力消耗约为3640PF-days(即假如每秒计算一千万亿次,需要计算3640天)。
那么,作为依托的那台微软专为OpenAI打造的超级计算机,又是如何诞生的呢?
周一,微软在官博上连发两文,亲自解密这台超级昂贵的超级计算机,以及Azure的重磅升级——加入成千上万张英伟达最强的H100显卡以及更快的InfiniBand网络互连技术。
基于此,微软也官宣了最新的ND H100 v5虚拟机,具体规格如下:
- 8个NVIDIA H100 Tensor Core GPU通过下一代NVSwitch和NVLink 4.0互联
- 每个GPU有400 Gb/s的NVIDIA Quantum-2 CX7 InfiniBand,每个虚拟机有3.2Tb/s的无阻塞胖树型网络
- NVSwitch和NVLink 4.0在每个虚拟机的8个本地GPU之间具有3.6TB/s的双向带宽
- 第四代英特尔至强可扩展处理器
- PCIE Gen5到GPU互连,每个GPU有64GB/s带宽
- 16通道4800MHz DDR5 DIMM
数亿美元撑起来的算力
大约五年前,OpenAI向微软提出了一个大胆的想法——建立一个可以永远改变人机交互方式的人工智能系统。
当时,没人能想到,这将意味着AI可以用纯语言创造出人类所描述的任何图片,人类可以用聊天机器人来写诗、写歌词、写论文、写邮件、写菜单……
为了建立这个系统,OpenAI需要很多算力——可以真正支撑起超大规模计算的那种。
但问题是,微软能做到吗?
毕竟,当时既没有能满足OpenAI需要的硬件,也无法确定在Azure云服务中构建这样庞大的超级计算机会不会直接把系统搞崩。
随后,微软便开启了一段艰难的摸索。
微软Azure高性能计算和人工智能产品负责人Nidhi Chappell(左)和微软战略合作伙伴关系高级总监Phil Waymouth(右)
为了构建支持OpenAI项目的超级计算机,它斥资数亿美元,在Azure云计算平台上将几万个Nvidia A100芯片连接在一起,并改造了服务器机架。
此外,为了给OpenAI量身打造这个超算平台,微软十分尽心,一直在密切关注着OpenAI的需求,随时了解他们在训练AI时最关键的需要。
这么一个大工程,成本究竟是多少呢?微软负责云计算和人工智能的执行副总裁Scott Guthrie不愿透露具体数目,但他表示,「可能不止」几亿美元。
OpenAI出的难题
微软负责战略合作伙伴关系的高管Phil Waymouth指出,OpenAI训练模型所需要的云计算基础设施规模,是业内前所未有的。
呈指数级增长的网络GPU集群规模,超过了业内任何人试图构建的程度。
微软之所以下定决心与OpenAI 合作,是因为坚信,这种前所未有的基础设施规模将改变历史,造出全新的AI,和全新的编程平台,为客户提供切实符合他们利益的产品和服务。
现在看来,这几亿美元显然没白花——宝押对了。
在这台超算上,OpenAI能够训练的模型越来越强大,并且解锁了AI工具令人惊叹的功能,几乎开启人类第四次工业革命的ChatGPT,由此诞生。
非常满意的微软,在1月初又向OpenAI狂砸100亿美元。
可以说,微软突破AI超算界限的雄心,已经得到了回报。而这背后体现的,是从实验室研究,到AI产业化的转变。
目前,微软的办公软件帝国已经初具规模。
ChatGPT版必应,可以帮我们搜索假期安排;Viva Sales中的聊天机器人可以帮营销人员写邮件;GitHub Copilot可以帮开发者续写代码;Azure OpenAI 服务可以让我们访问OpenAI的大语言模型,还能访问Azure的企业级功能。
和英伟达联手
其实,在去年11月,微软就曾官宣,要与Nvidia联手构建「世界上最强大的AI超级计算机之一」,来处理训练和扩展AI所需的巨大计算负载。
这台超级计算机基于微软的Azure云基础设施,使用了数以万计个Nvidia H100和A100Tensor Core GPU,及其Quantum-2 InfiniBand网络平台。
Nvidia在一份声明中表示,这台超级计算机可用于研究和加速DALL-E和Stable Diffusion等生成式AI模型。
随着AI研究人员开始使用更强大的GPU来处理更复杂的AI工作负载,他们看到了AI模型更大的潜力,这些模型可以很好地理解细微差别,从而能够同时处理许多不同的语言任务。
简单来说,模型越大,你拥有的数据越多,你能训练的时间越长,模型的准确性就越好。
但是这些更大的模型很快就会到达现有计算资源的边界。而微软明白,OpenAI需要的超级计算机是什么样子,需要多大的规模。
这显然不是说,单纯地购买一大堆GPU并将它们连接在一起之后,就可以开始协同工作的东西。
微软Azure高性能计算和人工智能产品负责人Nidhi Chappell表示:「我们需要让更大的模型训练更长的时间,这意味着你不仅需要拥有最大的基础设施,你还必须让它长期可靠地运行。」
Azure全球基础设施总监Alistair Speirs表示,微软必须确保它能够冷却所有这些机器和芯片。比如,在较凉爽的气候下使用外部空气,在炎热的气候下使用高科技蒸发冷却器等。
此外,由于所有的机器都是同时启动的,所以微软还不得不考虑它们和电源的摆放位置。就像你在厨房里同时打开微波炉、烤面包机和吸尘器时可能会发生的情况,只不过是数据中心的版本。
大规模AI训练
完成这些突破,关键在哪里?
难题就是,如何构建、操作和维护数万个在高吞吐量、低延迟InfiniBand网络上互连的共置GPU。
这个规模,已经远远超出了GPU和网络设备供应商测试的范围,完全是一片未知的领域。没有任何人知道,在这种规模下,硬件会不会崩。
微软Azure高性能计算和人工智能产品负责人Nidhi Chappell解释道,在LLM的训练过程中,涉及到的大规模计算通常会被划分到一个集群中的数千个GPU上。
在被称为allreduce的阶段,GPU之间会互相交换它们所做工作的信息。此时就需要通过InfiniBand网络进行加速,从而让GPU在下一块计算开始之前完成。
Nidhi Chappell表示,由于这些工作跨越了数千个GPU,因此除了要确保基础设施的可靠外,还需要大量很多系统级优化才能实现最佳的性能,而这是经过许多代人的经验总结出来的。
所谓系统级优化,其中就包括能够有效利用GPU和网络设备的软件。
在过去的几年里,微软已经开发出了这种技术,在使训练具有几十万亿个参数的模型的能力得到增长的同时,降低了训练和在生产中提供这些模型的资源要求和时间。
Waymouth指出,微软和合作伙伴也一直在逐步增加GPU集群的容量,发展InfiniBand网络,看看他们能在多大程度上推动保持GPU集群运行所需的数据中心基础设施,包括冷却系统、不间断电源系统和备用发电机。
微软AI平台公司副总裁Eric Boyd表示,这种为大型语言模型训练和下一波AI创新而优化的超算能力,已经可以在Azure云服务中直接获得。
并且微软通过与OpenAI的合作,积累了大量经验,当其他合作方找来、想要同样的基础设施时,微软也可以提供。
现在,微软的Azure数据中心已经覆盖了全球60多个地区。
全新虚拟机:ND H100 v5
在上面这个基础架构上,微软一直在继续改进。
今天,微软就官宣了全新的可大规模扩展虚拟机,这些虚拟机集成了最新的NVIDIA H100 Tensor Core GPU 和 NVIDIA Quantum-2 InfiniBand 网络。
通过虚拟机,微软可以向客户提供基础设施,根据任何AI任务的规模进行扩展。据微软称,Azure的新ND H100 v5 虚拟机为开发者提供卓越的性能,同时调用数千个GPU。