大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

解析高效分布式训练系统 PERSIA:可用于训练百万亿参数的超大规模深度学习推荐模型

  • 2022-01-12
  • 本文字数:1252 字

    阅读完需:约 4 分钟

解析高效分布式训练系统PERSIA:可用于训练百万亿参数的超大规模深度学习推荐模型

基于深度学习技术的模型主导了现代工业级推荐系统的行业格局。现代推荐系统在大量场景中获得了实际应用。在规模不断扩大的深度神经网络模型的推动下,它们取得了一系列令人难以置信的成果和进步。



然而,即使在工业级规模的数据中心内,此类模型的训练工作也是一大挑战。这一挑战的根源在于训练工作的计算过程所具备的极高异质性 —— 模型的嵌入层可能占整个模型大小的 99.99%以上。整个过程非常耗费内存,而神经网络(NN)的其余部分则逐渐向计算密集的方向发展。


快手科技与苏黎世联邦理工学院的研究团队共同发布了基于革命性混合训练算法的高效分布式训练系统 PERSIA(混合加速并行推荐训练系统)。这种方法为拥有多达百万亿参数的巨型深度学习推荐系统提供了很高的训练效率和精度。研究人员精心设计了其中的优化方法和分布式系统架构。


Persia 的能力来源于多项技术成果。Persia 的核心技术假设将混合和异构的训练算法与异构系统架构设计结合在了一起。研究人员这样做的目标是将训练推荐系统的性能提升到当今无法达到的水平上。


这项研究将推荐模型的各项属性与其收敛性联系在了一起,以证明其有效性。研究人员描述了一种自然但不常见的混合训练技术,触及嵌入层和密集神经网络模块。此外,该研究还对其收敛行为做了详尽的理论描述。在快手,PERSIA 使用公开可用的基准测试和现实工作负载进行了评估。


研究人员最初提出了一种同步-异步混合方法,其中嵌入模块会进行异步训练。同时,密集神经网络会同步更新。在不牺牲统计效率的情况下,这种混合方法实现了与完全异步模式相当的硬件效率。


PERSIA 的设计基于两个基本理念:


  • 训练工作流在不同集群中的分布

  • 相关的混合基础设施训练进程 PERSIA 有四个模块,为推荐系统提供高效的自动缩放能力:

  • 从 Hadoop、Kafka 和其他分布式存储系统中提取训练数据的数据加载器;

  • 一组嵌入 worker 使用优化算法从嵌入 PS 中提取嵌入参数。它们再将嵌入梯度放回嵌入 PS 和聚合嵌入向量(如果有的话)

  • 嵌入参数服务器(简称嵌入 PS)负责监督嵌入层中参数的存储和更新。

  • 许多 NN worker 运行神经网络 NN 的前向/后向传播。研究团队针对三个开源基准(Taobao-Ad、Avazu-Ad 和 Criteo-Ad)以及快手的真实生产级微视频推荐管道对 PERSIA 进行了测试。他们使用了 XDL 和 PaddlePaddle 这两个前沿分布式推荐训练系统作为基线参考。


与其他系统相比,新混合算法获得了更高的吞吐量。PERSIA 在 Kwai-video 基准测试中实现了比完全同步方法高 2.8 倍的吞吐量。即使模型大小增加到 100 万亿个参数,PERSIA 也表现出了稳定的训练吞吐量,达到完全同步模式吞吐量的 2.6 倍。


PERSIA 已在 GitHub 上作为开源项目提供,其中包含在谷歌的云基础架构上设置系统的详细说明。研究人员预计,他们的研究和发现将对学术界和工业界都有所帮助。


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


Github:https://github.com/persiaml/persia


原文链接:


https://www.marktechpost.com/2021/12/05/researchers-introduce-persia-a-pytorch-based-system-for-training-large-scale-deep-learning-recommendation-models-up-to-100-trillion-parameters

2022-01-12 14:054252
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 574.5 次阅读, 收获喜欢 1981 次。

关注

评论

发布
暂无评论
发现更多内容

Img、net & page新展望:连接感知

云小梦

JavaScript html 网络 用户体验 连接感知

ARTS-week 4

steve_lee

是时候下载Android11系统源码和内核源码了~

刘望舒

android Android进阶

我对PageRank 算法的理解

跳蚤

推荐引擎概述

跳蚤

区块链列入数字经济重点产业 机构预测其大规模应用将加速

CECBC

数字经济

智能时代的TCL之舞

脑极体

位运算符在 JS 中的妙用

浩浩子

SpringBoot + Mybatis + Druid + PageHelper在多数据源下如何配置并实现分页

北游学Java

Java mybatis spring Boot Starter

音视频开发经验之路【三】吐血干货,直播首屏耗时400ms以下的优化实践

鱼哥

音视频

『BATcoder』都2021年了,是时候安装Ubuntu了!

刘望舒

android Android进阶

刘华:看板那么好,为什么都成了摆设?

刘华Kenneth

架构 敏捷 精益 看板

深圳应用区块链提升政务服务效能调查

CECBC

电子发票

一个视频带你编译自己的Android系统!

刘望舒

android Android进阶

金三试水Java社招,历经“阿里+字节+bigo”等5家面经

Java架构师迁哥

使用 Typescript 的一些注意事项

浩浩子

在公司九年被裁是谁的问题?

石云升

离职 28天写作 职场经验 3月日更

Java 并发基础(一):synchronized 锁同步

看山

Java Java并发 并发编程

力扣(LeetCode)刷题,简单+中等题(第26期)

不脱发的程序猿

面试 LeetCode 28天写作 算法面经 3月日更

用栈、回溯算法设计迷宫程序

不脱发的程序猿

回溯算法 28天写作 3月日更 迷宫程序

操作系统的内存管理(中)

鲁米

操作系统 内存管理

MySQL 锁

无心

MySQL

Redis 作为缓存是如何工作的

escray

redis 学习 极客时间 3月日更 Redis 核心技术与实战

如何学习数据结构与算法

C语言与CPP编程

数据结构 算法

第八章作业—张红珊

zzz

加密解密之 crypto-js 知识

浩浩子

shell学习

我是程序员小贱

3月日更

MySQL主从架构原理

无心

MySQL

2021拼多多(Java岗)面经最新分享

比伯

Java 编程 架构 面试 计算机

框架是教科书,但是思考架构更有价值

吴脑的键客

架构师 知识图谱

你真的知道基于区块链的「云计算」是什么吗?

CECBC

云计算

解析高效分布式训练系统PERSIA:可用于训练百万亿参数的超大规模深度学习推荐模型_AI&大模型_G Chaithali_InfoQ精选文章