硅谷的数据科学家究竟是什么?



Original Source Here

今天在google搜索data scientist,或者what skills are needed to be a data scientist,你会被大量的信息淹没 — Medium,LinkedIn,新闻门户,做Coaching 培训的私站。所有的通用信息都会告诉我们,DS是这个时代被广泛需要的职业,成为一名DS需要掌握统计,编程,机器学习。可大量的信息真的带给我们大量的价值吗?真正的工业界的数据科学家,究竟是在做着怎样的一份工作呢?

工作是报酬与自我实现的结合,每一次的选择都是在这两条线勾勒出的空间里找准一个让我们最大化满足的点。想成为DS,或者想成为更好的DS,取决于你能在工作中提供什么样的价值,以及在职业生涯中做到怎样的自我实现。

德国人说,世界是具体的。今天我就具体聊一聊我所熟悉的硅谷科技公司,对DS的不同需求,DS的工作需要什么技能,如何在这个岗位上成长,以及查理芒格告诉我们的

如果我知道我会死在哪里,那我永远不会去那个地方

我的工作

从UIUC毕业之后,我加入了微软在硅谷的办公室,到现在已经4年。我们组负责的方向是语言模型 (Language Model), 是微软云平台Azure提供的语音识别服务的核心组成部分。

作为一名DS,我在过去的几年里给公司创造了什么样的影响和价值呢?

  • 基于深度学习Neural Network的口语化语音中不流畅语流的检测和修正系统,部署在Office系列语音实时转录服务,提高模型检测准确度26.2%,提升语音识别可读性
  • 基于深度学习Neural Network的N-gram语言模型降噪系统,降低噪音比7%
  • Bing Voice Search的深度神经网络语言模型,提高语音识别准确率16.8%

我的工作偏向于自然语言处理中的机器学习,也就是大家常说的NLP,而这只是广大DS中的一个小分支。在硅谷,不同的公司不同的组所需要的DS,技能可能是完全不一样的。下一个章节我就来聊聊大方向上硅谷对DS的需求分类。

硅谷DS的需求分类

总体来说,硅谷对于DS有三种岗位

  • Data Analyst
  • Data Engineer
  • Machine Learning Engineer

首先,这三种岗位所需要的技能是有区别的。

  • 第一种,Data Analyst。负责使用SQL等语言处理数据,总结数据并从中提取商业见解,进行数据统计的可视化,并完成基于数据分析的报告。当然,在Facebook有基于Analytics的DS岗位,主要负责设计统计实验,A/B Testing等。举个例子,我们现在设计了一套新的新闻推荐系统,那么如何知道这套新的系统能不能提高用户粘性,并且帮助我们提高用户订阅人数来增长revenue呢?这时候我们就需要基于A/B Testing思想的online evaluation以及一系列的实验设计和统计分析。
  • 第二种,Data Engineer。严格来说这是Software engineer的一个分支,主要是大规模数据基础设施的设计和建造。比如在淘宝上,每一次的浏览,点击,甚至是浏览两个商品之间的间隔时间,都是可以沉淀的实时用户反馈数据,这些数据可以帮助我们构造用户画像,更精准地推送推荐商品。而涉及到所有这些数据的存储,处理,读取,优化,就是data engineer的工作。
  • 第三种,Machine Learning Engineer。负责设计,建造大规模的机器学习系统,需要对机器学习,深度学习系统的深度理解,优秀的编程能力,以及我认为最重要的,如何把一个商业问题转化成机器学习问题。设计可量化的指标定义问题,收集并大规模处理数据,通过智能算法的迭代优化,达到机器决策提高整体表现的目的。生活中无处不在的推荐系统就是机器学习的典型应用,比如YouTube的视频推荐,Spotify的每日歌单,Amazon的商品推荐等等。除此之外,我们使用的Google Assistant、Alexa的智能语音识别和人机交互,机器翻译,智能辅助驾驶,在线广告,背后都是机器学习系统。

