斩获GitHub 2000+ Star,阿里云开源的 Alink 机器学习平台如何跑赢双11数据“博弈”?

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 「AI技术生态论」人物访谈栏目是CSDN发起的百万人学AI倡议下的重要组成部分。通过对AI生态顶级大咖、创业者、行业KOL的访谈,反映其对于行业的思考、未来趋势的判断、技术的实践,以及成长的经历。2020年,CSDN将对1000+人物进行访谈,形成系列,从而勾勒出AI生态最具影响力人物图谱及AI产业...

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

image

「AI技术生态论」人物访谈栏目是CSDN发起的百万人学AI倡议下的重要组成部分。通过对AI生态顶级大咖、创业者、行业KOL的访谈,反映其对于行业的思考、未来趋势的判断、技术的实践,以及成长的经历。2020年,CSDN将对1000+人物进行访谈,形成系列,从而勾勒出AI生态最具影响力人物图谱及AI产业全景图!

每次购物狂欢都是技术平台的一场数据“博弈”。去年双十一,阿里旗下的电子商务平台天猫就再一次刷新了数据记录,而强大的系统处理性能更是让业界敬佩不已:单日数据处理量达到970PB,每秒处理峰值数据高达25亿条,并帮助天猫产品推荐的点击率提高了4%——这一连串的数据背后,离不开Alink的支撑。

作为业界同时支持批式算法、流式算法的机器学习平台之一,Alink基于Flink开发而来,提供了丰富的算法组件库和便捷的操作框架,且目前已被广泛运用在阿里内部的搜索、推荐、广告等多个核心实时在线业务中,以及支持Kafka、HDFS和HBase等一系列开源数据存储平台。
在本文中,CSDN有幸采访到了Alink创始人杨旭,他将从一线开发的视角,带我们了解这个开源机器学习平台的技术路径、典型应用案例及发展规划等内容。

杨旭,机器学习Alink创始人,阿里巴巴集团计算平台事业部的资深算法专家,阿里云机器学习算法平台PAI中基础机器学习算法的负责人。

1.Alink衍生背景:算法工程师的开发诉求

随着大数据时代的到来和人工智能的崛起,机器学习所能处理的场景更加广泛和多样。构建的模型需要对批量数据进行处理,为了达到实时性的要求还需要直接对流式数据进行实时预测,还要具备将模型应用在企业应用和微服务上能力。为了取得更好的业务效果,算法工程师们需要尝试更多更复杂的模型,需要处理更大的数据集,使用分布式集群已经成为常态;为了及时对市场的变化进行反应,越来越多的业务选用在线学习方式直接处理流式数据、实时更新模型。

杨旭解释道,“我们团队一直从事算法平台的研发工作,感受到了高效能的算法组件和便捷操作平台对开发者的帮助。”针对正在兴起的机器学习广泛而多样的应用场景,他和所带领的团队在2017年开始基于Flink研发新一代的机器学习算法平台,使得数据分析和应用开发人员能够轻松搭建端到端的业务流程。

2.Alink究竟是什么?

Alink 是阿里巴巴计算平台事业部PAI团队从2017年开始基于实时计算引擎 Flink 研发的新一代机器学习算法平台,提供丰富的算法组件库和便捷的操作框架,开发者可以一键搭建覆盖数据处理、特征工程、模型训练、模型预测的算法模型开发全流程。项目之所以定为Alink,是取自相关名称(Alibaba, Algorithm, AI, Flink, Blink)的公共部分。

借助Flink在批流一体化方面的优势,Alink能够为批流任务提供一致性的操作。杨旭提到,在2017年初,他们通过调研团队看到了Flink在批流一体化方面的优势及底层引擎的优秀性能,于是基于Flink重新设计研发了机器学习算法库,即Alink平台。该平台于2018年在阿里集团内部上线,随后不断改进完善,在阿里内部错综复杂的业务场景中锻炼成长。

“作为业界首个同时支持批式算法、流式算法的机器学习平台,Alink 提供了 Python 接口,开发者无需 Flink 技术背景也可以轻松构建算法模型。”

据杨旭介绍,Alink 已被广泛运用在阿里巴巴搜索、推荐、广告等多个核心实时在线业务中。在此前落幕的天猫双 11 中,单日数据处理量达到 970PB,每秒处理峰值数据高达 25 亿条。Alink 成功经受住了超大规模实时数据训练的检验,并帮助提升 4% CTR(商品点击转化率)。

3.Alink功能简介

1、丰富的算法库

Alink拥有丰富的批式算法和流式算法,帮助数据分析和应用开发人员能够从数据处理、特征工程、模型训练、预测,端到端地完成整个流程。如下图所示,Alink提供的开源算法模块中,每一个模块都包含流式和批式算法。比如线性回归,包含批式线性回归训练、流式线性回归预测和批式线性回归预测。

