写点什么

解析高效分布式训练系统 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:054382
用户头像
刘燕 InfoQ高级技术编辑

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

关注

评论

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

佛山等保测评机构有哪些?怎么做?

行云管家

等保 等级测评 佛山

UI设计培训班出来后找工作吗?

小谷哥

【算法实践】他山之石,可以攻玉--利用完全二叉树快速实现堆排序

迷彩

Python 数据结构 算法 二叉堆排序 8月月更

分布式协同AI基准测试项目Ianvs:工业场景提升5倍研发效率

华为云开发者联盟

云计算 云原生

长安链p2p-Liquid学习笔记

长安链

leetcode 409 Longest Palindrome 最长回文串(简单)

okokabcd

LeetCode 算法与数据结构

麦聪软件为云上客户提供DaaS服务,入驻国内Top3云市场

雨果

公有云私有云 DaaS数据即服务

2022年无糖茶饮料发展洞察分析

易观分析

无糖茶 行业洞察

Quick Tracking「全域采集与增长分析」,破局全域营销之道

瓴羊企业智能服务

开源治理:安全的关键

SEAL安全

开源 开源文化 开源安全 开源安全与治理

同时将博客部署到github和conding

Five

前端 博客搭建 8月月更

开源公开课丨ChengYing安装原理剖析

袋鼠云数栈

大学毕业后如何选择大数据培训机构

小谷哥

数字藏品系统开发:详细功能介绍

开源直播系统源码

NFT 数字藏品 数字藏品系统软件开发 NFT数字藏品系统

大数据培训机构学习后就业前景如何

小谷哥

Java培训需要多长时间

小谷哥

授人为师,首期明道云零代码教练员研修班圆满结束

明道云

基于 LowCodeEngine 的调试能力建设与实践

阿里巴巴终端技术

前端 低代码

软件测试 | 测试开发 | app自动化测试之Appium 原理 与 JsonWP 协议分析

测吧(北京)科技有限公司

json

企业应用现代化实用教程 | 微服务架构怎么选?Dubbo、Spring Cloud、Istio终极对决

York

微服务 云原生 Spring Cloud istio Service Mesh (ASM)

数字藏品系统开发:(开发NFT数字藏品源码)

开源直播系统源码

NFT 数字藏品 数字藏品系统

前端高频面试题(三)(附答案)

helloworld1024fd

JavaScript 前端

如何选择靠谱的Java培训

小谷哥

云监控是什么意思?哪个软件好?

行云管家

云计算 云平台 云监控

如何应对突发的流量激增和服务器过载问题

NGINX开源社区

nginx 流量控制 高速缓存

node在大前端中的应用场景

达摩

nodejs

开源交流丨任务or实例 详解大数据DAG调度系统Taier任务调度

袋鼠云数栈

华为大数据开发平台 DataFactory 行业应用典型案例

宇宙之一粟

华为云 大数据技术 8月月更

何止一个惨字形容,水滴Java面试一轮游,壮烈了,问啥啥不会,数据库血崩,我该怎么办?

钟奕礼

Java 编程 程序员 后端 java面试

JDK1.6中String类的坑,快让我裂开了…

华为云开发者联盟

开发

前端高频面试题(四)(附答案)

helloworld1024fd

JavaScript 前端

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