当前位置: 首页 > 科技观察

如何打造高效的人工智能团队?_0

时间:2023-03-18 13:07:52 科技观察

翻译|朱宪忠审稿人|梁策孙淑娟介绍本文将介绍如何整合机器学习基础设施、员工和流程,以实现适用于企业的MLOps(人工智能系统运维管理)。本文希望能启发旨在与高性能AI团队一起开发强大的人工智能/机器学习(AI/ML)项目的经理和主管。本文经验来自Provectus的人工智能团队,与众多处于人工智能技术不同发展阶段的客户成功合作。什么才算是平衡的AI团队?几年前,数据科学家负责AI/ML(人工智能/机器学习)项目的很大一部分工作。虽然一些团队依靠更高级的角色和工具的组合来完成任务,但数据科学家在他们的笔记本电脑上处理相关模型已经成为常态。如今,仅仅聘请数据科学家已不足以快速、高效、大规模地将可行的AI/ML项目投入生产。更现实地说,这些项目最好由具有多个角色的跨职能、高性能团队协作完成——每个角色只负责处理自己的ML基础设施和MLOps部分。数据科学家,或公民数据科学家,仍然是现代团队不可或缺的成员。数据科学家是负责理解数据和整个业务的主题专家。他们是数据挖掘、数据建模和数据可视化方面的实践从业者,此外还关注数据质量和数据偏差问题、分析实验和模型输出、验证假设以及为ML工程制定路线图。平衡的AI团队还应包括ML工程师,但其技能与数据科学家不同。他们应该在特定的AI和ML应用程序和用例方面拥有深厚的专业知识。例如,如果要构建计算机视觉应用程序,那么ML工程师应该对计算机视觉中的深度学习模型具有前沿和广泛的知识。理论上,每个ML工程师都应该具备MLOps专业知识,但对于ML/MLOps基础设施本身(包括相关工具和组件),最好将所有这些都交给专门的MLOps专业人员。项目经理还应接受培训以执行ML和AI项目。传统的Scrum或看板项目工作流程不再适合ML项目。例如,在Provectus,我们采用特定方法来管理ML项目的范围和时间表,并设定公司各业务利益相关者的期望。下面将更详细地探讨这些(和其他)角色中的每一个,并解释它们如何映射到ML基础架构、MLOps支持流程和ML交付方面。这里的信息是,AI团队迫切需要一个平衡的组合来实现MLOps并加速AI技术的采用。感兴趣的读者可以参考《Provectus和GoCheckKids如何合作构建ML基础设施以提高视觉筛查的可用性》(原文链接https://aws.amazon.com/cn/blogs/apn/how-provectus-and-gocheck-儿童内置ml基础设施,以提高视力筛查期间的可用性/)。构建AI团队的管理挑战除了实际的团队组成之外,有效的管理对于让AI团队与ML基础设施和MLOps基础同步至关重要。从管理的角度来看,典型的组织结构应包括以下内容:业务部门向工程副总裁和传统软件工程师报告DevOps专业人员向基础设施副总裁和基础设施专家报告处理数据的数据科学家,通常直接与业务利益相关者合作,数据工程师构建旨在将原始数据转换为数据科学家和业务分析师可用信息的系统。从上图可以看出,这种组织结构很容易带来部门孤岛等挑战,例如:1.由于公司对ML工作流程和AI项目管理的了解有限,上述团队中没有人完全了解如何将业务目标转化为投入生产的AI产品。结果,项目的边界和KPI(关键绩效指标)没有得到管理,导致无法满足业务利益相关者的期望。2.一些公司试图将人工智能项目委托给现有的数据科学团队。然而,这些团队历来在自己的孤岛中工作,并且他们依赖不适用于AI/ML项目的数据科学方法。结果,他们开发了无法部署到生产环境中的未成型产品和项目。3.其他人通常选择将AI项目分配给传统的Java和.NET程序员或利用第三方MLAPI。这种方法也往往会失败,因为他们仍然需要深入了解数据及其底层算法才能有效地使用这些API。结果,他们最终以数据科学代码的形式背负了越来越多的技术债务,这些代码从未投入生产。事实上,解决这些挑战的关键在于在人和工具之间找到适当的平衡。在本文介绍的场景中,这意味着一个平衡的AI团队能够利用端到端MLOps基础设施进行协作和迭代开发。您不能简单地聘请MLOps专家或购买MLOps平台。我们需要的是强大的基础设施和平衡的人工智能团队的结合。只有两者一起工作,你的AI/ML项目才能最终落地。平衡的AI团队和MLOps基础设施如何协同工作在平衡的AI团队和MLOps基础设施之间,一些特定角色的协同作用可以通过以下三层生态系统可视化:1.Bottom第一层MLOps是MLOps的基础设施骨干,由云和安全专家以及DevOps提供支持。该层托管基本的基础设施组件,例如访问、网络、安全和CI/CD管道。2.第二层是MLOps的可共享、可复用的资源部分。该层由ML工程师和MLOps专业人员管理,包括配备各种图像软件、内核和模板应用程序的笔记本;由被视为共享资源的组件和库组成的管道;实验;数据集和特征数据;并且有一个模型部分。这一层的每一个资源都可以被不同的团队使用和重用,加速人工智能的开发和采用。3.第三层是人工智能项目,由数据科学家、全栈工程师和项目经理领导。该层独立于其他两层,但由其他两层启用。请注意,云与安全、DevOps、ML工程师和MLOps角色位于不同的层级并相互贡献。例如:云和安全部分拥有基础设施主干,但他们也负责重用资源层,确保所有组件和检查都到位。DevOps专业人员负责底层两层自动化任务,从自动化构建到管理环境。ML工程师拥有MLOps基础设施和项目专业知识。他们负责重用资源层的各个组件。MLOps专家与ML工程师携手合作,但他们拥有整个基础设施(如亚马逊的机器学习平台服务SageMaker和谷歌的机器学习工具库Kubeflow等),最终目标是将所有东西整合在一起。同时,公民数据科学家可以优先实施特定的AI/ML项目,主要是通过笔记本工作。他们可以拥有ML管道的特定部分,但不会被迫进入MLOps的“混乱”部分。全栈工程师负责AI产品从UI到API的常规软件部分的实现,接受过ML培训的项目经理负责产品的实现。当然,以上只是抽象的表述。下图是一个参考基础设施,主要展示了基础设施骨干部分的组件。在这里,我们看到了数据科学家使用原始数据、执行数据分析和在笔记本中完成测试假设的工具。他们可以在ML工程师管理的实验环境中轻松运行实验。实验环境由特征存储、数据集生成、模型训练、模型评估和预配置数据访问模式等共享和重用组件组成。他们的舒适区。另一方面,ML工程师负责将ML模型产品化。这意味着他们能够开发将在生产环境中使用的算法代码和数据预处理代码。此外,他们可以为实验环境构建和运行各种管道。最后,DevOps专业人员可以帮助有效管理所有基础架构组件。例如,我们的参考架构中从1到4的简单数字演示了DevOps处理的CI工作流。结论在企业中真正实施MLOps需要时间和资源。最重要的是,您需要了解MLOps既关乎人员和流程,也关乎实际技术。如果能够组织具体的角色和功能,并与机器学习基础设施的相应组件相匹配,问题就不会过于复杂。请记住:人员+基础设施=MLOps。在Provectus,我们已成功帮助企业构建先进的AI/ML解决方案,培养高效的AI团队,为MLOps提供强大的基础设施支持。【注】本文作者StepanPushkarev是Provectus的CEO、CTO和联合创始人。Provectus是一家人工智能咨询和解决方案提供商,旨在帮助企业加速采用人工智能技术并促进增长。在Provectus,Pushkarev开创了行业特定人工智能解决方案的愿景,帮助重塑企业运营、竞争和交付客户价值的方式。此外,Pushkarev还是意见领袖,在机器学习、云计算和分布式数据处理系统方面拥有深厚的专业知识。他在开发专业服务业务和创建SaaS技术方面拥有出色的业绩记录。译者介绍朱宪忠,51CTO社区编辑,51CTO专家博主,讲师,潍坊某高校计算机教师,自由编程资深人士。早期专注于各种微软技术(编译成三本与ASP.NETAJX和Cocos2d-X相关的技术书籍)。/ESP32/RaspberryPi等物联网开发技术和Scala+Hadoop+Spark+Flink等大数据开发技术。原标题:人工智能的人员管理:建立高速人工智能团队,作者:StepanPushkarev