Skip to content

Latest commit

 

History

History
225 lines (113 loc) · 15 KB

mature-machine-learning-team.md

File metadata and controls

225 lines (113 loc) · 15 KB

建立成熟的机器学习团队

原文:www.kdnuggets.com/2020/03/mature-machine-learning-team.html

评论

张纪超,Georgian Partners 的软件工程总监撰写

虽然新员工的知识和技能可以推动单个项目的成功,但良好的流程才能推动整个项目组合和团队的成功。在创建流程时,与团队合作,专注于采取小步骤和快速迭代想法,而不是重大突破。


我们的前 3 个课程推荐

1. Google 网络安全证书 - 快速进入网络安全职业生涯。

2. Google 数据分析专业证书 - 提升你的数据分析能力

3. Google IT 支持专业证书 - 支持你们组织的 IT 工作


你还需要选择最适合你们目标的技术栈。技术不应替代良好的流程和合适的团队。相反,在你实施流程时,寻找能够提高效率的技术。

在创建流程时,与团队合作,专注于采取小步骤和快速迭代想法,而不是重大突破。

成熟度框架是如何工作的?

建立机器学习团队并非易事。我们的 ML 框架模型展示了构建团队的演变过程,并提供了在成熟过程中应关注的重点指导。

共有五个级别。

在每个级别,你的组织都将面临一套独特的挑战,无论是制定战略、增加新员工,还是实施更成熟的流程。

入门

首先,为你们组织内的机器学习(ML)制定战略和应用重点。在此阶段,与你的领导团队讨论以下问题:

  • 你的解决方案能够支持哪些业务流程?

  • 你的关键客户和受众是谁?

  • 你如何解决他们的日常痛点或改进

    他们的工作流程?

  • 他们寻找哪些关键见解?

  • 他们目前在哪些方面遇到困难?

  • 自动化如何改善流程和工作角色?你的用户是否定期基于数据做出决策?

与产品管理、客户成功、支持、销售以及客户本身沟通,以收集回答这些问题所需的信息。

利用收集到的信息进行头脑风暴,寻找业务自动化的机会,始终牢记最终目标是改善客户的生活。考虑如何利用你独特的数据为客户提供最有价值的见解。你可以使用价值/成本框架来优先考虑这些机会,如下面的机会矩阵所示。这使你在招聘之前能够建立优先级列表,并明确招聘的原因。

接下来,进行数据审计,以了解你的数据如何支持已识别的机会。考虑如何收集任何缺失的数据,或重新调整你的流程以收集未来使用的额外数据。请记住,一些关键的机器学习项目在所需数据到位之前无法开始。

有了愿景和策略,你就准备好进行第一次招聘,将这些计划付诸实践。

探索

让你的第一次招聘发挥作用!在这个早期阶段,将你的机器学习团队视为一个创业中的创业公司通常是更好的。通常,寻找具有广泛技能并习惯于跨机器学习开发过程工作的通才候选人更为理想。你的理想候选人应该在类似的创业环境中工作过——那些能在有限资源下创造性解决问题的人。这是因为在企业中,角色更加专业化,团队有更多资源来解决问题。你的早期招聘人员需要做一切工作,直到你准备好扩展团队。

首先,聘请或指派一名产品经理,帮助验证市场问题、制定产品需求并管理路线图。如果你招聘 PM,必须具备第一手的机器学习经验。你也可能找到一位高级科学家,可以暂时担任 PM 角色。

内部分配有其优缺点。它们可以帮助团队快速了解领域和背景,但可能需要外部导师或培训资源来指导他们完成第一个机器学习项目。

接下来需要招聘的角色包括一名用于实验的机器学习科学家和一名能够支持实验、建立数据管道并将预测和模型集成到核心应用中的机器学习工程师。聘请最资深的科学家,以为你的团队设立长期成功的基础。

