数据科学家和机器学习工程师如何有效协作是一个困扰许多公司的问题。在前不久于旧金山举行的 MLConf 大会上,Quora 工程副总裁 Xavier Amatriain 介绍了他们应对这一问题的方法。近日,他又援引Quora 数据科学家 William Chen 的说法进一步阐述了 Quora 的做法。
按照 William 的说法,在 Quora,机器学习工程师是工程部门的组成部分,而数据科学家是数据科学部门的组成部分。工程部门负责构建产品和算法,并保证其快速可靠地运行,而数据科学部门负责理解 Quora 的数据,并指导产品决策。但机器学习工程师和数据科学家都会参与机器学习项目,他们的工作主要有如下两个方面的差别:
- 机器学习工程师构建、实现和维护机器学习系统;
- 数据科学家进行研究,提出有关机器学习项目的构想,并通过分析了解机器学习系统对公司指标的影响。
更具体地讲,机器学习工程师负责:
- 构建和实现机器学习系统;
- 维护机器学习系统,包括速度、可靠性和性能;
- 开发供内部(机器学习工程师和数据科学家)使用的机器学习框架,为了一些常见任务(如训练 / 测试)提供便利。
数据科学家负责:
- 评估潜在的或现有的方法、功能、算法或误差度量指标,帮助改进机器学习系统;
- 分析机器学习算法对公司关键指标的影响;
- 通过构建机器学习模型(仅用于一次性分析而不放入生产环境)研究和了解用户行为模式。
通常,机器学习项目会同时配备数据科学家和机器学习工程师。在 Quora,他们通过如下三个步骤实现合作:
- 数据科学家进行研究,确定机器学习系统可能的需求或改进项;
- 机器学习工程师构建、实现或改进机器学习系统;
- 数据科学家评估机器学习系统对公司关键指标的影响。
对于 William 的说法,Xavier 作了一些补充。他认为,机器学习团队和数据科学团队的界限很模糊。他更喜欢谈论两者的工作重心,而不是界限,因为定义团队的目标是明确重点,而不是制造分歧。同样地,机器学习工程师和数据科学家的界限也不清晰,那取决于个人的职业选择和背景。例如,机器学习工程师并不一定是个编码专家,他可以是一个有丰富机器学习经验的人。数据科学家同样如此。
感谢杜小芳对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。
评论