Skip to main content

每秒5百亿亿次!Meta祭出元宇宙巨兽,联手英伟达打造全球最强超算

 


1月25日,Meta联合英伟达正式推出了一个全新的超算——「人工智能研究超级集群」( AI Research SuperCluster,缩写RSC)。
 
Meta的计划也很「朴素」,首先把CV、NLP、语音识别等技术所需的模型都做到最大,参数量差不多「数万亿」个吧。
 
这些模型可以在数百种不同的语言中工作;无缝分析文本、图像和视频;开发新的增强现实工具等等。
 
然后再构建全新的人工智能系统。例如,为使用不同语言的人群提供实时语音翻译,这样大家就可以就研究项目无缝协作,或者一起畅玩AR增强现实游戏。
 
最终,RSC将和相关的AI工作一起,为构建「元宇宙」铺平道路。
 
Image
 
值得一提的是,RSC从论文灵感到实物只用了18个月的时间。
 

要整就整最大的


自2013年Facebook正式设立人工智能实验室开始,Meta在AI方面取得了很多重大进展。
 
诸如从大量未标注的样本中学习的自监督学习,以及让AI模型能够进行更有效推理的Transformer。
 
不过,想要发挥自监督学习和基于Transformer的模型的优势,无论是视觉、语音、语言,还是关键信息的识别,都需要训练越来越大、越来越复杂的模型。
 
计算机视觉需要以更高的数据采样率来处理更大、更长的视频。语音识别需要在有大量背景噪音的挑战性场景中也能很好地工作,如聚会或音乐会。NLP需要理解更多的语言、方言和口音。
 
而其他领域的进步,包括机器人技术、具身人工智能和多模态人工智能,将能够完成现实世界中的任务。
 
Image
 
为此,Meta在2017年打造了第一代超算。其中,一个集群中拥有22000个英伟达V100 Tensor Core GPU,每天执行35000个训练作业。
 
2020年初,Meta决定从0开始设计一个新的超算,进而在大到一个Exabyte的数据集上训练出超过一万亿个参数的模型,换句话说,这个数据量相当于36000年的高质量视频。

反正神经网络模型中的参数数量也一直在猛增,例如自然语言处理器GPT-3有1750亿个参数,超级计算机跑超级神经网络AI,没毛病。
 
具体参数
 
RSC由760个英伟达DGX A100系统构成运算节点,总共有6080个英伟达A100 GPU在Quantum InfiniBand网络上连接,达到每秒1895千万亿次运算的TF32程度性能。
 
RSC的存储层有175PB的Pure Storage FlashArray,46PB的Penguin Computing Altus系统的缓存存储,以及10PB的Pure Storage FlashBlade。
 
Image
 
20倍性能增益
 
Meta的第一代超算设计于2017年,其中一个集群中拥有22000个英伟达V100 Tensor Core GPU,每天执行35000个训练作业。
 
RSC的早期基准测试表明,较于第一代超算,它运行计算机视觉工作流程的速度提高了20倍,运行英伟达集体通信库(NCCL)的速度提高了9倍多,训练大规模NLP模型的速度提高了3倍。
 
这意味着一个拥有数百亿个参数的模型可以在三周内完成训练,而之前是九周。
 
Image
 
在2022年度的第二阶段,RSC的GPU数量将从6080个增加到16000个,使AI的训练性能提高2.5倍以上,成为世界上最快的人工智能超级计算机。
 
在混合精度方面,RSC将达到惊人的每秒5百亿亿次运算。存储系统则会扩容到Exabyte(10亿GB)级别,并具有16TB/s的目标传输带宽。
 
此外,InfiniBand结构将支持16000个端口,采用双层拓扑结构且没有超占比。
 
作为对照物,在最新一轮MLPerf神经网络训练基准测试中,最大的系统是Nvidia部署的4320-GPU系统。

其可在不到一分钟的时间内训练自然语言处理器BERT。然而,与Meta的RSC将使用的数万亿个参数相比,BERT只有1.1亿个参数。

真是小巫见大巫了。

Image
 
超算的优势
 
负责RSC的Meta项目经理凯文·李称,超级计算机的巨型规模在多方面都很有必要。
 
首先,Meta公司本身的基础业务就带来了不间断处理海量信息的需求,这对数据处理性能的规模下限有很高要求。
 
其次,AI研发项目使用的数据量也有下限要求,因为数据集内容越复杂越整全,研究结果就越好。
 
训练AI模型的算力下限,远高于运行AI模型的算力下限。这就是你的智能手机在扫脸认证时不需要连上堆满服务器的数据中心的原因。
 
再次,所有这些基础设施的管理是很大的挑战。所以大规模带来的管理去碎片化,简化了管理工作,提高了管理工作、耗能、占地等任务的效率。
 
Image
 

元宇宙:请加大力度


Meta在公开宣布超算时,并没有忘记公司最近的元宇宙主旋律。
 
2021年10月,Facebook正式宣布改名,META!
 
Image
 
当蒙在硅谷总部标志牌上的「竖起大拇指」被揭掉的那一刻起,「元宇宙新纪元」也正式拉开帷幕。

Image

