2016年12月宣布的腾讯高性能分布式计算平台Angel1.0于今日正式开源。
据了解,Angel是腾讯第三代的计算平台,使用Java和Scala语言开发,面向机器学习的高性能分布式计算框架,由腾讯与香港科技大学、北京大学联合研发。它采用参数服务器架构,解决了上一代框架的扩展性问题,支持数据并行及模型并行的计算模式,能支持十亿级别维度的模型训练。
Angel还采用了SSP(Stale synchronous Parallel)、异步分布式SGD、多线程参数共享模式HogWild、网络带宽流量调度算法、计算和网络请求流水化、参数更新索引和训练数据预处理方案等新技术。这些技术使Angel性能大幅提高,达到常见开源系统Spark的数倍到数十倍,能在千万到十亿级的特征维度条件下运行。
腾讯数据平台部总经理蒋杰曾表示,面对快速增长的数据挖掘需求,开发一个面向机器学习、能应对超大规模数据集的、高性能的计算框架,并且对用户足够友好,具有很低的使用门槛,Angel平台应运而生.
2014年腾讯已走上开源的征途,第一代核心平台TDW-Hive。另外,在第三代的计算框架上对比第二代可以支持10亿级维度的算法训练,由以前的数据并行,到可以支持模型并行。同时,第三代的平台,在系统的易用性上还支持GPU深度学习,支持文本、语音、图像等非结构化的数据。
Angel自去年初在腾讯内部上线以来,已应用于腾讯视频、腾讯社交广告及用户画像挖掘等精准推荐业务。并且腾讯大数据平台荣获2016年的Sort benchmark全球排序竞赛冠军,98.8秒完成了100T数据排序,刷新了四项世界纪录。2015年的这项排序时间还高达329秒。
腾讯开源平台Angel鼓励了业界工程师、学者和技术人员大规模学习使用,激发机器学习领域的更多创新应用与良好生态发展。