其次,从工资水平来说,和engineering相关的岗位总体上优于analysis,这是由市场的供需关系决定的。相对来说,通过一系列商业软件来进行图表可视化的学习曲线,低于机器学习和编程,而有真正行业经验的人才更是稀少,这就是供求端的稀缺。从需求端来看,云计算平台对于很多行业的渗透,使得大规模数据的在线化,流动化成为可能,而数据智能化的快速扩展增加了对于这方面人才的需求。

​Machine Learning Engineer >= Data Engineer >> Data Analyst​

当然,硅谷需要最多的岗位还是SDE。在很多产品里,机器学习是icing on the cake。比如我们都会用Zoom来开视频会议,一些机器学习帮助提供的功能会帮助提高用户体验和用户粘性,但从第一性原理出发,我们首先需要的是一款低延迟无障碍的视频通讯软件。除此之外,如今很多新的产品和服务完全是从数据在线化智能化的角度出发,建立工程系统,收集行为数据,通过机器学习推动系统的智能迭代升级,吸引更多用户,从而跑通数据->模型->产品的飞轮,比如抖音和AI智能教育。总的来说,工业界的机器学习系统,本质上是工程问题,而不完全是科学问题。关于这个部分,我会在之后的博文中给大家讲一些具体的例子。

DS所需要的技能

上面的技能树包含了我认为在工作中所需要用到的硬技能,根据不同岗位的需求会有不同的侧重点。当然,硬技能只是一个合格DS的基本需求。真正在工业界成长,软技能甚至是更重要的部分。如何和同事沟通,如何协作,如何写邮件开会,如何把自己的工作讲成一个好故事,如何展现领导力,如何管理自己甚至管理直系领导,如何增加自己的影响力,等等。这些是我不断思考也并且在不断学习的领域,以后有机会会在博客里与大家分享。

在面试中,一般会从以下四个方面来考察面试者

  • Coding: Python (Algorithm/Data Structure) + SQL
  • Machine Learning System Design
  • A/B Testing Design
  • Resume Projects

DS不要做什么

在很多已经拥有算法的成熟产品中,通过构想一个新算法来大幅提升产品性能,在短期内的概率是不大的。这样的机会在从传统ML到DL的转移中,尤其是拥有巨大数据规模的产品中,是存在的。或者从长期来看,我们可以期待每一个5年的算法大升级。但是在很多情况下,真正帮助我们提升模型性能的,是数据,是经过正确处理的能带来价值的新的信息。在算法普世化的今天,每个人都可以方便地调用机器学习和深度学习的算法。而精确的没有被挖掘过的新数据,是你完成工作展现价值的核心。

我们可以花费大量的时间来建立一个深度学习的模型,在线下的测试中提升了整体表现1%,但这1%可能对于线上测试,甚至是真正的商业需求,是没有任何帮助的。如何把真正的商业需求转化成数据加上机器学习的问题,如何让我们的模型指标和商业指标校准,是我们工作中首先需要思考的事情。

如果只是困于自己的一亩三分地,没有对于整体产品方向的把握,那么首先失去的是找到新的增长点的机会,其次是付出带来的回报比大幅降低。如果花了六个月的时间提升了某个指标的1%,而这个指标趋于成熟,没有人过于关注这1%,那么这个项目的投资回报比是很低的。另外,对于整体方向的不断思考可以让我们找到潜在的新机会,从而让我们成为这个方向上从0到1的设计者和实现者。

结语 + What’s Next

这是我对于数据科学家这个岗位思考的开篇。之后的系列会聊一聊机器学习的算法思想,系统设计,我(痛苦)的LeetCode刷题,和在工作中学习到的新东西。

欢迎大家关注我的个人博客www.thelimiao.com。也欢迎大家关注我的微信公众号。定期分享工作心得和加州生活。

STAY TUNED

AI/ML

Trending AI/ML Article Identified & Digested via Granola by Ramsey Elbasheer; a Machine-Driven RSS Bot

%d bloggers like this: