容器中人工智能/机器学习的工作负载:6件要知道的事情
【慧聪通信网】企业是否准备在容器中运行人工智能和机器学习工作负载?专家表示,在采用之前需要提解决一些基本问题。
人工智能/机器学习和容器是当今的两个主要IT趋势,如今已成为许多企业的主要话题。随着企业寻找更好的方法来管理他们的人工智能和机器学习工作负载,它们越来越多地结合在一起,这是通过越来越多的商业和开源技术来实现的。
ISG公司的企业技术分析师Blair Hanley Frank表示:“对于IT领导者来说,最好的消息是在容器中大规模运行机器学习的工具和流程在过去几年中得到了显著改善。现在有很多可用的开源工具、商业产品和教程来帮助数据科学家和IT团队启动和运行这些系统。”
在容器中运行人工智能/机器学习工作负载:6个关键事实
在IT领导者及其团队开始深入研究容器化人工智能/机器学习工作负载的基本技术方面之前,需要考虑一些原则。以下是六个要考虑的要点:
1.人工智能/机器学习工作负载代表工作流
Red Hat公司首席技术官Gordon Haff表示,与许多其他工作负载类型一样,人工智能/机器学习工作负载也可以被描述为工作流。从工作流的角度思考有助于阐明有关在容器中运行人工智能/机器学习的一些基本概念。
使用人工智能/机器学习,工作流程需要从数据的收集和准备开始。Haff说,“在数据被收集、清理和处理之后,接下来是训练模型的时候了,根据训练数据调整参数。在模型得到训练后,工作流程的下一步是部署到生产。最后,数据科学家需要监控模型在生产中的性能、跟踪预测和性能指标。”
Haff描述了这个工作流程,但并未低估在人员、流程和环境方面可能涉及的工作量。容器化可以通过带来更高的一致性和可重复性来简化这项工作。
Haff说,“传统上,这个工作流程可能涉及到使用不同环境的不同人员两到三次的切换。然而,基于容器平台的工作流支持自助服务,越来越多地允许数据科学家负责开发模型和集成到应用程序中。”
2.类似于其他容器化工作负载的好处
Autify公司人工智能和机器学习业务负责人Nauman Mustafa认为,容器化在人工智能/机器学习工作流背景下具有以下三个优势:
• 模块化:它使工作流的重要组成部分(例如模型训练和部署)实现模块化。这类似于容器化如何在更广泛的软件开发世界中启用更多模块化架构,即微服务。
• 速度:容器化加快了开发/部署和发布周期。
• 人员管理:容器化还可以更容易通过减少跨团队依赖性来管理团队。与其他IT领域一样,随着工作从一个功能组转移到另一个功能组,容器化可以帮助减少“交接并忘记”的可能性。
虽然机器学习模型可能与其他应用程序或服务有着不同的技术要求和考虑因素,但容器化的潜在好处非常相似。
Red Hat公司的数据科学家Audrey Reznik以提高人工智能/机器学习工作负载或解决方案的可迁移性和可扩展性(例如混合云)为例。Reznik说,“容器使用的系统资源比裸机或虚拟机系统更少,这有助于加快部署速度。我喜欢使用‘你的编码速度有多快’这句话,因为一旦完成编码,就可以使用容器部署解决方案。”
3.团队需要保持一致
只是因为使工作流程更加模块化并不意味着一切,团队成员再需要协同工作。
ISG公司的Frank说,“确保在容器化环境中参与构建和操作机器学习工作负载的团队成员协同合作。例如,运维工程师可能熟悉运行Kubernetes,但可能不了解数据科学工作负载的具体需求。与此同时,数据科学家熟悉构建和部署机器学习模型的过程,但在将它们转移到容器或继续运行时可能需要他人的帮助。”
容器化应该提高一致性和协作性,但不要将这种好处视为理所当然的。
Red Hat公司全球软件工程总监Sherard Griffin说: “在结果的可重复性至关重要的世界中,企业可以使用容器来普及人工智能/机器学习技术的访问,并允许数据科学家轻松共享和复制实验,同时符合最新的IT和信息安全标准。”
4.关注点并没有真正改变
正如容器化的许多好处对于人工智能/机器学习与其他工作负载类型大致相同一样,运营重点的重要领域也是如此。以下是需要注意的三个操作要求示例,就像其他容器化应用程序一样:
• 资源分配:Mustafa指出,随着时间的推移,适当的资源分配对于优化成本和性能仍然至关重要。如果资源分配过多,那么随着时间的推移,将会浪费更多的费用;而资源分配太少,将会遇到性能问题。
• 可观察性:仅仅因为看不到问题并不意味着不存在问题。Frank说,“确保拥有必要的可观察性软件,以了解多容器应用程序的行为方式。”
• 安全性:Positive Technologies公司机器学习工程师Alexandra Murzina说,“从安全性的角度来看,启动人工智能/机器学习解决方案与在容器中启动其他解决方案没有什么不同。”这意味着诸如应用最小特权原则(对人员和容器本身)、仅使用受信任的、经过验证的容器映像、运行时漏洞扫描和其他安全层等策略应始终放在关注事项的首位。
5.容器不会解决所有潜在问题
正如自动化不会改善具有缺陷的流程一样(只会帮助有缺陷的流程更快、更频繁地运行),容器化不会解决企业的人工智能/机器学习工作负载的根本问题。
例如,如果在机器学习模型中加入偏见,在容器中运行它们将无助于解决这个潜在的严重问题。
而容器化有着显著的优势。这些优势不应该让任何人误以为容器化可以解决所有问题。这也不仅仅是错误数据或偏见的问题。容器可以加快工作流程的各个方面,但它们实际上并没有完成所有的工作。
凯捷公司工程技术总监Raghu Kishore Vempati说。“容器对于运行人工智能/机器学习工作负载非常有益。但是只是采用人工智能/机器学习工作的负载实现容器化并不能提高模型的效率。它只是提供了一种提高与训练模型和推断模型相关的生产力的方法。”
6.在构建与购买之间进行明智的选择
与大多数技术选择一样,还有一个“应该还是不应该?”的问题,在容器化人工智能/机器学习工作负载方面的决策方面也是如此。与大多数重要的技术选择一样,选择将会付出代价。
Autifly公司的Mustafa说:“容器化机器学习工作流程会产生一些成本,这对于小型团队来说可能是难以承受的,但对于大型团队来说,其收益大于成本。”
IT领导者和他们的团队应该带着明确的目标或理由来做这件事,而只是因为能够做到成为其唯一理由。
ISG公司的Frank说,“不要让已经很复杂的情况变得过于复杂。确保容器化机器学习工作负载将提供超出智力活动的业务价值。”
如果企业走商业或开源路线,需要确保拥有未来的灵活性,因为围绕人工智能/机器学习的生态系统正在迅速发展——企业自己的战略也可能会发生变化。
Reznik建议说,“企业不要将自己的业务依赖于某一家供应商,他们需要使用各种开源解决方案,而不仅仅是其供应商提供的解决方案。各种各样的开源解决方案将为企业的团队提供更多创新的可能性。”