让机器搞懂100万种隐含语义,腾讯Peacock大规模主题模型首次全揭秘腾讯云开发者社区

LDA的训练算法貌似并不复杂,主要的工作就是在维护两个频率计数矩阵N_td和N_wt。然而在这个时代,我们要面对的是互联网的海量数据,想象一下,如果在图15中,左边的文档节点是十亿、中间的主题个数是百万、右边不同的词的个数也是百万,我们将需要处理一张多大的图!

图15文档d_1中词w主题重新采样

在实际应用中,我们希望使用更多的数据训练更大的模型,这包含了两重意思:

下面分别从数据并行和模型并行两个方面来介绍怎样解决上述两个问题。“数据并行”和“模型并行“是Google大神JeffDean在深度学习训练系统DistBelief[13]中新提出的两个概念,尽管Peacock系统开发的时候,DistBelief还没有真正对外公布。随着深度学习的持续升温,大家现在已经逐渐熟悉了这两个形象的名词,此处请允许我们借用一下这两个概念。

“数据并行”通俗的理解:通过多任务(每个任务都包含一份完整的模型)并行的处理数据训练模型,任务之间的模型或同步或异步的进行融合。借用王益[3]的说法,“如果一个算法可以做数据并行,很可能就是可扩展的了”。幸运的是,DavidNewman团队发现基于吉布斯采样的LDA训练算法可以“数据并行”,并给这个算法取了一个名字叫AD-LDA[14]。

注意,AD-LDA算法是吉布斯采样的近似算法,因为严格的吉布斯采样要求串行采样,不能并行。直观的理解就是语料中前一个词w_1采样更新后的N_wt和N_t应该应用于后一个词w_2的采样,而不是w_1和w_2的采样都基于相同状态的N_wt和N_t。AD-LDA算法会使得LDA的训练收敛速度变慢,但在多几轮迭代后,AD-LDA算法可以收敛到与串行吉布斯采样相同的点。

图17给出了AD-LDA算法的示意图:

AD-LDA算法的整个过程和MapReduce的执行过程非常一致,所以早期有非常多的团队使用MapReduce来实现AD-LDA算法[5]:

因为MapReduce使用磁盘进行数据交换,同时整个训练任务需要调度几百个Jobs,所以基于MapReduce的AD-LDA实现是非常低效的。

图17AD-LDA算法

图18模型并行1

上文提到,训练大模型时,N_wt太大而无法整体放入任务的内存,直观的解决方法如图18所示,将N_wt沿词的维度进行分片,每个采样任务只加载一个模型分片N_wt^((i))。相应的,语料数据块也需要做对应的词维度切分,因为单个任务i只能采样N_wt^((i))包含的词w。细心的童鞋可能已经发现,图18所示的模型并行方式在N_td上采用了类似AD-LDA算法的近似,LN_td间的融合与LN_wt间的融合类似,相应的算法也会减缓收敛(因为N_wt是所有训练语料上的聚合结果,而N_td只和具体文档d有关,后者变化比前者更加“快速”,N_td的并行近似采样更加“危险”,很容易造成训练不收敛)。

图19模型并行2

有没有办法不进行N_td的并行近似采样,同时保持上述的模型切片方式呢?Peacock系统设计了图19所示的并行采样方式:加载了不同N_wt^((i))切片的任务并行的沿对角线方向对训练语料数据块(W,T)进行采样,一条对角线采样完成后,依次进行下一条对角线。这样在对同一个文档的不同数据块间的词进行采样时,仍然保持了“串行性”,应用了之前数据块中的词对N_td的更新。图19的模型并行采样方式收敛性同AD-LDA是一致的。

图20Peacock中的数据并行和模型并行

为了“利用更多的数据训练更大的模型”,Peacock系统结合了上述的“数据并行”和“模型并行”(图20):

同上一小节“模型并行”的分析类似,Peacock系统的采样方式收敛性同AD-LDA是一致的。MaxWelling团队提出的Async-LDA[6]证明了异步融合LN_wt^i方式的收敛性。当Peacock采用异步方式融合LN_wt^i时,相当于同时结合了AD-LDA和Async-LDA算法,实践证明收敛性是没有问题的。

当然,Peacock系统在具体实现上除了上述的主要设计思想,还有很多的实用技巧,比如:

图21文本分析示例

