【业界】基于腾讯Angel的LDA*入选VLDB,超越微软LightLDA

2017 年 9 月 1 日 新智元

新智元报道  

编辑:闻菲


【新智元导读】数据库国际顶会 VLDB(Very Large DataBase)正在德国慕尼黑召开,腾讯TEG数据平台部与北京大学、ETH 合作论文《LDA*:A Robust and Large-scale Topic Modeling System》入选 Research Track 并受邀进行 Oral Presentation。LDA* 解决了主题模型建模和训练的两大痛点,在复杂的数据环境中实现了更鲁棒的采样性能,模型精度和性能都有不俗的表现,已经应用于腾讯的多个推荐业务场景中。现在算法已经开源:Github: https://github.com/tencent/angel



VLDB是数据库领域的顶级会议之一,由VLDB基金会赞助,和另外两大会议SIGMOD、ICDE 一起构成了数据库领域的三大顶级会议。VLDB是这三个会议中公认含金量最高的,VLDB的论文接受率总体很低,必须是创新性很高,贡献很大的论文才有机会被录用。近年来,随着大数据的发展,VLDB也从数据库扩展到大数据相关的领域,但是依然保持高质量的把控。


《LDA*:A Robust and Large-scale Topic Modeling System》的主要内容,是研究如何在工业界的环境中建立一个大规模的主题模型训练系统。论文由腾讯TEG数据平台部与北京大学、苏黎世联邦理工学院的研究人员合作完成。此前已有很多相关的系统工作,包括 YahooLDA,微软的 LightLDA 以及 Petuum 等,但 LDA*解决了如何在复杂的数据环境中得到更鲁棒的采样性能,以及词的倾斜分布带来的网络通信这两个难题


在结合工程实现,LDA* 系统能够胜过现有系统的10x,并已在腾讯内部使用,提供主题模型建模服务半年以上。


主题模型:用数学框架捕捉文档潜在语义概率分布


主题模型(Topic Model)在机器学习和自然语言处理等领域是用来在一系列文档中发现抽象主题的一种统计模型。一篇文章通常包含多种主题(比如“猫”、“狗”),而且每个主题所占比例各不相同。主题模型试图用数学框架来体现文档的这种特点。


在主题模型中,每个文档都被看成一个话题(Topic)的分布,每个话题都被看成一个在词语上的分布(Topic Distribution of Words)。通过主题模型对文本进行建模,我们将文档被表示成一个话题分布(Topic Probability),从而可以对文档进行聚类等分析。最初是运用于自然语言处理相关方向,主题模型现在已经用于多个领域,比如推荐系统、广告CTR预估,用户兴趣分类……




在工业界的场景下训练主题模型,主要有三大难点:


  • 第一个是训练的数据规模非常大,2T大小的样本的数据量,有3000亿个Token,需要几个小时内跑出结果;

  • 第二个是需要处理的数据和参数十分复杂,而且在各种数据和参数配置下,都必须提供较好的性能;

  • 第三点是所有的任务都是在一个集中的集群上运行,系统需要具有较高的可扩展性和鲁棒性。


对此,LDA* 论文作者从模型和工程两方面都进行了有针对的优化,让 LDA*实现了广泛的适用性和良好的性能。


同时,LDA* 构建于腾讯的大规模分布式机器学习开源平台 Angel 之上,得益于Angel的参数服务器架构,良好的扩展性和编程接口设计,LDA* 可以轻松处理TB级别的数据和百亿维度的主题模型,并保持良好的性能。


痛点1:模型采样平衡性


求解主题模型的一个常用方法是吉布斯采样。但是,在数据规模大及话题个数较多的情况下,原始的吉布斯采样求解效率非常低下。因此,有很多研究工作考虑如何降低采样算法的复杂度。


目前,业界已有的 LDA 方法包括 AliasLDA,F+LDA,LightLDA 和 WarpLDA。其中,AliasLDA 和 F+LDA 利用主题模型参数的稀疏性质降低模型的采样复杂度,也被叫做 Sparse-Aware Samplers;而 LightLDA 和 WarpLDA 则利用 Metropolis Hastings 方法,使每次采样只需要 O(1) 的计算复杂度。



但是,O(1) 的采样复杂度并不意味着更快的收敛速度。由于 Metropolis Hastings 方法中存在接受率,因此从概率的角度上来看,LightLDA 和 WarpLDA 需要多次采样操作才能产生一个可接受的采样样本,从而发生一次状态转移;相比之下,AliasLDA 和 F+LDA 虽然每次采样操作复杂度较高,但每次采样都能够产生一个样本。


由此,论文作者发现,Sparse-Aware Samplers 和 Metropolis Hastings Samplers 之间存在一个 tradeoff,单一的一种 sampler 并不能适用于所有的数据集或者参数设置,只有发现这个 tradeoff 并有效地将这两种 samplers 结合起来,才能达到最佳的性能。



为了发现这个 tradeoff,团队做了详尽的实验,并找到两种 samplers 的交叉点。基于这个交叉点,LDA* 有效地将 F+LDA 和 WarpLDA 结合起来,设计了一个新的 Hybrid Sampler。