image

2、友好的使用体验

“为了提供更好的交互式和可视化体验,我们在开源的同时推出了PyAlink,用户可以通过PyAlink的Python包以notebook的方式使用Alink。”杨旭表示,PyAlink不仅支持单机运行,也支持集群提交,并且打通了Operator(Alink算子)和DataFrame的接口,从而使得Alink整个算法流程无缝融入Python。PyAlink也提供使用Python函数来调用UDF或者UDTF。PyAlink在notebook中使用如下图,展示了一个模型训练预测,并打印出预测结果的过程。

image

3、与Spark对比

在离线学习算法方面,Alink 跟 SparkML 性能对比基本相当,下图给出的是一些经典算法的性能对比:

image

通过上图可以看出,Alink在大部分算法性能优于Spark,个别算法性能比Spark弱,整体是一个相当的水平。

但是,“在功能的完备性方面,Alink更有优势”,Alink除了覆盖Spark的算法,还包含流式算法、流批混跑、在线学习、中文分词等。

4.阿里和Alink的开源之路

在2018年,GitHub新增活跃用户数量超过了前六年的总和,相较于2017年新增了40%的组织机构和30%的代码仓库。从全球趋势来看,开源无疑是软件发展的大势所趋。目前在国内,阿里是贡献开源最出色的企业。GitHub上有大量的开源项目由阿里创建,据阿里经济体GitHub开源生态报告统计,国内Top10的开源项目中,阿里的开源项目有6个。

在谈Alink开源之前,杨旭首先介绍了与之相关的Flink与FlinkML。“Flink是一个面向数据流处理和批量数据处理的可分布式的开源计算框架,我们看好Flink引擎的优秀性能,希望基于Flink解决流程机器学习场景的问题。”FlinkML为Flink自带的机器学习算法库,分为旧的版本和新的版本。“在做Alink前,我们首先认真调研了当时的FlinkML(即旧版本FlinkML)的情况,其仅支持10余种算法,支持的数据结构也不够通用,在算法性能方面做的优化也比较少,而且其代码也很久没有更新。所以,我们放弃了基于旧版FlinkML进行改进、升级的想法,决定基于Flink重新设计研发机器学习算法库,随后发展为现在的Alink。”

Alink在发展的过程中一直与Flink社区紧密关联,在每年的Flink Forward大会上,团队一直有汇报项目的进展,共同探讨技术问题,获取反馈和建议。随着Alink功能的不断增强和完善,“社区中欢迎Alink进行开源的呼声日益高涨,我们也开始和Flink社区更紧密联系,推动开源Alink的代码进入FlinkML。”

与此同时,社区中更多的人意识到旧版FlinkML的问题,决定整个废弃掉旧版FlinkML,建设新版FlinkML。“我们积极参加新版FlinkML API的设计,分享Alink API设计的经验;Alink的Params等概念被社区采纳;之后开始为新版FlinkML贡献算法实现代码,已提交了40余个PR,包括算法基础框架、基础工具类及若干算法实现。”

Alink包含了非常多的机器学习算法,在向FlinkML贡献的过程中,需要社区commiter的讨论设计与审查代码,这个过程有助于代码的精益求精,但由于社区commiter的资源有限,代码完全贡献到FlinkML的过程会持续很长时间。“这时,我们不得不考虑是否有其他方式,可以让用户先用起来”,“Alink单独开源是个很好的解决方式”,它与向FlinkML继续贡献算法实现,可以同时进行。用户的使用反馈也有助于更好的改进算法实现。

此想法获得了社区的支持,获得了阿里内部的支持,在Flink Forword Asia 2019大会上,Alink正式宣布开源。

目前,Alink开源已经四个多月,在这段时间里Alink在开源社区的声望越来越高,Alink在Github上已经有2000多颗Star,400多次fork。杨旭感叹道,“目前为止,我们的开源用户群已经将近1000人,并且已经有多位社区开发者向Alink提交算法code,有几十位社区的Alink用户向我们提出Alink算法bug或者算法改进需求。Alink开发团队也积极和社区互动,共同推进Alink平台的发展。”一方面,Alink团队积极支持社区用使用Alink,帮助数百位社区用户解决他们在使用Alink算法遇到的困难。另一方面,针对社区用户提出的算法bug和算法改进需求,Alink团队第一时间作出响应,对这些bug和改进需求进行排期,并在开发完成后及时开源到社区,解决社区用户的需求。

