其他
基于Alink模型流的在线学习
导读 本次分享题目是基于 Alink 模型流的在线学习。
主要从下面4个方面展开:1. 相关问题
2. Alink 与在线学习
3. 模型流 1.0
4. 模型流 2.0
5. Q&A
分享嘉宾|杨旭博士 阿里云资深算法专家
编辑整理|王丽燕
内容校对|李瑶
出品社区|DataFun
首先是算法问题和工程问题,Alink 希望通过组件的方式把算法固化下来,通过调整一些参数更方便地进行算法切换、实验调整和组件的部署等。 实践中正常有实验环境和生产环境,在实验环境进行一些方法的尝试,如何把实验中产生的场景和流程部署到生产环境也是经常遇到的一个问题。 预处理、特征工程、模型训练预测等各模型和参数的固化。 如何保持各流程参数同步更新,保证训练和预测的一致性。 预测服务及时更新模型。 增量训练、在线学习的问题。在线学习,在理想状态下是希望模型能实时训练学习,但在实际中往往是采用增量的方式去训练,这些方式如何更好地跟预测服务联动,是希望能解决的一个问题。 分布式训练还是单机多线程训练,在训练方式上,希望能有更多的训练方式可以选择。
1. Alink 连接算法与应用
2. 支持的计算方式
Flink 批式任务(分布式,相关组件后缀名为"BatchOp") Flink 流式任务(分布式,相关组件后缀名为"StreamOp") 本地批式任务(相关组件后缀名为"LocalOp") 本地预测组件,对单条数据进行预测,可以嵌入到 Java 或 Python 预测服务。
3. 使用方式
Java 库 PyAlink WebUI: 可实现上图中的可视化流程
4. 相关参考资料
Github 地址:https://github.com/alibaba/Alink 文档:https://alinklab.cn/manual/index.html,可以按名称搜索组件,查看组件说明、应用示例代码等,还可以通过关键词来查询。 教程:具体讲解使用方法
钉钉群:可以添加到群里沟通
5. Alink 与在线学习的关联
通过线上反馈及时调整模型 模型更新频率高
预测组件可以自动从模型流获取最新模型,完成更新,不需中断预测服务; 流式训练任务、批式训练任务都可以为模型流提供模型; 特征工程、粗排、精排等过程都可以放在一个 Pipeline 模型,保证模型更新过程中的参数一致性。
模型流1.0
1. 模型流业务场景一
Ftrl train:训练阶段,需要初始模型和训练数据流,就可以持续产生新的模型。 Ftrl predict:预测阶段,需要初始模型、模型流(Ftrl train 产生的)、预测数据流,去输出预测结果。
2. 模型流业务场景二
模型流2.0
1. 模型流 1.0 与 2.0 的区别
2. 批式任务与模型流
首先读取训练数据。 连接到逻辑回归分布式训练组件,产生单个模型。 再把单个模型添加到模型流里(需设置存储模型的文件系统或者本地存储路径),之后就跟流式组件一样进行消费。
3. 增量训练
4. 模型流中的 Pipeline 模型
5. 嵌入预测服务
嵌入预测组件需要输入模型所在位置的路径,以及所要预测数据的schema_string 信息。 如果要使用模型流,Pipeline model 要设置模型流的路径,预测时随着模型流的更新载入新的模型,自行更新模型预测。
Q&A
分享嘉宾
INTRODUCTION
杨旭 博士
阿里云
资深算法专家
南开大学数学博士,在阿里工作12年多,一直从事分布式算法研究,是批流一体的机器学习算法平台 Alink 的创始人。
往期优质文章推荐
往期推荐
点个在看你最好看