写在2023年 - 你为什么不该选择Data Science

avatar 370268
incery
91686
93
2022年的这个时候,楼主断断续续码完了《你为什么不该选择DS》系列,有幸在多个平台得到了大家的一致好评。
说来也巧,恰好在一年后的今天,突如其来的想法促使我打开这个贴子。一年过去市场风云突变,楼主也在职场中获得了更多的理解与感悟,不妨从此入手,立足于2023年对原贴做一些更新和汇总。

博主作为“资深ds学生”,体验过DA, DS, Applied Researcher, MLE, ds consulting;当年找工季几乎面过了所有ds能申请的岗位类型。本贴主要为楼主对当前DS教育的看法,无意参与对data science整个领域的价值判断。

DS都对应什么岗
Data Science领域岗位命名的混乱由来已久。虽然网络上介绍岗位区别的post已经难以胜数,但在2023年这个时间点,为了本贴的讨论clarity,我们或许有必要从这个话题讲起:
我给ds学生找工的岗位分为大致以下6类:
1. data analyst (Almost no ML)
2. product data scientist(Almost no ML, more statistics, more experiment design)
3. data scientist (experiment and decent ML, rarely DL)
4. applied scientist/applied researcher/research scientist (ML, mostly DL, more modeling)
5. machine learning engineer / sde ml (ML, mostly DL, more coding)
6. sde、swe (No ML/DL, or ML infra only)
(此外还有一个常见岗位data engineer,但此岗更偏向于data pipeline和 infra的工作,拿出来单独分类较好)

虽然上述的分类无法完美定义市场上的所有data类工作,各公司也不可能按此定义来给岗位命名;但根据其工作内容可以相对容易地进行mapping:比如Meta的dsa实际上更偏da,而core data science可以理解为research scientist。

这6类title,基本可以涵盖DS专业90%以上的工作出路。对coding能力的要求按1-6递增,而在工资水平方面1-4递增;4,5,6对同等学历的candidate给出的工资差别其实不大,as/rs的上限一般略高一点。
1. Data Analyst:工作大多以分析数据为导向,绝对的核心技能是sql,同时会使用一些python和数据可视化工具,几乎不会有使用ML的机会。会有很多试验指标分析,看板搭建,和来自不同业务方对于业务数据分析的需求。
2. Product DS: 该类岗位往往存在于数据建设较完善的tech中大厂,虽然他们日常工作不太需要用到ML,但也绝非仅限于写写SQL,画画dashboard,跑跑A\B testing。工作内容可能会包括metric definition , measurement and tracking。这类岗位,往往涉及复杂实验的设计和因果推断。工作复杂度高于DA,往往不使用ML,但又需要较强的统计背景和业务知识。即便是A\B Testing, 也有很多复杂的问题需要研究:怎么设计这个实验,实验中有哪些问题需要规避(ab testing 中坑很多比如dilution effect, network effect都是最基本的)
3. Data Scientist:对da和ds最简单粗暴的区分在于ds一般会使用ML;ds和as/rs/mle的区别则在:ds往往不会长期own一个model去持续改进,而很多时候后者会持续在一个业务模型上进行优化。在对岗位定义尚不明确的年代,ds下能做统计分析,上能做机器学习,俨然吊打各路。但随着DL的快速发展和业界需求的变化,ds的生存空间正在被快速挤占——而这也正是我会在后续文章中展开介绍的。
4. As/Rs:这类岗位既要会ML, DL模型开发和优化,又要懂得一些模型的部署和线上指标。一般负责产品某个功能核心算法模型,目前多数都是DL为主,当红支柱包括CV, NLP, 和推荐。工作内容往往会包括对模型结构的优化,因此需要读paper来跟上业界和学界的发展,对PhD有很强的偏好。
5. MLE/SDE ML: 这类title和as/rs其实差别不大。在A公司as或许更像mle,而B公司mle或许research做的比RS更好。但我的区分是MLE相对做更少的modeling,而更多的注重在ml pipeline的开发和部署。小厂往往没有精力去做业界领先的开发,往往只需要mle title来做业务;大厂RS来提升模型,其余的开发和部署留给MLE。
6. SDE: 这个title非常好理解,基本就是开发。有些厂会把做ML infra的岗位称作MLE, 但实际上这类岗位几乎不需要ML,DL的经验,所以不如归类到SDE来避免混淆。

DS就业面非常广,是这样吗?
对于心存好奇或刚刚进入Data领域的新同学来说,往往会存在一个常见的迷思:Data Science现在就是万金油,毕业后又能做DA,又能做DS, 我的学长学姐还有做MLE, SDE进大厂的。但非常sorry,理想是美好的,现实是残酷的。

