专栏首页AI科技大本营的专栏单机训练速度提升高达640倍,快手开发GPU广告模型训练平台

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

作者|廉相如(快手FeDA智能决策实验室 )

如何有效处理大规模用户数据进行广告推荐?对于互联网企业的发展和进步至关重要。这也是为何快手成立西雅图实验室并实现新一代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”系统在多机情景下在单机基础上将有数倍到数十倍效率提升。

CTA核心技术及应用峰会

5月25-27日,由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心隆重召开,峰会将围绕人工智能领域,邀请技术领航者,与开发者共同探讨机器学习和知识图谱的前沿研究及应用。议程设置请请识别海报二维码查看。

目前CTA峰会倒计时2天!还没有拿到入场券的小伙伴可以识别海报二维码或者点击阅读原文,即刻抢购。你也添加小助手微信15101014297,备注“CTA”,了解票务以及会务详情。

推荐阅读

点击阅读原文,了解「CTA核心技术及应用峰会」

本文分享自微信公众号 - AI科技大本营(rgznai100),作者:CSDN APP

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 重磅|Facebook放大招,训练时间1周降至1天,AI工程师高呼终于等到这一天

    作者 | 鸽子 随着深度学习在各行各业的应用日趋成熟,应用范围越来越多元,AI工程师也开始头疼起来: 数据量越来越多,需要应对的场景越来越细分,模型的训练求越...

    AI科技大本营
  • NLP这两年:15个预训练模型对比分析与剖析

    在之前写过的《NLP的游戏规则从此改写?从word2vec, ELMo到BERT》一文中,介绍了从word2vec到ELMo再到BERT的发展路径。而在BERT...

    AI科技大本营
  • 虽被BERT碾压,但还是有必要谈谈BERT时代与后时代的NLP

    2018年是NLP的收获大年,模型预训练技术终于被批量成功应用于多项NLP任务。之前搞NLP的人一直羡慕搞CV的人,在ImageNet上训练好的模型,居然拿到各...

    AI科技大本营
  • GPU捉襟见肘还想训练大批量模型?谁说不可以

    2018 年的大部分时间我都在试图训练神经网络时克服 GPU 极限。无论是在含有 1.5 亿个参数的语言模型(如 OpenAI 的大型生成预训练 Transfo...

    机器之心
  • 《Scikit-Learn、Keras与TensorFlow机器学习实用指南(第二版)》第19章 规模化训练和部署TensorFlow模型

    有了能做出惊人预测的模型之后,要做什么呢?当然是部署生产了。这只要用模型运行一批数据就成,可能需要写一个脚本让模型每夜都跑着。但是,现实通常会更复杂。系统基础组...

    SeanCheney
  • 业界 | 百度引入Ring Allreduce算法,大规模提升模型训练速度

    AI科技评论消息,美国西部时间2月21日,百度硅谷人工智能实验室(SVAIL)宣布将Ring Allreduce算法引进深度学习领域,这让基于GPU训练的神经网...

    AI科技评论
  • 百度引入Ring Allreduce算法,大规模提升模型训练速度

    美国西部时间2月21日,百度硅谷人工智能实验室(SVAIL)宣布将Ring Allreduce算法引进深度学习领域,这让基于GPU训练的神经网络模型的训练速度显...

    AI研习社
  • GPU的工作原理

    在GPU出现以前,显卡和CPU的关系有点像“主仆”,简单地说这时的显卡就是画笔,根据各种有CPU发出的指令和数据进行着色,材质的填充、渲染、输出等。 较早的娱乐...

    刘盼
  • 瑞士率先使用 GPU 来提升全国天气预报结果

    十年前的卡崔娜飓风摧毁了纽奥良市;三年前的桑迪飓风重创纽约市,数百人丧生且造成数十亿美元的财物损失。 无论您身在何方,天气预报都是一场高风险的赌注。 如今瑞士透...

    GPUS Lady
  • NVIDIA Tesla K80选购注意事项

    2014年年底,NVIDIA 再为加速运算平台增添最新旗舰级产品,宣布推出全新 Tesla K80 双 GPU 加速器,专为机器学习、资料分析、科学和高效能运...

    GPUS Lady

扫码关注云+社区

领取腾讯云代金券