本次分享我们分为三个小节。首先从大模型的分布式训练出发,分析大模型训练对网络的核心需求。然后基于这些需求讨论 AIPod 高性能网络的设计。最后将讨论一些做大模型训练的实践经验。
我们先来聊聊大模型训练对网络的需求。
最近半年以来大模型持续火爆。虽然关于大模型的发展与应用还有很多的争论,但可以肯定的是,大模型能力已经成为了接下来人工智能发展的基础。
和以前的小模型相比,大模型对大规模的分布式并行训练有更强的诉求。
这一方面是因为模型本身非常大。受制于今天的 GPU 显存限制,我们不得不把一个模型分拆到很多个 GPU 上来存储。比如说,百度的文心大模型有 2600 亿个参数,但是实际上一个 80G 显存的 A800,算上训练中间的计算状态,也只能存放大概 10 亿-20 亿参数。那显然光是存放 2600 亿的模型本身,就需要一两百块 GPU。这已经是一个比较大的规模了。
另一方面,因为训练更多的参数需要更多的计算量,因此我们必须得引入更大规模的 GPU 来进行加速,所以我们需要的 GPU 又要有一个数量级的提升。
在百度我们根据一个任务的 GPU 卡数来命名训练的规模。比如百卡以下我们叫小规模,百卡到千卡我们叫中规模,千卡以上我们叫大规模,超过万卡我们则以超大规模进行命名。依照这个命名方式,我们可以说,千卡以上的大规模并行训练是大模型成功的基础。