本篇是关于自身在机器学习这块工作经验的思考总结
本文目标在于构建一个机器学习云开发平台,目标在于解决以下问题:
团队协作:项目管理,技术&业务的共享如何体现在实际解决问题的过程中;
资源调度:数据处理、模型训练;
模块共享:低代码甚至无代码;
快速开发:快速试错、实践、测试、部署;
需求->开发的闭环
背景
自 17 年毕业以来,我从事于游戏行业的风控领域,主要涉及的系统的是风控和画像这两块。尽管我从团队初始建立的时候就定义了各种服务模板以及脚手架,但在数据处理、模型构建、管理这块我并没有着重去管控,仅仅是设定了一些服务的标准(初始阶段需要的是快速响应需求),如今随着业务场景和团队成员的增加,有如下问题需要考虑:
脚本模块共享问题,团队成员长期开发积累的技术脚本、模型等是否可以模块化用于给其他成员共用;
不同数据及不同模型快速试验的的效率问题,我理想的解决方案是类似工作流那样自由组合脚本,从数据提取到模型构建再到模型管控以作业流的形式来完成(这也意味着只要公有模块覆盖面足够广,就可以进行组件拖拽式开发);
模型测试管理问题,每个模型有哪些版本?怎么快速测试?分别被哪些服务使用以及如何快速上线;
资源调度问题,公司的数据存于云商,本地开发涉及的资源问题如何解决。
一站式机器学习云研发平台
目标
上面提到的问题可能也和大数据计算领域有些交集,毕竟都涉及到了 ETL,这些问题实际上涵盖了一个数据模型从开发到上线完整的生命周期。对于上述的需求,其实我们可以分别拆开来看看会衍生出怎样的目标:
第 1、2 两点在我看来可以归纳为一个问题,模块需要抽象,然后让开发者可以自由地从模块仓库选取自己需要的模块进行组合,最终形成一个从数据提取到模型构建再到模型管控的工作流;一个项目可以有多个工作流,工作流的最小元素是模块,工作流的运行参数可以自由定义,开发者可以通过调整参数来快速调优;模块(函数)即服务,组合完毕就意味着一个需求的实现;
第 3 点的实现离不开两个基础服务,一是模型自动 API 服务化,二是模型管控服务;
第 4 点可以从两个方向入手,引入资源管理系统,如
k8s或者云商的资源管理服务。
最终目标呼之欲出了,总结下我的需求,我需要的是一个满足数据计算、训练、管理的一站式机器学习云研发平台;而这个平台具有管理一个模型生命周期且形成闭环的功能

本文探讨了一站式机器学习云研发平台的需求与目标,旨在解决团队协作、资源调度等问题。通过低代码开发和云开发,实现数据处理、模型训练和管理的闭环。作者介绍了平台的构建流程,包括模块化、工作流、模型API服务化和资源管理,并分享了Orchest工具的使用体验,计划进行二次开发以满足更多需求。
最低0.47元/天 解锁文章
3371

被折叠的 条评论
为什么被折叠?



