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

2017年8月27日-9月1日, 数据库领域的国际顶级学术会议VLDB(Very Large DataBase) 在德国慕尼黑召开。 腾讯TEG数据平台部和北京大学联合撰写的大规模主题模型系统的论文《LDA*:A Robust and Large-scale Topic Modeling System》, 入选了今年VLDB的Research Track,并获邀在大会上进行Oral Presentation。

VLDB会议由VLDB基金会赞助,和另外两大会议SIGMOD、ICDE构成了数据库领域的三个顶级会议,而它是这3个会议中,含金量最高的一个。VLDB的论文接受率总体很低,只有创新性很高、贡献很大的论文才有机会被录用。近年来随着大数据的发展,VLDB的领域也从数据库扩展到大数据相关领域,与时俱进的同时,依然保持着对文章质量的严格把控。

本次论文的主要内容,是研究如何在工业界的环境中建立一个大规模的主题模型训练系统。在这之前,已经有很多的相关的系统工作,包括YahooLDA,微软的LightLDA以及Petuum等,而LDA* 则解决了如何在复杂的数据环境中得到更鲁棒的采样性能以及词倾斜分布带来的网络通信这两个难题,取得了更好的性能。LDA* 构建于腾讯开源的系统Angel之上,得益于Angel开放的参数服务器架构,良好的扩展性以及优秀的编程接口设计,它可以轻松处理TB级别的数据和十亿维度的主题模型。

主题模型(Topic Modeling)

主题模型是一个对文本建模的概率图模型。在主题模型中,每个文档被看成一个话题(Topic) 的分布,而将每个话题被看成一个在词语上的分布(Topic Distribution of Words)。通过主题模型对文本进行建模,将文档表示成话题的概率分布(Topic Probability),从而可以对文档进行聚类等分析。

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

  1. 训练的数据规模非常大,2T大小的样本,3000亿个Token,要求在几个小时内跑出结果
  2. 面对的数据和参数复杂,在各种各样的数据和参数配置下,都必须要有较好的性能
  3. 所有的任务都是在一个集中的集群上运行,系统需要具有较高的可扩展性和鲁棒性

LDA*从模型和工程上,都进行了针对性优化,有广泛的适用性和良好的性能,成为一个大规模的高性能主题模型系统。

吉布斯采样(Hybrid Sampler)

吉布斯采样是一种基于马尔科夫蒙特卡罗的采样方法,用于从一个复杂的概率分布中进行采样,常常用于求解大规模主题模型。但最原始的吉布斯采样算法,Collapsed Gibbs Sampling(CGS)拥有O(K)的算法复杂度(K->Topic Number),使得在大规模数据以及话题个数较多的情况下,求解效率非常低下。因此有很多研究工作考虑如何降低采样算法的复杂度。

目前业界已有的LDA方法包括AliasLDA,F+LDA,LightLDA和WarpLDA。其中AliasLDA和F+LDA利用主题模型参数的稀疏性质使得模型的采样复杂度降低到了O(),而的上限是文档的长度和话题个数K中的较小值;LightLDA和WarpLDA则利用Metropolis-Hastings方法,逐一地从两个较为简单的proposal分布中进行采样(和),再根据Metropolis-Hastings方法计算采样结果的接受率,因为利用了Alias Table来进行采样,LightLDA和WarpLDA每次采样只需要O(1)的计算复杂度。

但是,O(1)的采样复杂度并不意味着更快的收敛速度。由于Metropolis-Hastings方法中存在接受率,因此从概率的角度上来看,LightLDA和WarpLDA平均需要O()次采样操作才能产生一个可接受的采样样本,从而发生一次状态转移;而AliasLDA和F+LDA虽然每次采样操作需要O()的复杂度,但是每次采样都能够产生一个样本。因此,Sparse-Aware Samplers和Metropolis-Hastings Samplers之间存在一个tradeoff,单一的一种sampler并不能够适用于所有的数据集或者参数设置,只有发现这个tradeoff并且有效地将这两种samplers结合起来,才能达到最佳的性能。

image.png

为了发现这个tradeoff,Angel团队做了详尽的实验,并找到两种samplers的交叉点。基于这个交叉点,LDA*有效地将F+LDA和WarpLDA结合起来,设计了一个新的Hybrid Sampler。它采用了两个启发式的规则来构建这个Hybrid Sampler。在第一个规则中,将数据集分成两个部分,文档较长的数据集和文档较短的数据集,然后使用F+LDA来采样较短的文档集合,使用WarpLDA采样较长的文档集合。在第二个规则中,将两个具有不同收敛速度的sampler结合起来,在一次迭代中,每个token话题的采样都能产生一个样本,因此对于WarpLDA来说,需要动态地设定其MH步长,而对于F+LDA来说,则不需要进行任何改变。

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

非对称架构

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

在实际的测试下,由于词分布的倾斜性,导致大部分的网络开销都产生于长尾的词语,这些长尾的词语产生的网络开销造成了在数据量和模型参数较大时带来的性能损失。因此,LDA* 对于这类长尾词语进行了特殊的处理,将一部分长尾词语的采样推送到PSServer端进行,从而避免了对词-话题矩阵的拉取操作。由于在这样的架构中,PSServer不仅仅作为一个分布式存储,还参与了一定的计算任务,从而某种程度上实现了模型并行,这种架构为非对称架构。依托于Angel良好的接口设计和psFunc功能,LDA*的这种非对称架构可以非常轻松的实现,而不用对Core进行任何的修改。

性能

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

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

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

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

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

image.png

总结

主题模型在腾讯内部中有广泛的应用场景,包括推荐,广告CTR预估,用户兴趣分类…… 而LDA* 无论是在模型准确度还是性能上,都有不俗的表现和可扩展性,目前已经应用于腾讯的多个业务场景中,包括广点通推荐,用户画像,腾讯视频等……未来,伴随着Angel的发展和推广,希望业界会有更多的公司,能够从LDA*中受益,轻松拥有大规模主题建模的能力。

新智元源链接: [业界 | 基于腾讯Angel的LDA*入选VLDB,超越微软LightLDA] (https://mp.weixin.qq.com/s/Ib0Q50c9OsSZRWPQPcIn0g)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容