DS对口岗位的分化之大,使得多数找工的申请者,只会专注于一类或者两类title。 常见的组合包括:
1. DA\DS
2. DS\MLE
3. MLE\RS\AS
4. MLE\SDE
在了解工作分类之后,那么破除这条迷思的道理在这里就非常浅显了: 对申请DA的朋友来说,往往不具备足够的ML和coding能力去申请MLE。而MLE\SDE的申请者,又为何要去考虑DA之类的岗位呢? DS所谓的“就业面广”,“胜任多种职位”完全是一个伪命题。就业面再广,你毕业时也就找那几个岗位,和你又有什么关系?

Data Science 的悲歌 - 定位迷失和教育脱节
如果要选择一个Data Science入行的黄金年份,我会说:2016年。

在那一年,AlphaGo和李世石的对弈震惊世界,各公司纷纷在人工智能领域发力,各种AI Lab如雨后春笋般出现。 彼时,PyTorch和TF日后的两大框架发布才不到一年,业界对DS、AI、ML的认识尚不清晰,却又有着巨大的需求。开设DS项目的学校为数不多,接受过完整DS、ML科班训练的candidate还是稀有动物。 会传统的ML算法,对深度学习有一定的了解,在当时或许就能找到一份不错的工作。这并非是对当年入行前辈的羡慕嫉妒恨 —— 在一个领域高速发展的前夜,率先进入的先行者自然可以享受到这份红利。 而Deep Learning 的全面爆发,是多数人始料未及的。

当大量学生蜂拥进入DS领域,各学校也纷纷开始相关项目分一杯羹时,大家或许难以想到,Deep Learning的快速爆发可以让DS教育在几年间变得尴尬无比。 在DS项目常见的构想中,概统、Database、数据结构\算法、ML作为必修,辅以几门选修课的设计,足以让学生毕业后找到一份使用机器学习的工作。然而DL的全面发展,使得“左会统计分析,右能机器学习”的美好期望,已经全面落后于业界,特别是tech行业的实际需求。

近年来AI领域的三大支柱无非是CV,NLP,搜广推 (RL,security,生物医学等领域非常重要,但目前相关的盘子太小,业界难以提供足够多岗位;没有说其他方向不重要的意思)。但这三大领域和DS特别是DS教育又是何种关系呢?
(22年后的Generative AI算是一个新的增长点,但这毫无意外跟Data Science关系更少了。楼主稍后将会对此专门讨论。)

当各种net出现后,传统的image analysis几乎销声匿迹。Transformer的一统江湖,把统计机器学习和基于语义学的NLP吊打的体无完肤。 若是以博主本人熟悉的推荐领域为例:
微软 Deep Crossing 2016 年
Google Wide&Deep 2016 年
华为 DeepFM 2017 年
Google MMoE 2018年
当deep learning 被业界广泛接受之后,拿logistics、svm甚至FM来做CTR预估简直成了笑话。

说了这么多,楼主的一个观点到这里可以图穷匕见了:
Deep Learning的完胜对广义的”Data Science“来说是一个paradigm change,而data science教育则完全无法适应这样的新局面。

DS的相关项目,完全不足以提供足够的课程设计和学科深度,从而支持学生进入以DL为主的相关岗位。甚至多数项目不会把Deep Learning列为core,intro level的NLP语言学模型就能教半学期,在校内可以接触到分布式计算的DS项目又有几个?DS学生相对羸弱的CS能力,更是越来越难以应付tech大厂对DL开发和部署的需求。
当业界对岗位能力的细分加深,首先淘汰的将是只掌握传统ML和简单DL的candidate。如果说业界在几年前笼统的AI人才可以一把抓,但如今早已分化出专精模型的Research Scientist、偏向开发部署的MLE,前者往往需要PhD级别的学术训练和数理基础,后者则偏好强悍的coding能力。
高不成低不就的DS学生,其实只有三条路:
1)读PhD或者运气好,实力真的强,卷进大厂做RS、AS
2)要么退而求其次进入基建缺乏的小厂或者传统行业
3)要么选择几乎不需要ML能力的、名为DS实为DA的类似岗位

那么我的问题是,这样的DS教育存在的意义是什么?为什么不选择统计或者CS?

如果从统计学教育的角度出发,在多数DS教育的设计中,统计课程所占的份额,如果不是远少于CS,也不过是勉强和CS齐平。这样的项目本质不可避免的带来两个问题:

(a) DS项目本身、以及许多DS学生的期望,就是通过就读该项目找到一份使用ML的工作。虽然业界的变化使得这个期望渐行渐远,但并不能改变多数DS项目较强的ML属性(or at least偏好)。

(b) 如果想做product DS, 进行实验设计、指标构建、causal inference等工作,所需的统计基础又超出了DS项目提供的课程。除了基础的统计课程外,Econometrics、Causal Inference等topic,我没听说有什么ds项目会去主动涉猎。而product DS所需的产品经验和嗅觉,更和DS项目培养出的ng没什么关系。我想target这类岗位的candidate,如果是统计出身反而更合适。

补充内容 (2023-03-23 07:42 +08:00):
看到这里求加个米
93条回复