为了理解互联网上海量、多样化、非结构化的自然语言描述的文本,我们通常会从词法、句法、语义等维度进行分析。受限于文本字面信息量小,存在歧义现象,词法和句法分析容易遭遇VocabularyGap的问题,从海量文本数据中归纳“知识”,从语义角度帮助理解文本,是一种非常重要的途径。

图22文本分析平台TextMiner

图25pCTR增加不同粒度topic特征模型AUC的提升

从图25可以看出,加入Peacock语义特征后AUC得到了显著提升,尤其当增加topic规模为100,000的Peacock语义特征时,AUC提升最大,约为1.8%,线上A/BTest实验AdCTR有8.82%的提升。

THE END
1.教你100种靓汤的做法300道靓汤的做法 36款汤羹的做法 30种汤的做法,错过就可惜了。 【大骨汤做法】 【四十种汤的做法】 16种素汤的做法更多类似文章 >> 生活服务 热点新闻 首页 万象 文化 人生 生活 健康 教育 职场 理财 娱乐 艺术 上网 留言交流 回顶部 联系我们 https://www.360doc.cn/article/3201841_569846232.html
2.经典粤菜100款名称种类大全及做法大全知名的广州菜有:白切鸡、烧鹅、烤乳猪、红烧乳鸽、蜜汁叉烧、脆皮烧肉、上汤焗龙虾、清蒸东星斑、阿一鲍鱼、鲍汁扣辽参、白灼象拔蚌、椒盐濑尿虾、蒜香骨、白灼虾、椰子汁冰糖燕窝、木瓜雪蛤、干炒牛河、广东早茶、老火靓汤、罗汉斋、广州市海南粉、砂锅饭、支竹羊腩煲、萝卜牛腩煲、粤式烧填鸭、豉汁蒸排骨、鱼https://wap.xuechu123.com/329333459/vip_doc/20986524.html
3.吃鱼的100种方法精选菜单吃鱼的100种方法 年夜饭_清蒸鱼 按说呢,纯清蒸鱼不用加豉油。这个做法不加豉油味道已经很好了,用了葱姜、料酒去腥,盐和红枣丝提鲜。但我个人偏爱蒸鱼豉油的味道,最后还是加了一点点。 浤辰_原生说美食 770072浏览8147赞 蜜汁核桃小鱼干 这是一道非常简单开胃的小菜,亦可当做解馋的小零食,而且价格相也是https://m.xiangha.com/caipu/caidan/2405
4.大闸蟹走进百姓家——大闸蟹的100种家常做法《大闸蟹走进百姓家——大闸蟹的100种家常做法》,作者:大闸蟹走进百姓家——大闸蟹的100种家常做法王森 著著,出版社:青岛出版社,ISBN:9787543688698。这是国内**本专门为大闸蟹爱好者编写的系统地介绍大闸蟹文化和饮食做法的美食书。这本书**的特点是通俗http://product.m.dangdang.com/product.php?host=product.dangdang.com&pid=23344787
5.鸡蛋的100种食法」Vol.4的做法「菇汁淋豆腐蛋」鲜菇、豆腐和鸡蛋的完美搭配 -「鸡蛋的100种食法」Vol.4的做法步骤 步骤1 鸡蛋打散,打至起泡; 内酯豆腐整块倒过来放在盘子上; 把蛋液倒在豆腐上; 拿到沸水锅里蒸15分钟; 步骤2 菇仔的梗头切走后清洗干净; 然后剁姜蒜末; 少许油下锅烧热,放入姜蒜爆香; https://m.xiachufang.com/recipe/106015916/
6.www.liweihb.com/aplpage51152.html结语:“饭前一碗汤”是很多人都有的习惯,但是在选择喝什么汤的时候一定要避开喝太烫的以及老火靓汤,可以多喝上面推荐的这三道汤,鲜美营养,补身体是特别好的。 今年10月即将正式实施的《旅游法》第十三条规定,“旅游者在旅游活动中应当遵守社会公共https://www.liweihb.com/aplpage51152.html
7.12款养生药膳汤,药材入膳,餐餐养生特色:沙参和玉竹是传统的润燥食材,再加上健脾益肾的淮山,这款汤可以说是一款具有滋阴理气、润燥静心的靓汤。 小贴士: 1、给山药去皮时一定要戴上手套,因为山药的表皮中含有一种致敏物质,直接接触会导致手部过敏发痒。 2、沙参具有滋阴生津、清热凉血之功。 https://www.meipian.cn/4wd4t1qr