一亩三分地

 找回密码 注册账号

扫描二维码登录本站

微信公众号
扫码关注公众号
留学申请公众号
扫码关注留学申请公众号
楼主: chztony
收起左侧

业界中DS/ML应用上线Implementation的问题

  [复制链接] |只看干货 |机器学习
我的人缘0
 楼主| chztony 2018-8-21 01:38:17 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   86% (1872)
 
 
13% (297)    👎
zxiaoc 发表于 2018-8-18 03:39
正在做的工作内容就是exactly做这个: 将data scientist做好的model launch to production, 简单答一波~
在 ...

谢谢!最近也在研究相关资料
回复

使用道具 举报

我的人缘0

升级   36%

huashifu 2019-1-3 18:08:34 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (45)
 
 
0% (0)    👎
zxiaoc 发表于 2018-8-18 03:39
正在做的工作内容就是exactly做这个: 将data scientist做好的model launch to production, 简单答一波~
在 ...

在哪家公司呀,你们的Machine Learning主要应用在哪方面的业务?
回复

使用道具 举报

我的人缘0

升级   18%

lalxyy 2019-1-3 21:45:50 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   99% (888)
 
 
0% (8)    👎
本帖最后由 lalxyy 于 2019-2-20 21:16 编辑

实习的时候离职以前最后一步就是上线text classification模型,当时的需求是不需要real-time,只要定时跑一遍inference然后把分类结果存下来就可以。
阿里内部各个BU有大大小小的机器学习平台(这种技术上各自为政可能也是一个缺点),比如文娱UCWeb有A平台,支付宝有B平台,调度 / 封装 / 调用自己部门的模型。
在已经有训练好的模型(包括分类器本身、word embedding等等),小数据量验证已经通过,之后,当时首先和mentor等人讨论定下来数据来源于哪个表(Apache Hive),会使用哪些临时表,最终输出结果在哪张表上,然后记在文档里面。
接下来的工作在一个shell脚本中:
- 对文本(original data)做一些处理,比如去掉stop word,替换一些生僻词语,用一两个稍复杂的SQL
- embedding mapping,这个是之前工作写好的python script,调用一下便成;数据存储什么的在公司内部也有API
- 模型本身prediction+多进程处理+数据分片,占用比较多的计算资源但保证运行速度
- 预测出的label存进Hive,这个步骤会用SQL汇总几种数据,但具体怎么做的记不清了
最后这个shell script+所有work的python script会上传到调度平台,运行类似于crontab,定时出结果。
至于monitor等等其他问题,公司的平台上早已有service,直接用就是了。。写起来感觉自己就像个大机器上的小螺丝钉?

猜测国内的“算法工程师”更像一个SDE + Data Scientist的结合体,除了撸数据撸模型之外,开发也要会不少

评分

参与人数 4大米 +35 收起 理由
tomato217 + 3 给你点个赞!
杀G不成反被杀 + 1 赞一个
china_rmb_cs + 1 赞一个
admin + 30

查看全部评分

回复

使用道具 举报

我的人缘0
线上线下分开
回复

使用道具 举报

我的人缘0

升级   61.57%

fatfatjoey 2019-1-6 05:42:22 | 显示全部楼层
本楼: 👍   100% (2)
 
 
0% (0)   👎
全局: 👍   91% (2034)
 
 
8% (189)    👎
本帖最后由 shuyangsheng 于 2019-1-7 08:57 编辑

Serving的问题,特别是有Real-Time要求的,其实是一个很复杂的问题,确实不应该由一个DS来牵头做,还是需要更多人来一起设计。需要考虑的因素有:

1. online和offline的feature extraction步骤显然不同,一个是raw request,一个通常是大致处理过的table。这就需要设计一个interface来保证一致性。这里编程语言通常不是问题所在,要保证数据类型一致性的话可以用protobuf。

2. model evaluation需要一致性,最好是同一个模型同样的运行环境,所以micro service架构配上docker会很方便。