Meta老板马克·扎克伯格周一在自己的Facebook帖文中写道:「我们为元宇宙构建的体验需要巨大的算力(每秒数万亿次操作!),RSC将启用新的AI模型,可以从数万亿个示例中研究,理解数百种语言等等。」
 
Image
 
Meta公司也多次在消息公布文章中表示:开发超算的目的之一是「帮助实现公司的元宇宙愿景
」。用超算跑AI也是因为「AI驱动的应用和产品将在元宇宙中发挥重要作用。」
 
Meta称:「我们希望算力的跃阶提升不仅能帮助我们为现有服务创建更精确的人工智能模型,同时能够实现全新的用户体验,尤其是在元宇宙之中……正在帮我们创造为元宇宙提供动力、并推动更广泛的人工智能社区前进的基础技术。」
 
Image

RSC能推动的具体产品与落地场景也不乏展望。除了多次提到的「审查海量内容」和「为包含数百种语言的人群实时翻译语音」外,还有Facebook与Instagram正在开发的增强现实设备也可以从中获益。
 
正如马克·扎克伯格提到自家的data2vec模型所说,高性能AI与AR的结合将提升元宇宙的用户体验:「高性能的AI助手最终将内置于AR眼镜中。例如当用户做饭时少放调料、炉火开太大等等时,AR眼镜中的AI助手能及时弹窗/语音提示,协助用户完成复杂任务。」

Image

如何造一个AI超算


设计、建造RSC这类项目,并不只消考虑性能参数,而是要用当今最好的方案在尽可能大的范围内实现这些性能。
 
与外界伙伴协作
 
所有这些基础设施必须非常可靠耐用,因为Meta公司估计有些实验可以运行数周,并需要成千上万的GPU。而且使用RSC的整个体验必须对研究人员友好,以便研究团队可以轻松地探索广泛的人工智能模型。
 
这一目标实现的很大一部分,是Meta与长期合作伙伴的协力结果,他们也都在2017年帮助设计了Meta的第一代AI基础设施。
 
SGH旗下的企鹅计算公司是Meta的架构和管理服务合作伙伴,它与Meta的运营团队合作,进行硬件集成以部署集群,并帮助建立控制平面的主要部分。
 
Pure Storage为Meta提供了强大的、可扩展的存储解决方案。
 
英伟达为Meta提供了以尖端系统、GPU和InfiniBand结构为特色的AI计算技术,以及用于集群的NCCL等软件栈组件。
 
Image
 
开发中应对时势变故
 
但在RSC的发展过程中还出现了其他意想不到的挑战--即新冠大流行。
 
新冠让RSC初始时成为完全的远程项目,项目团队得用大约一年半的时间里将其从一个简单的共享文件变成了一个正常运作的工作集群。
 
新冠和全行业的晶圆供应短缺还带来了供应链问题,使得从芯片、光学组件到GPU,甚至建材都难以获得--所有这些都必须按照新的安全规程进行运输。
 
为了有效地建立这个集群,Meta的项目团队不得不从头开始设计,创造了许多全新的Meta独有流程,并在此过程中重新思考以前的先例。
 
比如Meta必须围绕其数据中心设计编写新的规则--包括其冷却、电源、机架布局、布线和网络(包括一个全新的控制界面),以及其他重要的考量因素。
 
Image
 
Meta必须确保公司内的所有团队,从建筑到硬件到软件和人工智能,都与合作伙伴步调一致地工作。
 
为超算开发的AIRStore
 
除了核心系统本身,AI超级计算机还需要一个强大的存储解决方案:一个能够从一个超字节规模的存储系统提供TB级带宽的解决方案。
 
为了满足人工智能训练日益增长的带宽和容量需求,Meta从头开始开发了一个存储服务--人工智能研究商店(AIRStore)。
 
为了优化人工智能模型,AIRStore采用了一个新的数据准备阶段,对用于训练的数据集进行预处理。一旦准备工作完成,准备好的数据集可用于多次训练,直至过期。
 
AIRStore还优化了数据传输,使Meta数据中心间主干网的跨区域流量降至最低。
 
Image
 
保障数据安全
 
几十年来高性能计算一直都在解决规模上的问题,然而安全和隐私的控制也尤为重要。
 
为了满足隐私和安全要求,数据从存储系统到GPU的整个链路都是端到端加密的,直到训练前才会被解密。而且在导入RSC之前,数据都必须经过隐私审查程序,以保证被正确地匿名化。
 
此外,RSC与互联网也是隔离,没有直接的入站或出站连接,流量只能来自Meta的生产数据中心。
 
Meta的RSC可以说是第一次在这样的规模下去解决性能、可靠性、安全性和隐私问题。
 
最后,一旦完全启用,Meta的RSC超级电脑将是英伟达DGX A100系统的最大规模客制化安装项目。


参考资料:

https://ai.facebook.com/blog/ai-rsc

https://blogs.nvidia.com/blog/2022/01/24/meta-ai-supercomputer-dgx/

https://www.enterpriseai.news/2022/01/24/meta-builds-a-massive-new-ai-research-supercluster-supercomputer/

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into /opt/course/1/context_default_no_kubectl.sh , but without the use of k

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checking a shared sec