热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:斩获GitHub2000+Star,阿里云开源的Alink机器学习平台如何跑赢双11数据“博弈”?...

篇首语:本文由编程笔记#小编为大家整理,主要介绍了斩获GitHub2000+Star,阿里云开源的Alink机器学习平台如何跑赢双11数据“博弈”?相关的知识,希望对你有一定的参考价值

篇首语:本文由编程笔记#小编为大家整理,主要介绍了斩获GitHub 2000+ Star,阿里云开源的Alink机器学习平台如何跑赢双11数据“博弈”?...相关的知识,希望对你有一定的参考价值。









作者 | 郭芮


来源 | CSDN(ID:CSDNnews)



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


本文为该系列访谈的第九期,通过和阿里资深算法专家、Alink创始人杨旭的一对一访谈,深入批流一体机器学习平台Alink的“台前幕后”。


百万人学AI你也有份!参与文章评论,评论区留言入选,可获得价值299元的「2020 AI开发者万人大会」在线直播门票一张。



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


作为业界同时支持批式算法、流式算法的机器学习平台之一,Alink基于Flink开发而来,提供了丰富的算法组件库和便捷的操作框架,且目前已被广泛运用在阿里内部的搜索、推荐、广告等多个核心实时在线业务中,以及支持Kafka、HDFS和HBase等一系列开源数据存储平台。


在本文中,CSDN有幸采访到了Alink创始人杨旭,他将从一线开发的视角,带我们了解这个开源机器学习平台的技术路径、典型应用案例及发展规划等内容。



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




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


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


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



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(商品点击转化率)。



Alink功能简介


1、丰富的算法库


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



2、友好的使用体验


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



3、与Spark对比


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



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


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



阿里和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社区机器学习生态的发展和繁荣。


【End】



推荐阅读半小时训练亿级规模知识图谱,亚马逊AI开源知识图谱嵌入表示框架DGL-KE
首次揭秘!大麦如何应对超大规模高性能选座抢票?
AI 四巨头 Google、DeepMind、Microsoft、Uber 深度学习框架大比拼马化腾、马云并列成为中国首富;百度回应“将上线电商直播”;.NET 5 Preview 2 发布 | 极客头条程序员职场背锅甩锅指南警惕!新骗术出现:这些虚假二维码生成器已成功盗取 4.6 万美元!“出道” 5 年采用率达 78%,Kubernetes 的成功秘诀是什么?


  • 你点的每个“在看”,我都认真当成了AI






推荐阅读
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
  • 在互联网信息爆炸的时代,当用户需求模糊或难以通过精确查询表达时,推荐系统成为解决信息过载的有效手段。美团作为国内领先的O2O平台,通过深入分析用户行为,运用先进的机器学习技术优化推荐算法,提升用户体验。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 智慧城市建设现状及未来趋势
    随着新基建政策的推进及‘十四五’规划的实施,我国正步入以5G、人工智能等先进技术引领的智慧经济新时代。规划强调加速数字化转型,促进数字政府建设,新基建政策亦倡导城市基础设施的全面数字化。本文探讨了智慧城市的发展背景、全球及国内进展、市场规模、架构设计,以及百度、阿里、腾讯、华为等领军企业在该领域的布局策略。 ... [详细]
  • 获取Jedis和Commons Pool JAR包的两种方法及详细步骤
    本文介绍如何通过网盘链接或官方网站获取Jedis和Commons Pool的JAR包,并提供详细的图文教程。同时,还附有导入JAR包到项目的相关建议。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 探讨在PHP开发中,如何选择使用Cookie或数据库来优化网站性能,特别是在处理用户保存的搜索结果时。 ... [详细]
  • Spring Cloud学习指南:深入理解微服务架构
    本文介绍了微服务架构的基本概念及其在Spring Cloud中的实现。讨论了微服务架构的主要优势,如简化开发和维护、快速启动、灵活的技术栈选择以及按需扩展的能力。同时,也探讨了微服务架构面临的挑战,包括较高的运维要求、分布式系统的复杂性、接口调整的成本等问题。最后,文章提出了实施微服务时应遵循的设计原则。 ... [详细]
  • 2017年苹果全球开发者大会即将开幕,预计iOS将迎来重大更新,同时Siri智能音箱有望首次亮相,AI技术成为大会焦点。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • Nature Microbiology: 人类肠道古菌基因组目录
    本研究揭示了人类肠道微生物群落中古细菌的多样性,分析了来自24个国家、农村和城市人群的1,167个非冗余古细菌基因组。研究鉴定了多个新分类群,并探讨了古菌对宿主的适应性及其与社会人口特征的关系。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
author-avatar
红白蓝2502891727
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有