“虽然Alink的开源已经取得了阶段性成果,我们仍然在积极向FlinkML贡献代码”,杨旭最后表示,他希望将更多优秀的机器学习算法贡献给Flink项目,也希望和社区一起努力,共同促进Flink社区机器学习生态的发展和繁荣。

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-04-07
本文作者:CSDN App
本文来自:“CSDN”,了解相关信息可以关注“CSDN

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
18天前
|
消息中间件 Cloud Native 开发者
电子好书发您分享《阿里云云原生开源开发者沙龙北京站 PPT 合集 》
**阿里云开源沙龙PPT合集:北京站聚焦云原生技术** 探索云原生领域的深度与广度,[阿里云](https://developer.aliyun.com/ebook/8334/116563?spm=a2c6h.26392459.ebook-detail.5.da096cf6t38G15)分享了北京开发者沙龙的精彩内容,涵盖微服务、消息队列等主题,助力开发者洞悉行业趋势。![image](https://ucc.alicdn.com/pic/developer-ecology/cok6a6su42rzm_67b12f6cad6e4b2786859b3a668b3351.png)
18 3
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习PAI常见问题之升级alink最新版报错如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
2月前
|
机器学习/深度学习 人工智能 算法
【AAAI 2024】再创佳绩!阿里云人工智能平台PAI多篇论文入选
阿里云人工智能平台PAI发表的多篇论文在AAAI-2024上正式亮相发表。AAAI是由国际人工智能促进协会主办的年会,是人工智能领域中历史最悠久、涵盖内容最广泛的国际顶级学术会议之一,也是中国计算机学会(CCF)推荐的A类国际学术会议。论文成果是阿里云与浙江大学、华南理工大学联合培养项目等共同研发,深耕以通用人工智能(AGI)为目标的一系列基础科学与工程问题,包括多模态理解模型、小样本类增量学习、深度表格学习和文档版面此次入选意味着阿里云人工智能平台PAI自研的深度学习算法达到了全球业界先进水平,获得了国际学者的认可,展现了阿里云人工智能技术创新在国际上的竞争力。
|
1天前
|
存储 缓存 安全
阿里云EMR数据湖文件系统: 面向开源和云打造下一代 HDFS
本文作者详细地介绍了阿里云EMR数据湖文件系统JindoFS的起源、发展迭代以及性能。
|
9天前
|
机器学习/深度学习 人工智能 分布式计算
阿里云机器学习PAI介绍
阿里云机器学习PAI介绍
32 1
|
11天前
|
机器学习/深度学习 SQL 人工智能
人工智能平台PAI产品使用合集之如何通过机器学习PAI 的Alink实现大量数据两两计算相关性
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
11天前
|
机器学习/深度学习 人工智能 流计算
人工智能平台PAI 操作报错合集之在集群上提交了包含alink相关功能的flink任务,但是却报错如何解决
阿里云人工智能平台PAI (Platform for Artificial Intelligence) 是阿里云推出的一套全面、易用的机器学习和深度学习平台,旨在帮助企业、开发者和数据科学家快速构建、训练、部署和管理人工智能模型。在使用阿里云人工智能平台PAI进行操作时,可能会遇到各种类型的错误。以下列举了一些常见的报错情况及其可能的原因和解决方法。
|
11天前
|
机器学习/深度学习 人工智能 网络协议
人工智能平台PAI 操作报错合集之在本地运行Alink Server时没有遇到问题。但是,当您尝试在PAI上运行时出现了错误。如何解决
阿里云人工智能平台PAI (Platform for Artificial Intelligence) 是阿里云推出的一套全面、易用的机器学习和深度学习平台,旨在帮助企业、开发者和数据科学家快速构建、训练、部署和管理人工智能模型。在使用阿里云人工智能平台PAI进行操作时,可能会遇到各种类型的错误。以下列举了一些常见的报错情况及其可能的原因和解决方法。
|
11天前
|
机器学习/深度学习 人工智能 运维
人工智能平台PAI 操作报错合集之请问Alink的算法中的序列异常检测组件,是对数据进行分组后分别在每个组中执行异常检测,而不是将数据看作时序数据进行异常检测吧
阿里云人工智能平台PAI (Platform for Artificial Intelligence) 是阿里云推出的一套全面、易用的机器学习和深度学习平台,旨在帮助企业、开发者和数据科学家快速构建、训练、部署和管理人工智能模型。在使用阿里云人工智能平台PAI进行操作时,可能会遇到各种类型的错误。以下列举了一些常见的报错情况及其可能的原因和解决方法。
|
16天前
|
Kubernetes Cloud Native 安全
电子好书发您分享《阿里云云原生开源开发者沙龙北京站 PPT 合集》
📚 阿里云开源开发者沙龙北京站精彩回顾!获取PPT合集,深入云原生安全与微服务实践:[北京站PPT](https://developer.aliyun.com/ebook/8334/116563?spm=a2c6h.26392459.ebook-detail.5.4dc56cf6htj2uT) 🚀 图文并茂探讨微服务安全与K8s监控解决方案。不容错过的云原生学习资源!👇
18 2