0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何有效处理大规模用户数据进行广告推荐?

电子工程师 来源:lq 2019-05-25 10:55 次阅读

如何有效处理大规模用户数据进行广告推荐?对于互联网企业的发展和进步至关重要。这也是为何快手成立西雅图实验室并实现新一代GPU广告模型训练平台的原因之一。快手新创建的“Persia”GPU广告模型训练平台比起传统CPU训练平台,单机训练速度提升可达几百倍,在约一小时内即可训练百T级别数据量,并能通过设计算法得到相对于传统训练平台精度更高的模型,对企业收入、计算资源的节约和新模型开发效率产生直观的提升。

大模型GPU分布式运算存储

近年来,GPU训练已在图像识别、文字处理等应用上取得巨大成功。GPU训练以其在卷积等数学运算上的独特效率优势,极大地提升了训练机器学习模型,尤其是深度神经网络的速度。然而,在广告模型中,由于大量的稀疏样本存在(比如用户id),每个id在模型中都会有对应的Embedding向量,因此广告模型常常体积十分巨大,以至于单GPU无法存下模型。目前往往将模型存在内存中,由CPU进行这部分巨大的Embedding层的运算操作。这既限制了训练的速度,又导致实际生产中无法使用比较复杂的模型——因为使用复杂模型会导致对给定输入CPU计算时间过长,无法及时响应请求。

“Persia”系统实现了多GPU分散存储模型,每个GPU只存储模型一部分,并进行多卡协作查找Embedding向量训练模型的模式。这既解决了CPU运算速度过慢的问题,又解决了单GPU显存无法存下模型的问题。当模型大小可以放入单个GPU时,“Persia”也支持切换为目前在图像识别等任务中流行的AllReduce分布训练模式。据研究人员透露,对于一个8GPU的计算机,单机数据处理速度可达原CPU平台单机的640倍。

由于普遍使用的传统异步SGD有梯度的延迟问题,若有n台计算机参与计算,每台计算机的梯度的计算实际上基于n个梯度更新之前的模型。在数学上,对于第t步的模型xt,传统异步SGD则更新为:

xt+1←xt − learning rate × g(xt−τt),

其中g(xt−τt) 是训练样本的损失函数在τt个更新之前的模型上的 梯度。而τt的大小一般与计算机数量成正比:当计算机数量增多,xt−τt与xt相差就越大,不可避免地导致模型质量的降低。“Persia”的训练模式解决了这种梯度延迟的问题,因此模型质量也有所提升。

同时,“Persia”训练系统还支持对Embedding运算在GPU上进行负载均衡,使用“贪心算法”将不同Embedding均匀分散在不同GPU上,以达到均匀利用GPU的目的。给定k个 GPU,当模型具有m个Embedding层:e1, e2, …, em,对应负载分别为l1, l2, …, lm,“Persia”将会尝试将Embedding分为k组S1, S2, …, Sk,并分别存放在对应GPU上,使得每组∑i∈Sjli, ∀j大致相等。

训练数据分布式实时处理

快手“Persia”的高速GPU训练,需要大量数据实时输入到训练机中,由于不同模型对样本的需求不同,对于每个新实验需要的数据格式可能也不同。快手“Persia”系统具备基于Hadoop集群的实时数据处理系统,可以应不同实验需求从HDFS中使用任意多计算机分布式读取数据进行多级个性化处理传送到训练机。传输使用高效消息队列,并设置多级缓存。传输过程实时进行压缩以节约带宽资源。

未来:分布式多机训练

未来,快手“Persia”系统即将展开分布式多GPU计算机训练。有别于成熟的计算机视觉等任务,由于在广告任务中模型大小大为增加,传统分布式训练方式面临计算机之间的同步瓶颈会使训练效率大为降低。“Persia”系统将支持通讯代价更小,并且系统容灾能力更强的去中心化梯度压缩训练算法。

快手FeDA智能决策实验室负责人刘霁介绍,该算法结合新兴的异步去中心化训练 (Asynchronous decentralized parallel stochastic gradient descent, ICML 2018)和梯度压缩补偿算法(Doublesqueeze: parallel stochastic gradient descent with double-pass error-compensated compression, ICML 2019), 并有严格理论保证。据预计,快手“Persia”系统在多机情景下在单机基础上将有数倍到数十倍效率提升。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10451

    浏览量

    206583
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4424

    浏览量

    126724
  • 机器学习
    +关注

    关注

    66

    文章

    8134

    浏览量

    130580

