1.1.2 开发周期中的角色

在对典型开发周期中的每个步骤有了清晰的了解后,让我们来看看在这个周期中合作的关键角色。每个角色的定义、职位和职责可能因组织而异。因此,一定要厘清在组织中什么人负责什么事务,并相应地调整系统的设计。

1.业务利益相关者(产品负责人)

许多组织将利益相关者角色分配给多个职位,如产品经理、工程经理和高级开发人员。业务利益相关者定义产品的业务目标,并负责沟通和执行产品开发周期。以下是他们的职责:

● 从深度学习研究中获取灵感,讨论在产品中应用深度学习特性的潜力,并推进驱动模型开发的产品需求。

● 把握产品!与客户沟通,确保工程解决方案符合业务要求,并实现预期效果。

● 协调不同角色和团队之间的跨职能合作。

● 进行项目开发执行;在整个开发周期中提供指导或反馈,确保深度学习特性能为产品的客户提供真正的价值。

● 评估产品指标(例如,用户流失率和功能使用情况),而不是模型指标(精确度或准确度),并推动模型开发、生产部署或产品集成的改进。

2.研究人员

机器学习研究人员负责研究和开发新颖的神经网络架构。他们还负责开发改进模型精度和训练效率的技术。这些架构和技术可以在模型开发过程中发挥作用。

注意 机器学习研究人员这一角色通常与谷歌、微软和Salesforce等大型科技公司相关联。在许多其他类型的公司中,由数据科学家担任类似的角色。

3.数据科学家

数据科学家可能会充当研究者的角色,但在大部分时间里,他们将业务问题转化为机器学习问题,并使用机器学习方法进行实现。数据科学家的动力来自产品的需求,并将研究技术应用于生产数据,而不是标准基准数据集。除了研究模型算法,数据科学家的职责还包括:

● 将不同研究中的多个深度学习神经网络架构和技术结合成解决方案。有时除了纯深度学习外,他们还应用其他机器学习技术。

● 探索可用数据,确定有用的数据,并决定在供训练之前如何预处理数据。

● 使用实验性代码,尝试不同的方法来解决业务问题。

● 将模型原型代码转换为具有工作流自动化的生产代码。

● 遵循工程流程,通过使用深度学习系统将模型推向生产。

● 对可能有助于模型开发的任何额外数据需求进行迭代。

● 持续监测和评估生产中的数据和模型性能。

● 解决与模型相关的问题,如模型降级。

4.数据工程师

数据工程师协助收集数据,并建立用于连续数据摄取和处理的数据流水线,包括数据转换、丰富和标注。

5. MLOps工程师/机器学习工程师

MLOps工程师在多个领域担任多种角色,包括数据工程师、DevOps(运维)工程师、数据科学家和平台工程师。他们建立和运行机器学习基础设施(包括系统和硬件),管理自动化流程以创建数据集、训练和部署模型。MLOps工程师还监控ML基础设施和用户活动,如训练和服务。

正如你所看到的,MLOps很困难,因为它要求使用者掌握跨软件开发、运维、维护和机器学习开发的一系列实践。MLOps工程师的目标是确保机器学习模型的创建、部署、监控和维护高效可靠。

6.深度学习系统/平台工程师

深度学习系统工程师构建和维护机器学习基础设施的通用部分——这部分也是本书的主要关注点,以支持数据科学家、数据工程师、MLOps工程师和AI应用的所有机器学习开发活动。机器学习系统的组成部分包括数据仓库、计算平台、工作流编排服务、模型元数据和过程数据存储、模型训练服务、模型部署服务等。

7.应用工程师

应用工程师构建面向客户的应用程序(前端和后端),以满足给定的业务要求。应用逻辑将根据给定客户请求的模型预测做出决策或采取行动。

注意 在将来,随着机器学习系统(基础设施)的不断成熟,涉及深度学习开发周期的角色将逐渐合并,变得越来越少。最终,数据科学家将能够独立完成整个周期的工作。