流批一体机器学习算法平台

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 随着大数据时代的到来和人工智能的崛起,机器学习所能处理的场景更加广泛和多样。构建的模型需要对批量数据进行处理,为了达到实时性的要求还需要直接对流式数据进行实时预测,还要具备将模型应用在企业应用和微服务上能力。

发布会传送门

产品详情

针对正在兴起的机器学习广泛而多样的应用场景,阿里巴巴计算平台基础算法团队在2017年开始基于Flink研发新一代的机器学习算法平台。该项目名称定为Alink,取自相关名称(Alibaba, Algorithm, AI, Flink, Blink)的公共部分。经过三年的投入研发,Alink在算法性能、算法规模、算法易用性等方面取得了不错的成果,并实现了产品化。这使得数据分析和应用开发人员能够轻松搭建端到端的业务流程。

在后面的篇幅中,我们将从算法功能、算法性能、用户界面、可视化等方面对Alink做一个系统的介绍。

  • 算法功能

Alink拥有丰富的批式算法和流式算法,能够帮助数据分析和应用开发人员能够从数据处理、特征工程、模型训练、预测,端到端地完成整个流程。如下图所示,Alink提供的功能算法模块中,每一个模块都包含流式和批式算法。比如线性回归,包含批式线性回归训练,流式线性回归预测和批式线性回归预测。另外,Alink算法覆盖分类、回归、聚类、评估、统计分析、特征工程、异常检测、文本、在线学习、关联分析等经典领域,是一个通用的机器学习算法平台。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

目前,Alink已经被阿里巴巴集团内部多个BU使用,并取得了不错的业务提升。特别是在2019年天猫双11中,单日数据处理量达到 970PB,每秒处理峰值数据高达 25 亿条。Alink 成功经受住了超大规模实时数据训练的检验,并帮助天猫产品推荐的点击率提高了4%。

  • 算法性能

下图给出的是一些经典算法与Spark的性能对比,通过该图可以看出,Alink在大部分算法性能优于Spark,个别算法性能比Spark弱,整体是一个相当的水平。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

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

  • 用户使用界面

为了提供更好的交互式体验,我们提供两种用户使用界面:webPyAlink

首先我们介绍一下web界面。Web界面提供拖拽的方式创建试验,通过对每一个组件进行配置完成整个试验的参数配置。下图给出的是web界面创建的批式、流式、流批混合的试验。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

并且Alink可以支持节点的级别实验运行状态显示。在各个算法节点旁,我们用闪烁的小灯泡表示“运行中”的状态,用对勾表示“运行完成”的状态。一般情况下,只有批式(batch)组件才有可能运行结束。基于各个组件的运行状态,可以十分方便地判断当前实验运行到了什么程度。并且,如果实验运行中出现了报错或者长时间不结束的情况,也能根据组件运行状态更加方便地定位潜在出问题的组件。除了简单的运行状态以外,Alink还提供了查看组件输入、输出数据量指标的功能。对于不同类型的组件,Alink提供了不同的指标展现方式:对于流式(stream)组件来说,在组件运行时,可以接近实时地看到组件的输出BPS和RPS数值。而对于批式(batch)组件,在组件运行完成后,会展示总的输出数据条数和字节数。这些指标的展示对于判断实验/业务是否正常运行可以提供很多的参考,尤其对于一些线上实时的业务,通过这些指标就能直观地看到是否正常运行。

下面我们继续介绍PyAlink。为了满足脚本用户的需求,我们提供了PyAlink on notebook,用户可以通过PyAlink的python包使用Alink。PyAlink支持单机运行,也支持集群提交。并且打通Operator(Alink算子)和DataFrame的接口,从而使得Alink整个算法流程无缝融入python。PyAlink也提供使用Python函数来调用UDF或者UDTF。PyAlink在notebook中使用如下图,展示了一个模型训练预测,并打印出预测结果的过程:

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

  • 可视化

