昨日(12月18日),腾讯宣布推出第三代高性能机器学习计算平台Angel,并于2017年全面开源。
按照腾讯方面的说法,Angel 主要面向的是机器学习技术,是腾讯公司推出的第三代计算平台。它使用的主要是 Java 和 Scala 语言,由腾讯与香港科技大学、北京大学联合研发。采用参数服务器架构,解决了上一代框架的扩展性问题,支持数据并行及模型并行的计算模式,能支持十亿级别维度的模型训练。实际上,Angel 也可以看作是腾讯在人工智能领域的另外一个重大进展。
不仅如此,Angel还采用了多种业界最新技术和腾讯自主研发技术,如SSP(Stale synchronous Parallel)、异步分布式SGD、多线程参数共享模式HogWild、网络带宽流量调度算法、计算和网络请求流水化、参数更新索引和训练数据预处理方案等。这些技术使Angel性能大幅提高,达到常见开源系统Spark的数倍到数十倍,能在千万到十亿级的特征维度条件下运行。
在系统易用性上,Angel提供丰富的机器学习算法库及高度抽象的编程接口、数据计算和模型划分的自动方案及参数自适应配置,同时,用户能像使用MR、Spark一样在Angel上编程,我们还建设了拖拽式的一体化的开发运营门户,屏蔽底层系统细节,降低用户使用门槛。另外,Angel还支持深度学习,它支持Caffe、TensorFlow和Torch等业界主流的深度学习框架,为其提供计算加速。
在腾讯宣布 Angel 的推出之后,腾讯副总裁姚星分享了他对人工智能发展的看法:“人工智能的发展在过去60年中几经沉浮,今年终于发出了璀璨光芒,很大的原因就是跟云计算和大数据有关,这是一种演进发展的必然结果。如何处理好大数据,如何在有限的计算资源上对这些大数据进行深入挖掘和分析,这是未来整个产业发展和升级的一个大课题。我相信大数据将成为这次产业升级的基础,核心算法将成为这次产业升级的灵魂。”
至于为什么要对 Angel 进行开源,腾讯首席数据专家蒋杰称:“机器学习作为人工智能的一个重要类别,正处于发展初期,开源 Angel,就是开放腾讯 18 年来的海量大数据处理经验和先进技术。我们连接一切连接的资源,激发更多创意,让这个好平台逐步转化成有价值的生态系统,让企业运营更有效、产品更智能、用户体验更好。”
腾讯公司对自己的定位不仅仅是一家信息平台和数字内容公司,同时是一家大数据公司。这其实不难理解;无论是腾讯数千亿条的收发信息、超过 10 亿张的图片分享,还是用户看新闻、听音乐、看视频的庞大数据流量,都是腾讯在大数据处理方面的挑战。
而自 2016 年初在内部上线以来,腾讯已经把 Angel 应用于腾讯视频、腾讯社交广告及用户画像挖掘等精准推荐业务中。
另外,今年 9 月,腾讯公司已经宣布成立 AI 实验室,把计算机视觉、语音识别、自然语言处理和机器学习作为四个基础的研究方向;具体的业务方向则聚焦于内容、游戏、社交和云四个方面。