为何数据科学团队需要通才而非专才
2019-03-26 来源:raincent
在“国富论”中,亚当·斯密通过一项钢针工厂流水线的生动例子说明了劳动分工是生产力的主要来源这一观点:“第一个人拔出钢丝,第二个人拉直钢丝,第三个人切割钢丝,第四个人削尖针头,第五个人打磨钢针。”
通过功能专业化,每位工人都变得非常娴熟于其所专一的任务,从而提高了效率。人均产出增加了,工厂生产钢针的效率也变得极高。按职能划分的这种分工即使在当代社会劳动观念中也根深蒂固——我们能够迅速按照彼此专长来组织团队,数据科学领域也不例外。
一项端到端算法业务需要许多职能,因此公司通常会组建涵盖各领域专家的团队:科研人员、数据工程师,机器学习工程师,因果推理科学家等等。
专家的工作由产品经理协调,而职能之间以类似钢针工厂的方式进行交接:“一个人负责数据来源,另一人负责搭建模型,第三个人实施模型,第四个人评估模型”等等。
我们并不应该为了提高所谓生产力而优化我们的数据科学团队。除非是在当你明确知道你正在做什么并且为了寻求提高效率,毕竟流水线的目标是执行。
在亚当斯密的例子中,我们很明确地知道我们想要什么,人们想到的任何产品和服务都给出了相应的要求,这些要求完整地描绘了产品及行为服务的方方面面。只有这样,员工才能有效的执行他们相应的职责。
但数据科学的目标不是执行,恰恰相反,数据科学的目标是学习并发展更先进的新业务能力。
比如设计出无法被预先设计的算法产品和服务,类似于推荐系统,客户参与引导,风格偏好分类,尺寸匹配,时装设计系统,物流优化,季节性趋势检测等。这些产品都比较新奇且具有不确定性。
没有现成的蓝图可供遵循。系数,模型,模型类型,超参数...你需要的所有这些组成部分都必须通过实验,反复试错以及不断迭代来学习。
对于钢针工厂而言,学习与设计是在制造开始之前就被完成的。而对于数据科学而言,你可以随用随学,并不非得在应用之前就全部学会一切。
在钢针工厂这种学习在前的模式中,我们既不期望也不需要工人在产品的任何方面即兴发挥;我们只需要工人们更高效地进行生产。按功能分部门是有意义的,因为任务专业化可以提高流程效率和生产一致性(也即最终产品高度标准化)。
但是,当产品仍在不断发展,并且目标是学习时,这样的分工专业化至少会在以下几个方面阻挡我们实现目标。
协调成本增加
协调成本分担在沟通、讨论、证明和取舍工作时的时间里。这些成本与所涉及的人数呈超线性关系。当数据科学家按职能分组,每次更改以及每次交接等都会使协调成本很高。
例如,统计建模专家每次想要尝试新功能都必须与准备数据集的数据工程师协调。同样,每个训练过的新模型都意味着建模者需要有人协调部署。
等待时间增加
比协调成本更加讨厌的是每项工作之间等待的时间。比如举行会议、讨论、设计评审所需的时间,等待时间通常以数天或数周甚至数月来衡量!
专家们的时间表很难协调,因为每个专家都必须配有数个项目。一个小时的讨论变化的会议可能需要数周才能排上日程表。而且,一旦对变化做出调整,实际工作本身也需要在多个其他项目争夺专家时间的情况下进行安排。
内容缩小
分工可以通过奖励人们留在他们的“本专业”来人为地限制学习。例如,被委任保持在其职能范围内的研究科学家需要把精力集中在试验不同类型的算法上。如:回归、神经网络、随机森林等等。
虽然良好的算法选择可以带来改进,但是,通过集成新数据源等其他活动,通常可以获得更多收益。同样,科学家可能会开发一种能挖掘出数据携带的所有信息的模型。然而,其较大的机会可能却在于改变目标函数或松弛某些约束条件。
当科学家的工作职能受限时他们很难看到或做到这一点。研究科学家专注于优化算法,因此他们不太可能追求其他任何东西。
当数据科学团队像钢针工厂一样运行时,某些症状就会出现。等待数据管道更改”和“等待机器学习资源”是常见的阻碍工作的状态。数据科学团队过度专业化可能会让团队成员错失更多学习的机会。
解决这个问题的办法就是摆脱各司其职的工厂模式。
为了促进学习和迭代,数据科学家们应有更全面的角色,广泛的职责与专业技术实质上并不冲突。
组织构架需要促使数据科学家们不断学习。这意味着招聘“全栈数据科学家” ,也就是“通才”,从概念到建模,从实施到测试。
当组织方式不同时,这样的激励措施能更好地将学习与效率保持一致。例如,假设你有一个需要实现三个业务功能的三人小组。在各司其职的工作模式下,三位员工致力于每项技能,且没有其他人可以完成他们的工作。而在全栈的工作模式中,每个通用数据科学家都致力于其业务方向,这样就增加了规模,也有助于学习能力的提高。
由于等待环节的人数减少,协调成本直线下降。通用数据科学家在各职能之间流动,扩展数据管道以处理更多的数据,尝试在模型中添加新功能,将新版本部署到生产环境进行因果测试,并在新想法出现时能够立即重复以上步骤。因此,迭代周期会下降。
我们的全才专家可能不像任何一个职能部门的专家那样娴熟。但我们并不寻求实现某一种卓越的职能或小幅度的优化。相反,我们寻求学习和发现具有阶梯式变化影响的全新业务能力。
凭借整体解决方案的完整背景,通用数据专家可以看到单一领域专家无法看到的机会。去尝试更多的创新, 尽管失败,但失败成本较低,有利于快速迭代和激励学习。
值得注意的是,赋予全栈数据科学家的这种自主性和技能的多样性在很大程度上取决于一个假设的可靠数据平台。
构建良好的数据平台能将数据科学家从应用容器、分布式处理、自动故障转移和其他高级计算机科学概念的复杂性中抽离出来。
除此之外,强大的数据平台还可以为实验基础架构提供无缝衔接、自动化监控和警报、自动扩展的功能,并实现调试输出和算法结果的可视化。这些组件由数据平台工程师设计和构建,但很明显,数据科学家和数据平台团队之间没有任何交接。
全栈数据科学模型依赖于优秀的人才,他们不是独角兽,它们既可以被发现也可以被制造出来。这种人才的需求很大,因此,强大的公司价值观, 有竞争力的薪酬以及有趣的工作才是吸引此类人才的关键。
正因如此, 通用人才自身在工作中所展现的自主性、掌控力和目的性也是提高他们对工作满意度的关键因素,因为他们不依赖别人取得成功,并且可以掌握端到端的业务能力,并且可以有目的性的完成自己的项目以获得成就感。
相关报道:
https://hbr.org/2019/03/why-data-science-teams-need-generalists-not-specialists
标签: [db:TAGG]
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。