1) machine learning/ deep learning research scientist: research on in depth topic on machine learning/ deep learning/ NLP/ CV/ IR/ Recommendation Systems etc
2) operation research scientist: research on in depth topic on opimization, network routing, pricing etc
3) economist: research on in depth topic on causal inference, mechanism design, pricing etc
偏Production方向:
4) data scientist: design metrics, evaluate model performance
5) data engineer: collect data+build data pipeline
6) machine learning engineer: productionize model developed by scientists/ or simple models
7) business intelligence engineer: dashboard, business analytics
一位网友想咨询:applied scientist和research scientist在工业界的区别是什么呢?
这些titles比如applied scientist, research scientist, machine learning
engineer, data scientist, research engineer在不同公司有些不太一样,但是其实
和ml有关的工作我感觉其实主要是下面几类:
(1)单独的centralized的做ML的组,没有直接的production任务,主要分成下面两类:(1)纯做research写最前沿论文,基本不用管公司的production:这些像是大公司
里面专门做前沿research的组是做这些的。此处一般是项目scientist带着engineer做
,此处的engineer一般叫research engineer,此处的scientist可能叫RS,可能叫AS,不同公司不一样。(2)有一个和公司production的组合作做项目,为公司内部的组提
供ML解决方案,此处一般是项目scientist带着engineer做,此处的engineer一般叫
machine learning engineer,此处的scientist可能叫RS,可能叫AS。
(2)在production组做ML,主要是下面四类:(1)负责建立ML模型,写论文,ship
into production,这类是applied scientist,同时要求有research scientist和sde
的skills;(2)负责建立ML模型。写论文,production不管,这种是research
scientist;(3)负责把research scientist的模型ship into production,这种是
MLE;(4)建立metrics来看模型的business impact或者做experimental design这类
工作的是data scientist。
不同公司现在可能title有些不一样,DS的工作范围很广,AS和RS区别很模糊,但是长
期来看,我感觉大致我描述的这种任务分工模式吧。
问:想请问一下production的定义,可以举个例子吗?
答:模型需要上线被公司的系统使用。此处就有三点:
(1)一般来说模型不能特别复杂和fancy。此处和学校academia的research不一样,
academia就不用管模型是不是需要上线,就比如它的dl模型可以非常复杂,但是
performance很好。公司里面上线的模型必须得是满足latency-constraint的
production-ready模型。
(2)越复杂的模型想上线越困难,越需要mle和infras的优化支持。
(3) 发论文的applied scientist做research的时候,把复杂模型发paper,稍微简化一些的模型上线。
问:可以说是需要被公司业务,无论是间接支持还是直接面向customer,在线使用,这样吗?间接支持我是指一般的data组对于公司业务的日常或持续性的决策支持,就是实际上是offline的model;直接面向customer,举个例子就是用online model直接评估和fliter掉fraud abuser账户这种。不知道哪种更属于production?
答:但是提到online offline模型的话,一般的ml的组模型是有online offline之分的。online有latency要求,实时得到prediction结果。就比如你说的那个fraud
detection,如果是实时跑模型,那是online的。但也有的是做成offline模型,就比如把很多predictions结果存成一个database,实时跑的时候就是lookup,而不是call哪
个模型。
问:关于你的(1)(2)两点,我工作中经常遇到的就是scientist scripts出的model有scalability的问题,换句话说,按照production的数据规模根本实现不了,我需要
重写他们的逻辑,不知道这样算ship into production吗?
答:把ds或者rs的模型重写,either语言重写:python or R to java,or模型写的很
粗糙,比如一堆for loop需要你写成numpy,那的确是你(我猜是mle)完成的ship
into production的。
我觉得tech行业research+data相关的职位之后会越来越细分,大致根据expertise会分成:
偏Research方向:
1) machine learning/ deep learning research scientist: research on in depth topic on machine learning/ deep learning/ NLP/ CV/ IR/ Recommendation
Systems etc
2) operation research scientist: research on in depth topic on opimization, network routing, pricing etc
3) economist: research on in depth topic on causal inference, mechanism
design, pricing etc
偏Production方向:
4) data scientist: design metrics, evaluate model performance
5) data engineer: collect data+build data pipeline
6) machine learning engineer: productionize model developed by scientists/
or simple models
7) business intelligence engineer: dashboard, business analytics
现在data scientist的分工比较模糊,但是长期来看如果想在工业界做research(包括applied research),需要有上述的一些domain的expertise。你如果现在是ds或者mle想长期发做research,工作了也一定要compound自己,一定要发paper一定发paper!