Quora数据科学家和机器学习工程师是如何合作的

jopen 9年前

 

数据科学家和机器学习工程师如何有效协作是一个困扰许多公司的问题。在前不久于旧金山举行的MLConf大会上,Quora工程副总裁 Xavier Amatriain 介绍 了他们应对这一问题的方法。近日,他又援引Quora数据科学家 William Chen的说法 进一步阐述 了Quora的做法。

按照William的说法,在Quora,机器学习工程师是工程部门的组成部分,而数据科学家是数据科学部门的组成部分。工程部门负责构建产品和算法,并保证其快速可靠地运行,而数据科学部门负责理解Quora的数据,并指导产品决策。但机器学习工程师和数据科学家都会参与机器学习项目,他们的工作主要有如下两个方面的差别:

  • 机器学习工程师构建、实现和维护机器学习系统;
  • 数据科学家进行研究,提出有关机器学习项目的构想,并通过分析了解机器学习系统对公司指标的影响。

更具体地讲,机器学习工程师负责:

  • 构建和实现机器学习系统;
  • 维护机器学习系统,包括速度、可靠性和性能;
  • 开发供内部(机器学习工程师和数据科学家)使用的机器学习框架,为了一些常见任务(如训练/测试)提供便利。

数据科学家负责:

  • 评估潜在的或现有的方法、功能、算法或误差度量指标,帮助改进机器学习系统;
  • 分析机器学习算法对公司关键指标的影响;
  • 通过构建机器学习模型(仅用于一次性分析而不放入生产环境)研究和了解用户行为模式。

通常,机器学习项目会同时配备数据科学家和机器学习工程师。在Quora,他们通过如下三个步骤实现合作:

  • 数据科学家进行研究,确定机器学习系统可能的需求或改进项;
  • 机器学习工程师构建、实现或改进机器学习系统;
  • 数据科学家评估机器学习系统对公司关键指标的影响。

对于William的说法,Xavier作了一些补充。他认为,机器学习团队和数据科学团队的界限很模糊。他更喜欢谈论两者的工作重心,而不是界限,因为定义团队的目标是明确重点,而不是制造分歧。同样地,机器学习工程师和数据科学家的界限也不清晰,那取决于个人的职业选择和背景。例如,机器学习工程师并不一定是个编码专家,他可以是一个有丰富机器学习经验的人。数据科学家同样如此。