Alink中的可视化包括统计相关的可视化、模型类可视化以及评估可视化等,当前能进行大屏可视化的组件包括:统计分析类组件,直接展示的统计算法的结果;机器学习模型类组件,展示训练好的模型的信息;评估类组件,展示评估接口。
下图给出的是统计可视化,通过下图可以看到我们的统计可视化支持窗口统计和累计统计,并且支持曲线、柱状图、统计表、矩阵图等多种展示方式。

同样,下面两幅图给出的是模型的可视化和评估的可视化。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

  • 总结展望

经过三年的发展,Alink已经成为一个功能完备的机器学习算法平台,而且已经在2019年FFA19将代码开源到社区,让更多的人能够使用这个平台解决业务问题。虽然Alink开源已经取得了阶段性成果,但是我们将继续积极向FlinkML贡献代码,我们希望将更多优秀的机器学习算法贡献给Flink项目,也希望和社区一起努力,共同促进Flink社区机器学习生态的发展和繁荣。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
19小时前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】在使用K-means聚类算法时,如何选择K的值?
【5月更文挑战第11天】【机器学习】在使用K-means聚类算法时,如何选择K的值?
|
19小时前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】为什么K-means算法使用欧式距离度量?
【5月更文挑战第11天】【机器学习】为什么K-means算法使用欧式距离度量?
|
19小时前
|
机器学习/深度学习 算法 数据可视化
【机器学习】描述K-means算法的步骤
【5月更文挑战第11天】【机器学习】描述K-means算法的步骤
|
19小时前
|
机器学习/深度学习 人工智能 算法
【机器学习】K-means和KNN算法有什么区别?
【5月更文挑战第11天】【机器学习】K-means和KNN算法有什么区别?
|
1天前
|
机器学习/深度学习 算法
【机器学习】比较朴素贝叶斯算法与逻辑回归算法
【5月更文挑战第10天】【机器学习】比较朴素贝叶斯算法与逻辑回归算法
|
1天前
|
机器学习/深度学习 数据采集 自然语言处理
经典机器学习算法——Pagerank算法(二)
PageRank 算法由 Google 创始人 Larry Page 在斯坦福读大学时提出,又称 PR——佩奇排名。主要针对网页进行排名,计算网站的重要性,优化搜索引擎的搜索结果。PR 值是表示其重要性的因子
|
1天前
|
机器学习/深度学习 数据采集 算法
经典机器学习算法——Pagerank算法(一)
PageRank 算法由 Google 创始人 Larry Page 在斯坦福读大学时提出,又称 PR——佩奇排名。主要针对网页进行排名,计算网站的重要性,优化搜索引擎的搜索结果。PR 值是表示其重要性的因子
经典机器学习算法——Pagerank算法(一)
|
2天前
|
机器学习/深度学习 人工智能 算法
高性价比发文典范——101种机器学习算法组合革新骨肉瘤预后模型
随着高通量测序技术的飞速发展和多组学分析的广泛应用,科研人员在探索生物学奥秘时经常遇到一个令人又爱又恼的问题:如何从浩如烟海的数据中挖掘出潜在的疾病关联靶点?又如何构建一个全面而有效的诊断或预后模型?只有通过优雅的数据挖掘、精致的结果展示、深入的讨论分析,并且辅以充分的湿实验验证,我们才能锻造出一篇兼具深度与广度的“干湿结合”佳作。
12 0
高性价比发文典范——101种机器学习算法组合革新骨肉瘤预后模型
|
4天前
|
机器学习/深度学习 存储 人工智能
【人工智能】机器学习算法综述及常见算法详解
【人工智能】机器学习算法综述及常见算法详解
|
6天前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的支持向量机(SVM)算法
【5月更文挑战第6天】在数据科学和人工智能的广阔天地中,支持向量机(SVM)以其强大的分类能力与理论深度成为机器学习领域中的一个闪亮的星。本文将深入探讨SVM的核心原理、关键特性以及实际应用案例,为读者提供一个清晰的视角来理解这一高级算法,并展示如何利用SVM解决实际问题。
29 7