一名高级招聘人员可以:

  • 帮助建立和吸引一支一流的数据科学团队。

  • 通过选择最可行的途径来加速研发。

  • 推动知识产权的创建,并开发接近生产就绪的机器学习模型。

  • 高效设置工具和处理流程,并考虑规模问题。

理想情况下,你聘用的科学家还应具备数据工程技能,并能在团队扩展之前承担部分这方面的工作。以至少两名技术成员开始团队能推动更有效的头脑风暴,并平衡研究与实施之间的权衡。

利用组织中其他领域的专业知识来指导团队。科学家和工程师可以在此期间学习你的行业以及他们要解决的问题。

选择好的沟通者会带来结果。他们能够提出正确的问题,以了解你的业务,并清晰地向领导团队汇报他们的发现。一旦你的招聘到位,向包括产品、工程、营销和客户成功在内的跨职能团队提供期望的简要说明。

完成第一个项目

根据我们的经验,对于第一个项目,不必过于担心流程和工具。让团队找到解决方案并做他们需要做的事情以使第一个产品顺利推出。确保机器学习团队有灵活性选择所需的计算资源。与软件工程相比,计算需求(核心数、内存、GPU 等)变化更快,这使得预订所需的机器变得具有挑战性。云平台通常在时间和成本上更高效。

在第一个项目中,你想要建立动力,并迅速展示投资于机器学习(ML)的回报率。

寻找以下类型的项目:

  • 专注于一个使用案例

  • 可以在较高的成功率下完成

  • 可以在相对较短的时间框架内完成

这种方法还为你的团队提供了一些额外的喘息空间,以便在处理更复杂的项目之前了解业务。

尽管选择一个可能提供更高回报的项目很有诱惑,但这也是有风险的。过于雄心勃勃的项目可能需要更长的时间才能推向市场,甚至可能失败。造成延迟的原因有很多:你的数据可能比预期的更混乱,你可能会发现额外的需求,或者你可能没有部署的流程。延迟会随着时间的推移导致信心和支持的丧失,并可能对初创的机器学习团队造成致命打击。

构建

完成机器学习产品开发的完整周期后,你的下一步优先事项是建立市场推广的能力和其他机会的可重复流程。

重新审视你的优先事项,确保路线图仍然合理。验证你是否正在解决市场问题,就像你对待任何其他产品一样。早期采用者或顾问委员会可以提供帮助。然后,制定你的市场推广计划,保持对解决买家问题的关注。为所有参与购买决策的人创建买家角色。考虑他们需要看到什么才能继续前进。建立一个销售支持和营销计划,以在买家旅程中传达正确的信息。

当你开始迭代并将更多模型投入生产时,到了扩展规模并在团队中招聘更多专业角色的时候。例如,你可以引入:

  • 一位专职产品经理,如果之前是兼职角色,以制定完整的产品战略和长期路线图。

  • 一名数据工程师负责构建所有可用数据的目录,以及架构和构建数据管道。

  • 更多的数据科学家用于提升模型构建的吞吐量。

  • 一名机器学习架构师负责监督整体技术愿景和实施。

  • 一名 QA 工程师。

随着团队的成长,集中精力优化流程,以减少摩擦、提高可预测性,并促进跨功能协作。可以使用敏捷方法作为起点,但需要根据机器学习进行调整。请记住,数据科学工作不像软件开发那样可预测,需要更快的迭代。

如果整个团队一次只处理一个项目,Kanban 可以加速迭代,而不需要冗长的规划周期。可以通过团队深度探讨来鼓励知识共享,克服技术挑战。

现在是确定机器学习技术栈的时候了。生态系统发展迅速,新产品不断涌现。主要的选择包括语言(Python 或 R)、框架(Tensorflow 或 PyTorch)、云服务提供商、ETL 和部署解决方案。

阅读我们的应用人工智能原则

我们的应用人工智能原则提供了一个务实的框架,以协助在你的软件解决方案中采用机器学习及其他人工智能构件。

白皮书:

  • 为你提供了一个启动框架,帮助避免常见错误。

  • 提供成熟度模型,以便你可以衡量自己的进展。