实验结果表明,Hybrid Sampler 在 PubMED 数据集上获得与 F+LDA 相当的甚至更好的性能,而在腾讯真实数据集上也可以获得比 WarpLDA 更好的性能。总的来说,Hybrid Sampler 在所有的数据集上和参数配置下,都能获得最好的性能。


痛点2:非对称结构,实现模型并行


主题模型的训练常常需要大规模的数据集和较大的话题个数,因此大规模的主题模型常常使用分布式训练。已有的主题模型系统,包括 LightLDA,YahooLDA 和 Petuum,都会采用参数服务器的架构来进行分布式训练。但是,由于词分布的倾斜特性,标准的参数服务器架构会在 Worker 端产生较大的网络通信开销,几乎每个 worker 都需要把整个词-话题(Word-Topic)矩阵模型从 PSServer 上拉取下来,这个对性能会有很大的影响。


实际的测试下,大部分的网络开销都产生于长尾的词语,这些长尾的词语产生的网络开销,在数据量和模型参数较大时带来了性能损失。LDA* 对于这类长尾词语进行了特殊的处理,将一部分长尾词语的采样推送到 PSServer 端进行,避免了对词-话题矩阵的拉取操作。在这样的架构中,PSServer 不仅仅作为一个分布式存储,还参与了一定的计算任务,在某种程度上实现了模型并行,也即论文作者提到的“非对称架构”。




依托于 Angel 良好的接口设计和 psFunc 功能,LDA* 的这种非对称架构可以非常轻松的实现,不用对 Core 进行任何的修改。


性能数据:在腾讯真实的推荐数据集上最高是原有系统的 9 倍


论文作者将 LDA* 和之前开源的 Petuum 以及微软的 LightLDA,在 2 个数据集上进行对比。一个是开源的 PubMED,一个是腾讯真实的推荐数据集。实验结果表明,在数据量越大的情况下,LDA*的优势越明显。


PubMED数据集上,LDA*的速度分别是Petuum和LightLDA的5倍


在腾讯真实的推荐数据集上,LDA*是Petuum的9倍,是lightLDA的2.6倍。



论文作者还在腾讯内部生产集群上使用更大的数据集训练 LDA*。从下图的数据集可以看到,最大的一个数据集有 3000 亿个 token,大约 1.8 TB的数据量。在所有的任务中,话题数设置为 8000,具体数据集大小如下:




测试性能


在资源充足的情况下,LDA* 能够得到非常好的扩展性,能够扩展至数千个 worker,即便对 TB 级别的数据进行训练,时间也能控制在小时的级别,很好地满足了生产系统的需要。


结语


LDA* 无论是在模型准确度还是性能上都有不俗的表现和可扩展性,并已经应用于腾讯的多个推荐业务场景中,包括推荐,广告 CTR 预估,用户兴趣分类等等。


团队表示,LDA* 基于腾讯的 Angel 平台,伴随着 Angel 的发展和推广,希望业界会有更多的公司能够从 LDA* 中受益,轻松拥有大规模主题建模的能力。


了解更多可以访问:


  • LDA* VLDB 论文: http://www.vldb.org/pvldb/vol10/p1406-yu.pdf

  • 开源地址 Github: https://github.com/tencent/angel



【号外】新智元正在进行新一轮招聘,飞往智能宇宙的最美飞船,还有N个座位

点击阅读原文可查看职位详情,期待你的加入~


登录查看更多
3

相关内容

清华大学唐杰老师:用于理解、推理和决策的认知图计算
专知会员服务
118+阅读 · 2019年11月30日
Python中的端对端主题建模: 隐含狄利克雷分布(LDA)
Python程序员
9+阅读 · 2019年5月15日
实验室论文被DASFAA-19录用
inpluslab
9+阅读 · 2019年1月17日
LibRec 每周算法:LDA主题模型
LibRec智能推荐
29+阅读 · 2017年12月4日
漫谈机器阅读理解之Facebook提出的DrQA系统
深度学习每日摘要
18+阅读 · 2017年11月19日
基于LDA的主题模型实践(一)
机器学习深度学习实战原创交流
20+阅读 · 2015年9月9日
Deep Anomaly Detection with Outlier Exposure
Arxiv
17+阅读 · 2018年12月21日
Arxiv
4+阅读 · 2018年3月22日
Arxiv
5+阅读 · 2018年2月26日
VIP会员
相关VIP内容
清华大学唐杰老师:用于理解、推理和决策的认知图计算
专知会员服务
118+阅读 · 2019年11月30日
相关资讯
Python中的端对端主题建模: 隐含狄利克雷分布(LDA)
Python程序员
9+阅读 · 2019年5月15日
实验室论文被DASFAA-19录用
inpluslab
9+阅读 · 2019年1月17日
LibRec 每周算法:LDA主题模型
LibRec智能推荐
29+阅读 · 2017年12月4日
漫谈机器阅读理解之Facebook提出的DrQA系统
深度学习每日摘要
18+阅读 · 2017年11月19日
基于LDA的主题模型实践(一)
机器学习深度学习实战原创交流
20+阅读 · 2015年9月9日
Top
微信扫码咨询专知VIP会员