演讲嘉宾简介:李博(花名:傲海),阿里云人工智能产品专家,从事人工智能行业5年,主要负责人工智能平台类产品化建设工作。
以下内容根据演讲视频以及PPT整理而成。
点击链接观看精彩回放:https://developer.aliyun.com/live/43189
本次分享主要围绕以下两个方面:
一、Data Science节点概述
二、Data Science原子化组件介绍
一、Data Science节点概述
EMR-DataScience节点是阿里云机器学习PAI团队结合开源大数据框架和体系,构建的一套以人工智能服务为核心的EMR计算节点。在Spark“数字人体”AI挑战赛之前会为大家创建好这个节点,创建过程中可以进入EMR产品,选择Data Science节点,将使用的组件全部勾选上。这套环境与Hadoop3.X版本做了兼容,也与EMR4.2.X的大版本兼容。
从下图中可以清楚的看出Data Science节点提供的能力,其目的是为机器学建模提供覆盖全周期的端到端服务。从最下层开始,支持读取底层的HDFS和OSS数据。在计算框架层,分为两部分,一部分是传统的机器学习框架层,通过AlinkServer提供服务,底层是商业化Flink框架叫VVP。另一部分是深度学习框架,包括TensorFlow和PyTorch。用户实际使用过程中可以使用AlinkServer构建传统机器学习模型,也可以基于TensorFlow和PyTorch构建深度学习模型。本次的AI挑战赛以图像为主,使用较多的是TensorFlow和PyTorch。用户可以基于计算框架和算法完成数据的预处理和建模,之后需要做Tunning的工作。阿里云PAI团队提供了调参工具叫AutoML-Tunning,通过AutoML工具实现调参。在算法层,可以使用自己的算法。在服务层,需要将线上的模型与实际工业环境进行对接,有可能会用到PAI-EASCMD或PAI-FaissServer。
二、Data Science原子化组件介绍
Data Science节点深度学习框架
目前,在平台内部为参赛选手内置了TensorFlow和PyTorch两款深度学习框架,注意需要在python3环境下使用,写代码时要以Python3环境实现。在深度学习建模过程中,会依赖于很多第三方库,这里支持通过pip3 install的方式按照相关依赖。参赛选手可以通过vim开发代码,对vim不熟悉的同学也可以使用zeppeline进行交互式开发,zeppeline可以执行shell操作。
PAI-Alink流批一体化机器学习算法平台
即使大部分选手不使用传统机器学习算法,但有需要的同学可以使用Alink,不仅支持350多种的传统机器学习算法,算法覆盖数据预处理、特征工程、模型训练、模型评估等机器学习全生命周期,如K-Means,随机森林等等。支持流式算法和离线算法。还可以以拖拽的方式拖拽组件。Alink的优势是支持多种可视化方式,可以很方便的查看实验结果。
下图展示了Alink实验Demo,蓝色为流式算法,黄色为离线算法:
AutoML
AutoML是比赛中常用的组件,想拿到好的结果,除了构建模型,还需要进行调参找到合适的算法组合。阿里内部很少人工调参,为了此次AI挑战赛,阿里将AutoML放在了Data Science节点内。AutoML使用时,首先要构建建模的脚本,脚本中有很多参数要调整,如max_depth、learning_rate、train_id等。用户可以在代码中使用parser设置需要参与调参的参数。另外用户需要构建调参的脚本,import pai.automl.hop,将上面的参数做映射,再枚举需要设置的参数。如果不希望使用枚举的方式,可支持使用随机采样方式,用户划定范围,平台支持在区间范围内做随机采样。最终调参后的结果如下图右侧,展示了每种参数组合和最后的结果。注意在第二步中,除了设置枚举值,还需要设置一个metric,指以哪个指标为评估标准,如以准确率还是召回率作为评估标准,甚至用户可以自己自定义metric。AutoML免去了人工调参的工作。
FaissServer
FaissServer针对部分机器学习应用需要实时计算向量相似度的场景,可以快速计算某个向量其余向量的距离,将全部向量加载到FaissServer里,发送GRPC的查询,反馈TopN向量。DataScience节点内置了FaissServer。用户可以将生成的向量导入FaissServer,构建一个在线TopN向量查询引擎。FaissServer更多的用在图像相似度分析,查询等模块。
PAI-EAS模型在线服务
EAS可能在决赛阶段会用到。针对的场景主要是如果构建了比较好的模型,如何在业务端,如手机端、IoT,使用到模型。用户通过DataScience内置的PAI-EAS CMD可以将深度学习模型部署成在线服务,通过RestfulAPI服务在业务中使用该模型。EAS支持灰度发布、线上服务监控、版本控制等功能。