📣 Back to School开学季 - VIP通行证5折优惠!蓝莓、Offer多多同步优惠
查看: 17353| 回复: 41
跳转到指定楼层
上一主题 下一主题
收起左侧

[自我提升] 当说到ml platform的时候,你到底在说什么?

   
全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
大家好,借隔壁mle职业发展的帖子,想请教下ml platform到底在做什么?我的理解是写一些tool (command line)去做如下的事情,当然了这些command line可以最后包装成ui,更方便使用。还有就是我们单位用的是aws和gitlab,所以假设infra就是aws。

1.inference api:这个里面会有data flow 进每个component处理,进入每个component的过程可以是线性的,异步的,也可以customize逻辑省略一些component,最终返回给api结果
2.打包:dockerize api
3.模型打包:把模型存到data volume中方便挂载(mount)到api容器
4.本地启动:能把app本地run起来,当然了为保持compatibility,也是在docker环境下本地运行 ..
5.CICD: create build on CI and test on CI
6.resource provision: 自动生成terraform文件去plan和apply资源. 1point3acres
7.deployment:部署microservice到ecs
8.monitoring和alert:这个和其他application类似

以上是我粗浅的理解,也不知道对不对,希望各位大佬补充更正解惑。这里我没有写feature store,因为我们feature store的使用者不仅仅是ml, 还有analytics啊,data science啊等等很多org。整个feature store是另外一个大组做的,我也不是很懂,平时只需要用他们的api就好了😅

评分

参与人数 17大米 +46 收起 理由
lichenran1234 + 2 给你点个赞!
caudalienature + 1 很有用的信息!
balalalala + 1 赞一个
GreenHill + 1 谢谢分享!
K叔 + 1 赞一个

查看全部评分


上一篇:转码努力上岸中,一些问题请教
下一篇:公司可以强行要求我留在现有岗位帮忙处理办公室的东西么
推荐
denmark8th 2021-6-1 02:14:28 | 只看该作者
全局:
本帖最后由 denmark8th 于 2021-6-1 02:20 编辑

我是ML platform的PM, 不是engineer :)我从PM的角度分享一下我的自己的认识,大家多多交流。
. 1point 3acres
先看e2e ML lifecycle在讲什么:
Data ETL -> Feature engineering (包括 training dataset generation) -> Model prototyping -> Model training and eval (包括hyperparam searching之类的)-> Model deployment -> Serving (包括online和offline) -> Prediction monitoring -> Model retrain
不同的步骤,有不同的user persona:比如ETL一般是Data engineer,model prototyping和training是Data scientist,deployment和serving基本上是MLE

ML platform做的事情就是streamline和standardize这个流程,把底层的逻辑抽象出来,给不同的user persona提供相应的工具 (UI, API, CLI ...)。如果没有ML platform,每个team都自己去写自己的pipeline和工具,没有统一流程,效率低下,重复劳动,不可协作,更无法scale up。

The ultimate goal of a ML platform is to improve ML development efficiency and to ensure high ML quality。

举个关于dev efficiency的例子,在training and eval这一步,现在很多platform都提供AutoTune这个工具:user定义一个search space之后,ML platform会自动的去找出最佳的hyper parameters,而不需要user手动的去调试。这就是ML platform的功能之一。.1point3acres
.google  и
再说一下high ML quality是在讲什么。我们公司所有的serving全部是通过我们这个ML platfrom完成的。第一,这样保证了consistency,避免各个team去写自己的serving stack而引起的performance上的差异。第二,我们把所有的ML model都进行了严格的分级定义:business impact, datasets quality, model freshness, retraining frequency等等。然后对不同的tier的model,只要你能达到我们tiering requiement,我们就能保证meet SLA (prediction performance, serving latency等等)。这样,就能保证high ML quality。

最后,分享一个我自己之前的一个slide,讲的是ML workflow的high level的pain points。不全面,但是还是有一些value :)



本帖子中包含更多资源

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x

评分

参与人数 17大米 +23 收起 理由
chelseayer + 1 很有用的信息!
zhangbaoquan + 1 赞一个
qqliu76 + 1 很有用的信息!
lichenran1234 + 2 给你点个赞!
1a1a11a2 + 1 赞一个

查看全部评分

回复

使用道具 举报

全局:
我是ml platform的工程师,主要在training phase。inference在我司是分开的org。就说说traning,我们要决定model author给我们的model是,model/trainer有什么样的interface,然后怎么创建data reader,怎么把abstract model变成model parallel/data patallel。怎么schedule hardware resource,launcher怎么把runnable diatribute到scheduled worker。怎么管理和变换model checkpoint(trained model states/progress),怎么展示model metrics,monitor system metrics/failures。怎么管理model lifetime,比如用新的dataset refresh model,或者用online real traffic给model。

评分

参与人数 10大米 +11 收起 理由
zhangbaoquan + 1 赞一个
thinkoutofbox + 1 赞一个
VickyLu001 + 1 赞一个
icetip + 1 很有用的信息!
daiker + 1 赞一个

查看全部评分

回复

使用道具 举报

全局:
我现在在一家小公司做ml infra,主要工作内容是:
- 把data scientist写好的notebook写成flow (airflow,luigi这种)
- 写hyperparameter tuning platform
- streamline各种流程
- 配置运行flow 的环境-baidu 1point3acres
- 写各种reusable 的lib.google  и
- model lifecycle management. 1point3acres
- 做dashboard监测flow和model in production