原文标题:单机训练速度提升高达640倍,快手开发GPU广告模型训练平台

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CC3200的用户数据用内部ROM还是Flash存?

    CC3200 如何存储用户数据,如何使用内部ROM或者外部flash存储用户数据数据量比较小,只有几个字节。有没有例程可以提供?是 file_download 与 file_operations吗?
    发表于 04-26 14:58

    cc3200 如何存储用户数据

    如标题,3200如何使用内部ROM或者外部flash存储用户数据数据量比较小,只有几个字节。有没有例程可以提供? 是 file_download 与 file_operations吗?
    发表于 05-14 11:06

    从引导加载程序写入用户数据

    和Bootloadable的数据表表示:注意不要使用Bootloader命令“发送数据”和“程序行”来更新本节。有技术上的原因,我不应该写用户数据在bootloader模式,或是不好的做法?以上来自于百度翻译
    发表于 08-28 15:00

    无法保存工作区的用户数据文件

    这真烦人。我在本地驱动器下创建了一个项目,第二次尝试打开它时,PSoC Creator 3.3给出了这个警告:无法保存工作区的用户数据文件[CyWRK]:(访问路径[CyWRK]被拒绝)。当我点击
    发表于 10-12 10:18

    为什么内核访问用户数据之前要做access

    为什么内核访问用户数据之前,要做access_ok
    发表于 05-12 12:18

    请问TM4C129如何存储用户数据

    各大神好, 本人初接触TM4C129 目前使用官方提供的ENET_S2E例程,请教下各位,如何在这个FreeRTOS例程里,进行用户数据的读写?是否有相应的库函数操作?最好提供些例子程序?谢谢各位!
    发表于 08-26 06:50

    【STM32F407】第14章 UDP用户数据报协议基础知识 精选资料推荐

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=95243第14章 UDP用户数据报协议基础知识本章节为大家讲解UDP
    发表于 08-04 07:20

    求大神分享UDP用户数据报协议基础知识点

    求大神分享UDP用户数据报协议基础知识
    发表于 10-14 09:14

    系统和用户数据解耦的方法

    前言:本章内容仅做了解,实际开发中,从安全和资源要求为出发点,根文件系统必须是只读的;下个章节会介绍一种系统和用户数据解耦的方法。1 简述我们在buildroot后会得到两个根文件系统,目录如下:一
    发表于 12-27 08:29

    请问选项字节编程中用户数据的用途是什么?

    我想知道选项字节编程中用户数据的用途是什么?它有助于保护我在 MCU 内部的固件,如密码等?
    发表于 01-13 06:26

    如何将用户数据存贮到电池供电域数据寄存器

    AT32F4xx电池供电域数据存储展示如何将用户数据存贮到电池供电域数据寄存器。
    发表于 10-27 08:17

    基于内存数据库的VLR用户数据处理方法

    提出一种对VLR用户数据进行处理的方法,采用面向对象的设计方法并以内存数据库形式设计VLR数据库,通过哈希索引技术将
    发表于 06-17 09:01 19次下载

    解析物联网时代用户数据的区别保护

    数据时代,是物联网的时代,随着云存储和云计算的发展,以智能手机、智能家电、可穿戴设备为代表的智能终端的普及,通过各种智能终端上传和收集的用户数据将越来越多,对用户数据的分析和挖掘及利用,将是大
    发表于 10-18 10:51 8次下载

    Q2季度LTE用户数增长一倍,预计2025年全球移动用户数将接近103亿

    根据Omdia提供给GSA的最新报告数据显示,截至2020年第二季度,全球LTE用户数达到55.5亿。其中近8亿LTE用户数是在过去12个月中增加的。LTE用户数现在占据全球所有移动
    的头像 发表于 09-24 16:48 1694次阅读
    Q2季度LTE<b class='flag-5'>用户数</b>增长一倍,预计2025年全球移动<b class='flag-5'>用户数</b>将接近103亿

    网速快、商用早,韩国 5G 用户数目前仅占移动用户数 13.2%

    据韩联社报道,最新数据显示,韩国 5G 用户在 9 月份突破 900 万。 来自韩国科学与 ICT 部的数据显示,截至 2020 年 9 月底,韩国 5G 用户数达到 925 万,较上
    的头像 发表于 11-03 16:06 1470次阅读