扩展

随着团队的成熟和数据差距的弥补,新的机会将会出现。其他产品线或业务部门可能希望利用机器学习。为了把握这一势头,你需要组建新的机器学习团队。

不过,首先考虑一下组织结构。通常会组建由几个科学家、一两名工程师和一名产品人员组成的小团队。这些团队负责一个产品线或内部业务职能。尽可能寻找具备匹配这些领域的专业技能的人选。询问团队瓶颈所在,并进行调整,以在科学家和工程师之间创建良好的平衡。

对于大型数据科学组织,有三种常见模型。

  • 分散式模型:在分散式模型中,个别数据科学团队向相应的产品或业务部门汇报。这种模式允许数据科学团队与其业务相关者密切合作,但也有将数据科学团队孤立的风险。

  • 集中式模型:在集中式模型中,所有数据科学团队都向 CTO 或数据科学负责人汇报。这种方法促进了同行之间的合作,有助于招聘和知识共享。如果采用这种模型,请特别关注与业务目标的对齐。

  • 混合模型:第三种方法,已经在许多案例中成功采用,是一种混合模式,其中数据科学团队与业务伙伴紧密合作,但仍集中汇报。

查看这篇文章以深入讨论这个话题。

每个成长中的团队都会面临效率问题。随着团队的发展,抽出一些时间,远离日常的繁忙事务,专注于长期项目。例如,通过完善注释的数据目录、数据仓库和 ETL 解决方案来实现数据访问的民主化。寻求系统化地自动化工作流程中的手动步骤,提高其他工具的可用性,如管道编排和数据/模型质量监控。

随着你将越来越多的模型投入生产,你需要监控每个模型的版本并比较性能。

有关如何跟踪机器学习产品性能的一些考虑,请参阅我们《应用人工智能原则》第 5 条,了解性能目标和《信任原则》第 9 条,使信任可衡量

高级

在高级阶段,你是一个成熟的 ML 组织,拥有一个与产品和工程团队紧密对齐的 ML 团队。你的流程和工具使你能够管理生产中的多个 ML 模型。你的团队和公司被认为是你领域的思想领袖,你能够利用这一点明确区分你的竞争对手。

在此时添加一名首席工程师和一名首席产品经理,以推动由科学家领导的子团队的最佳实践。考虑任命一位数据科学负责人,以推动子团队之间的最佳实践和一致性。

作为一个高级团队,根据你的行业和使用案例,考虑以下新兴角色。

  • 随着团队和产品组合的扩展,添加更多工具以保持生产力:

  • 使用一个集中且可搜索的笔记本库来实现知识发现。

  • 添加一个可发现的功能/模型存储,以便重用。

  • 使用基于元数据的编排来跟踪数据/模型依赖关系并管理变更。

  • 构建统一的 ETL 和训练基础设施管理,以降低计算成本。

处于前沿的公司可能正在开发自己的 ML 框架,以填补开源和商业工具的空白,并可能将最新的 ML 研究部署到生产中,以建立强大而独特的产品。

为什么使用成熟度框架?

我们的成熟度框架允许处于 AI/ML 成熟路径上的公司对当前状况进行诚实评估,并了解达到下一个阶段所需的措施。

原文。经许可转载。

简介: 季超是我们的软件工程总监,并且是 Georgian Impact 团队的成员。在这个角色中,他领导我们的内部软件工程工作,并支持投资组合参与。在加入 Georgian Partners 之前,季超是亚马逊的软件开发工程师,他在设计和开发数据平台、商业分析和机器学习系统方面工作,以支持供应链优化和履行。在亚马逊之前,季超是 Bloomberg 的高级软件开发人员,他设计并实施了 Bloomberg Tradebook 股票交易系统的软件组件,并倡导 OOD/OOP/C++的最佳实践。他还曾是 IBM 的高级软件开发人员,致力于编译器技术、编程语言实现和测试失败调查的专家系统。

相关:

更多相关内容