17

Angel:深度学习在腾讯广告推荐系统中的实践

 3 years ago
source link: https://www.infoq.cn/article/INYH6QNt6xpusrhr3wAE
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

导读: Angel 是腾讯自研的分布式高性能的机器学习平台,支持机器学习、深度学习、图计算以及联邦学习等场景。Angel 的深度学习平台已应用在腾讯的很多个场景中。所以今天会为大家介绍 Angel:深度学习在腾讯广告推荐系统中的应用实践,介绍的内容会围绕着下面几点展开。

  • Angel 机器学习平台
  • 广告推荐系统与模型
  • 模型训练和优化
  • 优化效果

01 Angel 机器学习平台

1. Angel 机器学习平台架构

Angel 机器学习平台是腾讯自研的基于传统 Parameter Server 架构的高性能分布式的机器学习平台如图 1 所示,详细架构图如图 2 所示。它是一个全栈机器学习平台,支持特征工程、模型训练、模型服务、参数调优等,同时支持机器学习、深度学习、图计算和联邦学习等场景。已经应用在众多业务如腾讯内部广告、金融和社交等场景,吸引了包括华为、新浪、小米等 100 多家外部公司的用户和开发者。

ZRZV3ej.png!mobile

Fig1 Angel 机器学习平台

YZBf6bB.png!mobile

Fig2 Angel 机器学习平台架构图

Angel 机器学习平台设计时就考虑到了很多问题,首先是易用性,Angel 机器学习平台编程接口简单,可快速上手使用,支持训练数据和模型的自动化切分,减少用户的干预,简单易用。然后是可扩展性方面,Angel 提供了 PsFun 接口,继承特定的类可实现自定义参数更新逻辑和自定义数据格式和模型切分方式等。之后是灵活性,Angel 实现了 ANGEL_PS_WORKER 和 ANGEL_PS_SERVICE 两种模式,ANGEL_PS_WORKER 模式下模型的训练和推理服务由 Angel 平台自身的 PS 和 Worker 完成,这种模式主打速度。而 ANGEL_PS_SERVICE 模式下,Angel 只启动 Master 和 PS,具体的计算交给其他计算平台(如 Spark,TensorFlow)负责,Angel 只负责提供 Parameter Server 的功能,主打生态来扩展 Angel 机器学习平台的生态位。Angel 通信模式支持 BSP、SSP、ASP 等通信协议,满足各种复杂的实际通信环境的要求。最后是稳定性,Angel 的 PS 容错采用 CheckPoint 模式,Angel 每隔一段时间会将 PS 承载的参数写入到分布式存储系统中,如果某个 PS 实例挂掉,PS 会读取最后一个 CheckPoint 重新进行服务。Angel 的 Worker 容错方面,如果 Work 挂掉,Master 会重新启动一个 Work 实例,该实例会从 Master 上获取挂掉时参数迭代信息。Angel 的 Master 任务信息也会定期存储到分布式存储系统中,如果 Mater 挂掉,会借助 Yarn Master 重启机制重新拉起一个 Master 并加载信息从之前的断点开始任务。Angel 还有有慢 work 检测机制,如果某个 Work 运行过慢其任务会被调度到其他的 Work 上进行。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK