为什么数据科学团队需要通用而不是专家

图片
渡边广史/盖蒂图片社

在《国富论》中,亚当·史密斯(Adam Smith)展示了劳动分工如何成为生产力增长的主要来源。 一个例子是一家工厂的生产销的装配线:“一个工人拉电线,另一个工人拉直电线,第三个切割,第四个削尖末端,第五个研磨另一端以适合头部。” 由于专注于某些功能的专业化,每位员工都可以在其狭窄的任务中成为高素质的专家,从而提高了流程的效率。 每个工人的产量增加了很多倍,工厂的销生产效率更高。

即使在今天,这种按功能划分的工作也根深蒂固,以至于我们迅速组织了相应的团队。 数据科学也不例外。 复杂的算法商机需要许多劳动职能,因此公司通常会创建专家团队:研究人员,数据分析工程师,机器学习工程师,因果关系相关的科学家等。 产品经理协调专家的工作,并以类似于销工厂的方式进行功能转移:“一个人接收数据,其他人对其建模,第三人执行数据,第四项措施”,依此类推,

las,我们不应该优化我们的数据科学团队来提高性能。 但是,当您了解所生产的产品:销子或其他产品时,就可以这样做,而只是努力提高效率。 流水线的目的是完成任务。 我们确切地知道我们想要的是什么-这些是别针(例如Smith的例子),但是您可以提及任何产品或服务,其中要求完全描述了产品及其行为的各个方面。 员工的职责是尽可能有效地满足这些要求。

但是,数据科学的目标不是完成任务。 相反,目标是探索和开发强大的新商机。 不能预先开发算法产品和服务,例如推荐系统,客户交互,样式偏好,尺码,服装设计,物流优化,季节性趋势检测等。 必须对其进行研究。 没有可复制的图纸,这些是具有固有不确定性的新功能。 系数,模型,模型类型,超参数,所有必要元素都应使用实验,反复试验以及重复进行研究。 使用大头针之前,要先进行培训和设计,直到制造出来。 使用数据科学,您可以在过程中学习,而不是在过程中学习。

在销厂,首先进行培训的时候,除了提高生产效率外,我们不希望工人不要即兴发挥产品的任何特性。 任务的专业化是有意义的,因为它可以提高流程效率和生产协调性(无需更改最终产品)。

但是,当产品仍在开发中并且目标是培训时,在以下情况下,专业化会干扰我们的目标:

1.这增加了协调费用。

也就是说,在沟通,讨论,论证和确定需要优先处理的工作所花费的时间中产生的那些费用。 这些成本与所涉及的人数成线性比例关系。 (正如J. Richard Hackman教导我们的那样,关系数r按照以下等式增长,类似于成员数n的函数:r =(n ^ 2-n)/2。每个比率都显示出一定数量的成本比率)。 当按职能组织数据分析专家时,在每个阶段,每次变更,每次服务转移等方面都需要。需要许多专家,这增加了协调成本。 例如,想要尝试新功能的统计学家将不得不与数据处理工程师进行协调,这些工程师每次尝试新事物时都会补充其数据集。 同样,每个新的训练有素的模型都意味着模型开发人员将需要与之协调的人将其投入使用。 协调成本充当了迭代的费用,这使它们变得更加困难和昂贵,并且更有可能迫使研究被放弃。 这可能会干扰学习。

2.这使等待时间复杂化。

比协调成本还要可怕的是,两班之间浪费的时间。 协调成本通常以小时为单位:进行会议,讨论,项目审查所需的时间-等待时间通常以几天,几周甚至几个月来衡量! 职能专家的时间表很难统一,因为每位专家应分布在多个项目中。 一个小时的会议讨论更改可能需要数周才能精简工作流程。 在同意更改之后,有必要在占用专家工作时间的许多其他项目的背景下计划实际工作。 只需花费几个小时或几天即可完成的修改代码或研究的工作,可能需要更长的时间才能获得资源。 在此之前,迭代和学习都将暂停。

3.缩小了范围。

劳动分工可以通过奖励留在专业领域的人员来人为地限制学习。 例如,必须留在其功能范围内的研究科学家将把精力集中在使用各种算法进行的实验上:回归,神经网络,随机森林等。 当然,选择好的算法可以带来逐步的改进,但是通常,可以从其他活动(例如集成新数据源)中学到更多。 同样,这将有助于开发一个模型,该模型使用数据固有的解释力。 但是,其优势可能在于改变目标函数或放松某些限制。 当她的工作有限时,很难看或做。 由于专业科学家专注于优化算法,因此即使带来显着收益,他执行其他任何事情的可能性也大大降低。

让我们命名数据科学团队像引脚工厂一样工作时出现的标志(例如,在简单的状态更新中):“等待数据管道更改”和“等待ML Eng资源”,它们是常见的阻止者。 但是,我相信,更危险的是您尚未注意到的事情,因为您不会后悔自己不知道的事情。 达到无可挑剔的要求满足和因实现流程效率而实现的自满情绪,可以掩盖组织不熟悉他们错过的学习所带来的好处这一事实。

当然,解决此问题的方法是摆脱工厂引脚方法。 为了刺激学习和迭代,数据科学的角色应该是常见的,但要承担与技术功能无关的广泛职责,即组织数据专家,以便针对学习进行优化。 这意味着有必要雇用“全职专家”-可以执行各种功能的普通专家:从概念到建模,从实现到度量。 重要的是要注意,我不认为雇用全职专家时应减少员工人数。 最有可能的是,我只是假设当他们采用不同的组织方式时,他们的激励机制会更好地与培训和有效性的好处保持一致。 例如,您有一个由三个人组成的团队,他们具有三种业务素质。 在工厂生产销钉的过程中,每位专家将把三分之一的时间投入到每项专业任务中,因为没人能胜任这项工作。 在一个完整的堆栈中,每个通用雇员都全心全意地致力于整个业务流程,工作扩展和培训。

由于支持生产周期的人员减少,因此减少了协调。 该旅行车可在功能之间顺畅移动,扩展数据管道,添加更多数据,在模型中尝试新功能,在生产中部署新版本以进行因果度量,并在出现新创意时立即重复步骤。 当然,旅行车顺序地而不是并行地执行不同的功能。 毕竟,这只是一个人。 但是,该任务通常仅花费访问另一种专用资源所需时间的一小部分。 因此,减少了迭代时间。

我们的旅行车在特定的工作职能上可能不像专家那样熟练,但是我们不追求卓越的功能或少量的增量改进。 相反,我们努力研究并发现逐渐受到影响的新专业挑战。 有了完整解决方案的整体背景,他看到了狭窄的专家会错过的机会。 他有更多的想法和更多的机会。 他也失败了。 但是,失败的成本很低,学习的好处也很高。 这种不对称促进快速迭代并奖励学习。

重要的是要注意,这是自主权的规模以及为全栈工作的科学家提供的各种技能,在很大程度上取决于您可以使用的数据平台的可靠性。 一个经过精心设计的数据平台使数据科学家摆脱了容器化,分布式处理,自动转移到另一种资源以及其他高级计算机概念的复杂性。 除了抽象之外,可靠的数据平台还可以提供与实验基础设施的畅通无阻的连接,自动执行监视和报告系统,并自动缩放和可视化算法结果以及调试。 这些组件是由数据平台工程师设计和创建的,也就是说,它们没有从数据科学专家转移到数据平台开发团队。 数据科学专家负责启动该平台的所有代码。

我也曾经对使用流程效率来进行职能分工感兴趣,但是通过反复试验(没有更好的学习方法),我发现典型的角色对学习和创新有更好的贡献,并提供了正确的指标:发现并建立大量的商业机会专业的方法。 (学习这种组织方法比我经历的反复试验方法更有效的方法是,阅读艾米·埃德蒙森(Amy Edmondson)的书《团队互动:组织如何在知识经济中学习,创新和竞争》。

有一些重要的假设可以使该组织的方法在某些公司中或多或少可靠。 迭代过程降低了反复试验的成本。 如果错误的代价很高,则可能需要减少错误(但不建议在医疗应用或生产中使用)。 另外,如果要处理PB级或EB级的数据,则可能需要专门设计数据。 同样,如果保持在线商机及其可访问性比改善它们更重要,那么功能卓越性可以超越学习。 最后,全栈模型基于了解它的人的意见。 他们不是独角兽。 您可以自己找到或准备它们。 但是,它们的需求量很大,要吸引和保留它们在公司中,将需要有竞争力的财务补偿,可持续的公司价值和有趣的工作。 确保您的企业文化可以提供这些条件。

即使说了这么多,我相信全栈模型为启动提供了最佳条件。 从他们开始,然后只有在绝对必要时才有意识地朝着职能分工迈进。

功能专业化还有其他缺点。 这可能导致工人丧失责任感和消极情绪。 史密斯本人批评劳动分工,认为这导致人才的枯燥,即 工人变得无能为力,退缩了,因为他们的角色仅限于一些重复性的任务。 虽然专业化可以确保流程效率,但是激发员工的可能性较小。

反过来,通用角色提供激发工作满意度的一切:自治,技能和决心。 自主性是他们在获得成功方面不依赖任何东西。 精通在于强大的竞争优势。 决心是影响他们创建的业务的能力。 如果我们设法使人们摆脱工作,对公司产生重大影响,那么其他一切都会落到实处。

Source: https://habr.com/ru/post/zh-CN450420/


All Articles