解密百度凤巢广告系统AI技术:用GPU训练千亿参数深度学习模型

寒冬刚过,当下正是全球紧张抗击新冠病毒疫情的特殊时期。3月2日早上7点,百度研究院(西雅图)办公室开展了一场远程学术报告,百度研究员向正在美国德克萨斯州奥斯丁市召开的MLSys(机器学习和系统结合的顶级AI学术会议)听众远程讲述了百度的论文。这篇论文介绍了百度最先进的凤巢广告系统的AI技术:Distributed Hierarchical GPU Parameter Server for Massive Scale Deep Learning Ads Systems。

这篇论文首先回顾了百度从2010年以来在广告技术中做的一系列世界领先的AI创新工作:

1. 2010 年,百度开始使用分布式超大规模机器学习模型和分布式参数服务器存储学习模型。

2. 2013 年,百度开始使用分布式超大规模深度学习模型,参数达到了千亿级。

3. 2014年以来,百度开始开展大规模向量近邻检索(ANN)技术和最大内积检索(MIPS)技术研究并用于商用。(注:百度科学家因MIPS工作获得AI顶级学术会议NIPS 2014 最佳论文奖。)百度广告AI团队开始广泛使用ANN与MIPS技术来提高广告召回质量。

4. 在2019年夏天美国阿拉斯加州举办的数据挖掘顶级学术会议KDD上,百度发表了使用近邻检索和最大内积检索技术来极大提高百度广告效果的论文:MOBIUS: Towards the Next Generation of Query-Ad Matching in Baidu’s Sponsored Search。

5. 2017年以来,百度广告AI团队开始尝试使用分布式GPU系统(4-8块GPU卡)来取代已经在百度使用了10多年的MPI CPU集群。这是本篇论文的内容。

论文主要讲述如何用小型的GPU-SSD 集群来训练千亿参数模型。

在众多机器学习应用中,模型的大小通常在“数万”或“百万”这个数量级上。特别大的模型比如ResNet-152(6千万)和BERT-Large(3亿)也远远不到千亿这个量级。百度广告搜索结合了用户特征,查询关键词特征,广告特征等信息,输入参数的维度可以达到数千亿,要应用千亿维的数据来预测广告点击率就需要用到千亿参数的模型。千亿个参数就意味着需要10TB(10万亿字节)才能储存这些模型参数。这么大规模的机器学习以往需要数百台的计算节点来处理,由于当前最先进的GPU也只有32 GB的显存,完全不可能将千亿模型完整放进GPU。因此,尽管GPU相对CPU有非常好的加速优势,但是一直以来工业界没有办法用GPU来训练广告点击模型。

论文回顾了2015 年百度用哈希技术来减小模型的尝试。实验表明合适的哈希方法可以有效地减小模型大小,用哈希技术与深度学习结合的方法能显著地提高逻辑回归模型的准确率,并且模型可以非常小,单机就可以装下。但是基于哈希技术的模型压缩并不是无损的,要更近一步提高准确率的话,就还是需要用到原始千亿维向量来训练深度学习模型。

自从2017年以来,百度广告AI团队创造性地结合了GPU和SSD (即固态硬盘),在业界首次提出用分布式层级参数服务器的方案来解决千亿模型参数的训练难题。其中一个很大的难题是SSD的读取速度比内存要慢一到两个数量级。百度广告AI技术团队克服了一系列艰巨的技术难题,经过较长研发迭代周期,从系统层面圆满的解决了一系列的技术难题,在全世界首次实现了商用的GPU-SSD大规模深度学习广告系统。

目前使用的分布式层级参数服务器只需要4个GPU节点,训练速度就能比150个CPU节点的计算集群快2倍,性价比高9倍!这大大提高了研究人员试验和验证新模型的效率,使得更多得研究员和工程师能同时在更短的时间用更少的资源来迭代新的策略。同时,分布式层级参数服务器的可扩展性也很强,论文中使用1、2、4个GPU节点来测试,都表现出了几乎理想的线性的效率提升,这也使得未来训练更大数量级的模型成为可能。

此外,这篇论文的第一作者赵炜捷博士是百度研究院美研的第一批博士后。该博士后项目由百度CTO兼百度研究院院长王海峰博士支持下设立,目的是让刚毕业的博士可以在百度研究院心无旁骛开展基础研究。

论文中的系统也与百度飞桨深度学习平台深度结合,为中国完全自主知识产权的深度学习平台贡献了力量。

论文原文http://research.baidu.com/Publications 

报告PPT:

https://mlsys.org/media/Slides/mlsys/2020/balla(02-08-00)-02-09-40-1408-distributed_hie.pdf

产业参数AI深度学习GPU百度
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

逻辑回归技术

逻辑回归(英语:Logistic regression 或logit regression),即逻辑模型(英语:Logit model,也译作“评定模型”、“分类评定模型”)是离散选择法模型之一,属于多重变量分析范畴,是社会学、生物统计学、临床、数量心理学、计量经济学、市场营销等统计实证分析的常用方法。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

SSD技术

一种计算机视觉模型。论文发表于 2015 年(Wei Liu et al.)

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

参数模型技术

在统计学中,参数模型是可以使用有限数量的参数来描述的分布类型。 这些参数通常被收集在一起以形成单个k维参数矢量θ=(θ1,θ2,...,θk)。

百度机构

百度是全球最大的中文搜索引擎,是一家互联网综合信息服务公司,更是全球领先的人工智能平台型公司。2000年1月1日创立于中关村,公司创始人李彦宏拥有“超链分析”技术专利,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

https://www.baidu.com/
推荐文章
暂无评论
暂无评论~