最近来自快手和苏黎世联邦理工学院的研究人员提出了一个新的推荐系统Persia,最高支持100万亿级参数的模型训练,比目前最大的FB-ZionEX推荐系统还高出一个数量级。

论文地址:

https://arxiv.org/pdf/2111.05897.pdf

开源地址:

https://github.com/PersiaML/Persia

为了支持如此庞大规模模型的训练,同时保证训练效率和训练精度,文中提出了一种全新的混合训练算法:通过混合异步、同步机制对embedding层和dense层进行分别训练。

用了这套机制的推荐系统Persia(parallel recommendation training system with hybrid acceleration,即混合加速的并行推荐系统)在一百万亿级参数量的模型上进行了理论和实验验证,证实了这种设计和实现的合理性。

作者表示,使用这套机制,任何人都可以很容易训练一个百万亿级参数量的模型。

Persia系统的设计上主要有两个难点:

  1. 在异构集群上部署训练工作流(training workflow)

  2. 在混合基础架构上部署对应的训练过程(training procedure)

对于第一个难题,研究人员为了支持基于深度学习的推荐模型的分布式训练,就直接使用了Tensforflow框架提供的PS范式,同时将embedding和神经网络参数的存储和更新放在一组PS节点(即CPU机器)中,将前向和后向传播的计算放在一组工作节点(即GPU机器)中。

第二个难点就是分布式的训练过程,研究人员又来了一个「七步走」解决了这个难题。

内容中包含的图片若涉及版权问题,请及时与我们联系删除