没事干的有时候也会做调参侠。和data scientist紧密合作,和他们最大的不同在于:
- ds关注一个模型,做各种研究,前期了解需求等等,做feature engineering.--
- ml platform可能更像一个辅助,不关注模型本身,关注可以跑n个模型,如何更高效,更稳定
- data scientist是我写的flow的end user
- ds不负责production,但是我们公司做的production不太严谨,我就不多说了
.1point3acres
目前小公司只有我一个人在做,很多时候非常迷茫,不知道做的对不对;过一段时间会去新公司继续做ml platform,还不知道稍大的公司是怎么做的。

个人对这个方向还是挺感兴趣的,也想听听大家的看法。最想了解的希望大佬分享下职业发展路径,如何提高自己,在这条路上走的更稳,本身不是sde出身,需要补充哪些知识。

评分

参与人数 8大米 +14 收起 理由
lichenran1234 + 2 给你点个赞!
AppleOo + 1 赞一个
thinkoutofbox + 1 赞一个
K叔 + 1 赞一个
icetip + 1 很有用的信息!

查看全部评分

回复

使用道具 举报

🔗
 楼主| maxims23 2021-5-31 12:30:10 | 只看该作者
全局:
xsh6528 发表于 2021-5-31 12:10
我是ml platform的工程师,主要在training phase。inference在我司是分开的org。就说说traning,我们要决定 ...

赞👍想问问你们做的data parallel和model parallel是自己开发的嘛?还是under the hood用的pytorch或者tf的distributed training api?

还有感觉你这已经把training最麻烦的全做了呀 - 那model author干嘛咧?变成纯调参侠了嘛?
回复

使用道具 举报

全局:
maxims23 发表于 2021-5-31 12:30
赞👍想问问你们做的data parallel和model parallel是自己开发的嘛?还是under the hood用的pytorc ...

这model/data parallel 本来就是distributed system的问题,跟model author关系不是很大吧
回复

使用道具 举报

🔗
lz9527 2021-5-31 14:04:04 | 只看该作者
全局:
maxims23 发表于 2021-5-31 12:30
赞👍想问问你们做的data parallel和model parallel是自己开发的嘛?还是under the hood用的pytorc ...

ML platform eng就是将ML步骤抽象,减少repeated work。让做model的人只关心model本身,而不用操心底层的逻辑。
回复

使用道具 举报

全局:
Aws 的话 1. 2.3 sagemaker 都已经帮你写好了吧?
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-GIIUE  | 添加认证 | 2021-5-31 14:54:40 来自APP
xsh6528 发表于 2021-05-30 21:10:32
我是ml platform的工程师,主要在training phase。inference在我司是分开的org。就说说traning,我们要决定model author给我们的model是,model
想问问层主的工作是不是machine learning infra engineer? 层主说的data reader, parallelism, data monitor 不是在aws都有现成可以用, 为什么要重新造轮子?除非层主就是在aws 工作?.google  и
.google  и
层主觉得其他大部分的软件公司会需要这种ML infra engineer 吗?因为aws gcp 等等会做得越来越好,价钱越来越便宜,所以没有必要重新造轮子?
回复

使用道具 举报

全局:
匿名用户 发表于 2021-05-30 23:54:40
想问问层主的工作是不是machine learning infra engineer? 层主说的data reader, parallelism, data monitor 不是在aws都有现成可以用
对,我是做ML infra。
. From 1point 3acres bbs
跟其他公司情况不一样,我们有私有云和定制硬件。所以用不了aws,我不了解aws对ML生态提供的程度走到哪里了。

你的核心疑问是,是不是ML Infra只需要一个大公司做一遍,其他公司可以reuse。

就我自己对ML Infra这个发展方向的理解,我觉得这个领域还很早期,各个公司的flow还很难converge。不同的model有不同的parallel办法,不同的硬件也对应不同的lower model的策略。

评分

参与人数 3大米 +3 收起 理由
icetip + 1 很有用的信息!
babyshore + 1 赞一个
meglory + 1 赞一个

查看全部评分

回复

使用道具 举报

全局:
maxims23 发表于 2021-05-30 21:30:10
赞想问问你们做的data parallel和model parallel是自己开发的嘛?还是under the hood用的pytorch或者tf的distributed training api?
是自己在pytorch上开发的,说到底就是自动变换model,去匹配硬件。model author是不需要care我们怎么修改model的,都是后台自动发生的。. check 1point3acres for more.

model author专心设计model architecture的改进, 选feature,调超参数,维护具体每个model生命周期,是在offline做实验,还是实验已经验证idea work,需要跟production shadow做a/b testing
回复

使用道具 举报

🔗
yikehongxin 2021-5-31 17:01:35 | 只看该作者
全局:
wangweishishabi 发表于 2021-5-31 13:41
这model/data parallel 本来就是distributed system的问题,跟model author关系不是很大吧

请问这里的parallel是类似:parameter server 么?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
职场达人
  • ↑ 本版用于讨论职场各种干货话题,闲聊请去🔗聊聊或者🔗匿名版
  • ❌ 本版严禁水贴,引战,发布广告,拉群,贴个人联系方式,扣分无警告
  • ☑ 求职、面经等去 🔗北美求职和 🔗回国求职大区,刷题和学习请去 🔗终身学习大区
  • ☑ 请去专版发布 🔗内推, 🔗招聘信息,和讨论 🔗创业内容
  • ☑ PIP / DevList/ Need Support 等话题也已开设 🔗专版

本版积分规则

>
快速回复 返回顶部 返回列表