品高一直坚信一个事情,就是国产GPU算力的崛起会在3到5年内发生,这是国家科技发展的意志所在。
——林冬艺
最后我们聊一聊GPU。
品高BCS云平台,希望帮助用户在现有英伟达的体系上,未来可以平滑替代到国产的GPU体系当中。
BCS其中一个核心能力就是双擎。支持容器化跟虚拟化双模同台运行。
不像一些传统的云平台,容器化是跑在虚拟机上面的,其实这不是我们想要的结果,我们更希望是虚拟化跟容器化在同一个物理空间下完成。这样子能更好地去适配GPU的驱动,减少虚拟化的损耗。
同时,我们支持英伟达加国产GPU的混合异构,目前品高已完成英伟达的H100,H800等H系列以及A100、A800这种A系列的高端GPU算力资源池化。
在同一个集群内,我们同时还可以兼容像昇腾跟其他类型的国产算力。
更值得一提的是在嵌入式领域,我们也完成了对瑞芯微嵌入式芯片的NPU的算力池化。未来我们将进一步扩大对GPU的适配规模,帮助用户真正实现GPU选型自由,有效应对未来国产GPU崛起所带来的平滑替代风险,也帮助用户更好地完成人工智能的转型。
关于科技的发展与挑战。今年在科技圈有一个最热闹的事情,就是2022年11月OpenAI发布了ChatGPT3.5。这好像是一个科技爆发的起点一样,在科技跟政策双重加持的推动下,仅仅一年多的时间,就涌现出一个如此庞大的AI生态。
但作为一家专注于云计算产品基础软件研发的公司,品高在做什么呢?
有的公司在大力发展大模型的应用研究;有的公司在大量采购H100、H800的机器租赁出去;有的公司在蹭热点,把大模型硬塞到产品里面,塞进去再说;有的公司通过概念的包装,甚至做到PPT先行.....
我也很想做这些事情,但不行,品高人始终坚持着非常务实的匠人精神。
在这个过程中,我们要冷静地,从客观、科学的角度去看看未来人工智能发展的趋势会是什么样子的。
我们总结了五大发展趋势:
第一个趋势,行业应用智能化。我们认为全行业的应用都会向智能化的方向发展,这是一个必然趋势,也是一个不可逆的趋势。
第二个趋势就是算法模型场景化。我们认为模型会越做越大,但也会越做越小。在细分领域的场景下,我们认为不同行业细分领域的模型会成为各家的兵家必争之地。
另外就是数据资产私有化。经历过人工智能时代,我们深知数据价值的重要性,我们不会让我们的数据放到一个公开的地方,我们更希望把这个数据的资产尽可能保留下来,提升它的数据价值,所以说数据私有化也会成为一个刚性的需求。
第四个趋势就是智能芯片异构化。我们刚才提过国产 GPU的崛起,这种异构融合必然会成为一种科技发展的必经之路。
第五个趋势就是算力节能集约化。我们要鼓励低碳经济,现在目前(大型智算中心)这种庞大的电力以及庞大的构建成本,是严重阻碍着人工智能的发展的。我相信未来我们会以更低碳的算力方式来驱动核心业务发展。
所以说,我们更希望在人工智能的方向,品高能从用户的价值出发,通过这种方式去定义、定位我们的产品。
在这样的趋势下,我们发布了BingoCloudStack,它本身其实是通算加智算的双擎云平台,提高GPU的利用率尤为重要。
我们坚定地认为云计算加人工智能是一个有机的结合,相互并存且相互促进的两项技术。
——林冬艺
我们参考了Llama3.1的论文,发现在训练过程中,真正的资源利用率里有30%是浪费掉的。
所以我们近几年花了很大的精力,在2020年的时候就开始自主研发一款GPU虚拟化技术。它能够实现非常低损耗的GPU资源共享与复用;另外通过这种高效的资源调度,能够提升整个GPU资源整体的利用率;最后我们通过感知调度的能力,实现最优的路径的资源分配,极大程度的去压榨GPU的性能,也减少各种不必要的路径带来的性能损耗。
为了长时间保证一个大模型并行系统能够持续稳定地运行,在Llama3.1训练的论文里面提到一个非常有意思的例子:整个Llama3.1的训练过程长达54天,平均每三个小时就会出现一次故障,GPU的问题占了58%。
我们希望通过BingoCloudStack云平台的计算调度能力,帮助用户有效地降低训练异常所带来的成本损失。
品高自主研发的GPU虚拟化技术,为了能让智无界这个产品愿景得以实现,我们深知GPU资源的虚拟化与池化能力是一个非常关键的技术。
我们在2021年开始正式开展了GPU虚拟池化的研究,这次BingoCloudStack的发布会上,我们正式推出品高GPU虚拟化技术。
这个技术的最大特点就是相较于英伟达的GPU MIG的虚拟化方式,品高GPU虚拟化技术会更加灵活:能够支持1%的GPU算力的切割,以及最小1M颗粒度的显存切割;相较于传统GPU分时复用的方式,品高GPU虚拟化技术在底层内核态、会对整个CUDA到驱动之间过程进行劫持,通过算力的精准切割,能够有效地去控制GPU切割所带来的性能损耗。
相较于分时复用,品高的GPU虚拟化技术整体性能损耗最多可降低30%。
此外,品高的虚拟化技术还能作用于嵌入式边缘板卡当中,对于国产GPU一样也可以做到支持。目前我们已经完成了昇腾910、310以及瑞芯微RK3588 NPU算力切割。
除了精准的切割之外,品高BCS智能调度平台还支持整机调度、整卡调度、弹性GPU算力调度等各种GPU虚拟化能力,满足用户多样化的算力使用场景。
另外我们想聊一个非常有意思的话题,为了能让算力充分得以发挥,我们工程师在GPU这个事情上花了很大的精力。
大家知不知道一颗GPU跟哪颗CPU之间的通讯距离是最近的?知不知道一个GPU跟哪张RDMA的网卡之间的距离是最近的?知不知道GPU跟GPU之间它们通信距离到底哪跟哪是最近的?
我们惊人的发现一个有意思的事情,就是我们做了一项实验,在没有采用底层亲和性优化下,整体的算力性能会直线下降。我们测出来一个比较惊人的数据,大概有50%左右的性能损耗。
过去我们为了解决这样的性能问题,需要大量的有经验的工程师去对这个平台的系统级进行调优,一旦出现了什么变更,业务重新地上线,不好意思,我们要重新的调整这个事情,在这种情况下是非常影响客户智能化业务的发展的。
而品高BingoCloudStack云平台恰恰通过我们自适应的拓扑感知能力,把集群节点、CPU、GPU、RDMA网卡等设备的拓扑,自动化的把它画出来了。画出来之后,通过这种感知拓扑,就能够很清晰地知道各种设备间的连接关系以及距离。
我们通过对业务系统的感知,就可以自信地完成一种最优亲和性的资源分配,可以有效屏蔽用户底层间的复杂性以及底层的差异性,可以很放心地让用户使用这个智算资源:怎么样是最优?由我们BingoCloudStack为你来调度。
BingoCloudStack还在大模型的领域,我们想保障大模型并行训练系统的持续稳定运行,所以提出一个崭新的理念叫做AI Driver,我们希望用户通过BingoCloudStack云平台更好地去驾驭人工智能,因此我们首先要解决一个非常棘手的问题,就是训练系统如何实现弹性调度的问题。
在过去传统的信息化时代,我们的弹性其实是相对比较简单的,前面是个负载均衡,通过监控Auto Scale就完成了整个弹性的工作。
但在并行系统的设计之初,他们恰恰是从初始化开始就定义好整个训练集群的规模,对它的规模的弹性扩缩容会直接导致这个系统的崩溃。
因此我们自主研发了一套FastCheckpoint框架。我们把训练模型从显存同步到内存,再异步地从内存放到远端的共享存储。
这样子的话,我们能够有效地在本地完成对于模型的Checkpoint,远端又跨节点地完成它的容灾。
利用这样的方式,我们首先要解决的问题就是怎么样能够让显存很快地拷贝到内存当中。
所以我们做了很大量的研究,我们在内核态利用了DMA和大页内存,跟一些pingpong的方式,我们实现了50G/s的显存到内存的备份速度。这代表着一张H800的80G的显存的GPU卡,我们只需要两秒钟不到的时间就能完成对它的备份。
通过这种异步的方式,我们也可以将内存异步同步到共享存储当中。一方面可以避免算力节点的故障迁移到跨节点的调度问题;另一方面整个平台在整体的调度上也能够支持到跨节点的调度当中,这两秒的Checkpoint的备份效率,就能够帮助我们实现大模型并行训练系统的弹性调度。
我们一直在想办法去攻克这个两秒的关键指标,因为这样子我们就可以做几个非常有意思的场景。
第一个:在离线混部的调度。
BingoCloudStack可以支持白天把算力给到推理服务,晚上继续把算力节约下来给到训练服务当中。到了第二天只需要对它进行Checkpoint并且缩容,就又把资源腾出来,服务于明天的算力推理服务。而这个过程仅仅损失了两秒钟左右的训练的数据就能够完成。
第二个:零预配置。
在模型训练一开始有一个非常痛苦的事情,就是到底要给多大的资源给这个训练任务呢?给的少,他跑着资源不够会崩溃;给的多,又容易形成资源的浪费。
我们的AI Driver可以实现一种0资源的预配置。我们在最开始通过我们过去的过往的默认参数,我们会先给训练模型提供一个比较小的资源,如果发现资源不足了,我们会通过Checkpoint之后扩容并且恢复它,慢慢的它就可以形成一个非常精准且可以自适应的训练规模与资源需求,这样子能够节约用户预配置所带来的资源损耗,也能够更好地精准预估模型的整体资源占用。
第三个:算力的迁移。
我们过去在算力平台里面,有一个非常痛苦的事情就是一旦在一个长时间的训练过程中出现了网络的切割,出现了设备的异常,可能一个50多天的训练任务,在训练的最后一天,可能要重新开始。但是有没有办法能够让我们的平台能够解决这样的问题呢?我们BingoCloudStack的智算调度平台,可以将这个训练任务通过我们Checkpoint之后,从另外一个节点快速地恢复起来,这样子整个平台的运维与运维保障性就得到了非常大的加强。
BingoCloudStack作为一种私有云的形态,我们希望我们的智算能够给到用户非常好的算力调度体验。用户可以自由地在BingoCloudStack平台上选择希望拥有的、或希望使用的开发平台框架,比方说Kubeflow、Ray、Deepspeed、vllm等等,也可以支持跑Llama、qwen、百川等大小各异、场景各异的异构大模型,他们都能够并存地跑到BingoCloudStack云平台之上,真正帮助用户构建一个开放标准的云平台基础设施。
我们不需要锁定到某一个具体的技术领域当中,而是一个开放性的平台,这样子企业的智能化、数字化的转型,我们的平台才能为它保驾护航,帮助用户真正地走向未来所要经历的科技的转型道路上。
BingoCloudStack云平台是具有多种产品形态的,它可以作为一个数据中心级的大型云平台;也可以作为一个软硬一体化的超融合云平台;它也可以作为一个边缘的智算轻量化的设备;也可以作为智算调度平台支撑我们的智能化的服务。
目前我们已经开放了纯软的ISO安装包,大家可以在我们网站上下载自行体验,我们可以很快速地构建出一个集群出来。
另外的话我们也希望接下来有更深入的像智能化跟边缘化的一些复杂的场景,也希望大家能够联系我们,我们可以共同的去探索这个行业场景化的发展,我们应该怎么去挑战跟解决它。
最后我们想聊几句有意思的话。
第一个,品高经历了15年的云计算发展之路,我们经历了很多挑战,很多挑战是大家可能想象不到的,但是我们一直没有放弃做基础软件关键业务的这条路,我们不畏前行,我们始终都有一句话一直在告诉着我们:人生如逆旅,我亦是行人。
我们明白自身在走云计算之路的使命是什么,我们想把品高云带上一个前所未有的新高度,也去到一个前所未有的新舞台。
时间不语,却能回答所有的问题。
我们对关键基础软件那份坚持与热爱,以及我们怀揣着云无边、智无界这种宏大的愿景,我们相信只要足够坚持,也足够努力,我们坚信时间会给我们这群匠心精研的人一个最好的答案!
联系我们
为不断努力的品高云点「赞」和「在看」