当前位置:系统粉 >   IT资讯 >   微软资讯 >  [业界]基于腾讯Angel的LDA*入选VLDB, 超越微软LightLDA

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

时间:2017-09-01 来源:互联网 浏览量:

[业界]基于腾讯Angel的LDA*入选VLDB, 超越微软LightLDA(1)

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预估,用户兴趣分类……

[业界]基于腾讯Angel的LDA*入选VLDB, 超越微软LightLDA(2)

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

第一个是训练的数据规模非常大,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) 的计算复杂度。

[业界]基于腾讯Angel的LDA*入选VLDB, 超越微软LightLDA(3)

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

[业界]基于腾讯Angel的LDA*入选VLDB, 超越微软LightLDA(4)

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

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

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

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

[业界]基于腾讯Angel的LDA*入选VLDB, 超越微软LightLDA(5)

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

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

[业界]基于腾讯Angel的LDA*入选VLDB, 超越微软LightLDA(6)

[业界]基于腾讯Angel的LDA*入选VLDB, 超越微软LightLDA(7)

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

[业界]基于腾讯Angel的LDA*入选VLDB, 超越微软LightLDA(8)

[业界]基于腾讯Angel的LDA*入选VLDB, 超越微软LightLDA(9)

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

结语

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

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

我要分享:

最新热门游戏

版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航