3. performance tracking,a/b testing,model refresh这些最好都要有,只有offline simulation的ML system是不完整的。

4. model多的话自动refresh可能需要上airflow这样的scheduling system,而且自动refresh没有人手动把关,那么模型质量的验证也要很完备。模型表现最好有实时监控。模型文件refresh的时候不能覆盖旧版本,一旦出现问题可以快速rollback。

如果model数量不多,可以考虑一下托管平台,像H2O或者Sagemaker之类的产品。


评分

参与人数 7大米 +48 收起 理由
Naruremodopris + 3 给你点个赞!
tomato217 + 3 很有用的信息!
yingcheng + 5 很有用的信息!
china_rmb_cs + 1 赞一个
Steinhafen + 3 给你点个赞!
admin + 30
PandasGZ + 3 很有用的信息!

查看全部评分

回复

使用道具 举报

我的人缘0

升级   4.5%

xiaogu1 2019-1-6 05:53:55 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   100% (9)
 
 
0% (0)    👎
我们用的也是Airflow, 非常适合multiple step workflow。
一个product用一个DAG,里面每一步都用python class包起来,比如data ingestion, feature engineering, model training等等都有自己class。python下面那些machine learning的包都可以用, 还可以用来schedule spark job. 我们的是结果最后写回到db就完事了。你这个如果real time recommendation的话,搞一个Kafka topic写回去.
Airflow基本上是我们data science own的service,跟我们main stack那些Java的东西基本无关。

评分

参与人数 6大米 +35 收起 理由
tomato217 + 1 给你点个赞!
balalalala + 1 赞一个
杀G不成反被杀 + 1 赞一个
china_rmb_cs + 1 赞一个
Steinhafen + 1 很有用的信息!
admin + 30

查看全部评分

回复

使用道具 举报

我的人缘0

升级   15.71%

arthes 2019-1-6 11:14:29 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   95% (85)
 
 
4% (4)    👎
模型简单的话用AWS sagemaker上的demo改改就好。复杂的话sagemaker也可以deploy用docker封装的模型,demo挺全的
回复

使用道具 举报

我的人缘0

升级   25.5%

Myron2017 2019-1-6 15:50:16 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   96% (297)
 
 
3% (11)    👎
Docker 封装是最常见的,这样可以仿照 Severless 的思路 deploy。 Docker 里面如果是TF会把东西都写好。
回复

使用道具 举报

我的人缘0

升级   25.5%

Myron2017 2019-1-6 15:51:54 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   96% (297)
 
 
3% (11)    👎
如果要求速度,就比较 Tricky 了,比如你可以 model 并行,数据并行,甚至把model拆开并行,推荐几个文章吧。

Clipper: A Low-Latency Online Prediction Serving System

DeepCPU: Serving RNN-based Deep Learning Models 10x Faster

Pretzel: Opening the Black Box of Machine Learning Prediction Serving Systems

评分

参与人数 3大米 +32 收起 理由
Yorkson + 1 赞一个
china_rmb_cs + 1 赞一个
admin + 30

查看全部评分

回复

使用道具 举报

我的人缘0

升级   11.5%

chenning84 2019-1-6 21:47:39 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   85% (429)
 
 
14% (71)    👎
感觉现在ML都趋向GPU based, Spark mllib  应该现在还不support GPU。 这一块应该是独立的service。 所以Python 不会有太大问题。 至于和其他模块通讯已经是很成熟了。完全看你们的设计要求。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

隐私提醒:
■拉群请前往同学同事飞友|拉群结伴版块,其他版块拉群,帖子会被自动删除
■论坛不能删帖,为防止被骚扰甚至人肉,不要公开留微信等联系方式,请以论坛私信方式发送。
■特定版块可以超级匿名:https://tools.1point3acres.com/thread
■其他版块匿名方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|||一亩三分地

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

Some icons made by Freepik from flaticon.com

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