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

在容器中运行AI应用程序需要了解的六大原则

时间:2023-03-14 23:19:49 科技观察

作为IT发展的两大核心趋势,AI/ML和容器已经被企业广泛应用。团队一直在寻找将人工智能和机器学习工作负载很好地结合起来的方法,而两者之间更紧密的结合迫使企业向各种商业和开源技术寻求帮助。ISG企业技术分析师BlairHanleyFrank表示:“对于IT领导者来说,最好的消息是,在过去几年中,用于在容器中大规模运行机器学习的工具和流程得到了显着改进。”开源工具、商业产品和教程正在帮助数据科学家和IT团队启动并运行这些复杂的系统。”但在IT领导者和团队深入研究容器化AI/ML工作负载的底层技术之前,请考虑以下内容:项目原则。只有打好基础,未来的道路才能坦坦荡荡AI/ML工作负载代表工作流根据红帽技术布道者GordonHaff的说法,AI/ML工作负载与其他类型的工作负载一样,可以从本质上看作为工作流。从工作流的角度来看,有助于理清在容器内运行AI/ML的一些基本概念。在AI/ML领域,工作流的起点从数据收集和准备开始。如果没有这一步,模型走不了多远。Haff强调,第一步是数据收集、清洗和处理。完成这些步骤后,“下一步是模型训练,即调整参数ac根据一组训练数据。模型训练完成后,工作流程的下一步就是部署到生产环境。最后,数据科学家需要在生产中监控模型。性能,跟踪各种预测和性能指标。”哈夫以高度简化的方式描述了整个工作流程,但它仍然充满了与人员、流程和环境相关的巨大工作量。为了提高一致性和可重复性,我们需要容器化工具来帮助简化整个过程。Haff解释说,“传统上,这样的工作流往往需要两三个人负责跨不同环境进行交接。但基于容器平台的工作流可以支持自助服务,帮助数据科学家轻松地将开发模型集成到应用场景。”与其他容器化工作负载类似的好处据Autify的AI和ML负责人NaumanMustafa表示,容器化技术在AI/ML工作流场景中具有三个整体优势:模块化:允许工作流中的各种重要组件,例如模型训练和部署,是高度模块化。这种好处也明显体现在整个软件开发领域,即容器化支持的高度模块化的微服务架构。速度:容器化还“加速了开发/部署和发布周期”。人员管理:容器化还“减少了跨团队的依赖性,使团队管理更容易。”与在不同职能团队之间交换工作的IT其他领域一样,容器化有助于减少“移交后就结束”的情况。“消极心态。虽然机器学习模型与其他应用程序或服务有着完全不同的技术要求和考虑因素,但容器化带来的好处仍然非常普遍。红帽数据科学家AudreyReznik也提到容器化同样有效在增强AI/ML工作负载或解决方案(例如混合云环境)的可移植性和可扩展性方面,同时减少运营开销。Reznik强调,“容器使用的系统资源比裸机或虚拟机系统少。”这可以进一步加快部署速度”我喜欢问“你编码的速度有多快”,因为你越早完成编码,你就能越早使用容器部署解决方案。“所有团队仍然必须保持一致。虽然工作流程更加模块化,但每个团队和每个成员仍然需要保持密切的协作关系。来自ISG的Frank说,“有必要确保参与机器学习工作负载的构建容器化环境。与每一位经营它的员工相互理解。尽管运维工程师熟悉Kubernetes的运维需求,但他们往往不了解数据科学工作负载的具体特征。另一方面,数据科学家可能对构建和部署机器学习模型的过程有很好的理解,但他们不擅长将模型迁移到容器中或维护模型的稳定运行。“容器化当然可以提高一致性和协作性,但这些收益永远不会凭空而来。”红帽全球软件工程总监SherardGriffin指出,“在当今时代,高度重视结果的可重复性,所以企业可以使用容器。降低AI/ML技术的入门门槛,帮助数据科学家轻松共享和复现实验结果,同时始终遵守最新的IT和信息安全标准。“运营需求其实并没有改变,容器化技术的优势可以帮助AI/ML与其他工作负载类型基本相同,这也体现在运营上。因此,在实际运营过程中,我们也需要像对待其他容器一样考虑像对待任何应用程序一样仔细考虑以下三个操作要求:资源分配:随着时间的推移,Mustafa指出,资源分配将直接决定成本优化和性能。如果资源被过度分配,那么我们势必会浪费大量的资源和金钱;如果分配不足,我们肯定会遇到性能问题。可观察性:如果你看不到问题,并不意味着问题不存在。Frank建议“确保部署必要的可观察性软件,以更全面地了解多容器应用程序的实际运行方式。”安全性:根据PositiveTechnologies的机器学习工程师AlexandraMurzina的说法,“从安全的角度来看,在容器中启用AI/ML类型的解决方案与使用其他解决方案没有太大区别。”所以我们仍然应该应用最小权限原则(对员工和容器本身),只使用经过验证和信任的容器镜像,运行定期漏洞扫描,以及其他安全策略是待办事项列表的首位。无法解决所有潜在问题正如自动化无法改善存在内在缺陷的流程一样,容器化也无法解决AI/ML工作负载中的根本问题。例如,如果机器学习模型存在偏差/偏差,则在容器中运行它会根本没有提高输出。容器化确实有其独特的优势,但这些优势绝不是万能的,也不可能解决所有潜在的问题。面对数据错误或偏差/偏差,容器化唯一能做的就是加快工作流程中的各个环节,仅此而已。Capgemini工程技术总监RaghuKishoreVempati说:“容器特别适合用于运行AI/ML工作负载,但仅靠容器化无法提高此类模型的效率。容器化只是提供了一种改进模型训练和模型推理的方法。生产力方法,但显然还有其他问题需要解决。”建造还是购买哪个更好?与大多数技术选择一样,AI/ML工作负载的容器化领域带来了“应该这样还是那样的麻烦”。这个问题没有简单、直观的答案。有许多开源项目可供选择在容器中运行AI/ML工作负载。Autify的Mustafa说:“机器学习工作流的容器化带来了新的成本,这对于小型团队来说可能是无法承受的。但对于大型团队来说,收益可能远远超过成本。”因此,IT领导者和团队必须以明确的目标或理由推动容器化工作。Frank坦言,“总之,不要让本来就很复杂的情况变得更复杂,除非容器化的机器学习工作负载能够带来超出投入的商业价值,否则最好不要乱来。”“但这种价值已经渗透到越来越多的企业中,并且随着AI/ML的普遍采用而持续增加。那么当‘我们应该选择容器化吗?’这个问题得到肯定的回答时,接下来要考虑的事情是构建还是购买。好消息是各种容器化平台、工具和服务层出不穷,目前有很多用于容器化AI/ML工作负载的开源项目选项。例如,Kubeflow专门负责编排机器学习Kubernetes上的工作负载。这里有一个通用标准。除非AI/ML工作流的容器化、部署和管理是企业业务的核心,否则不要在这上面花费太多精力。“类似于发生在在云原生世界中,当团队过于专注于组装平台和工作流而忽视处理手头的实际业务问题时,他们离失败不远了,”Haff说。发现他们只有在平台搭建好之后才需要使用GPU资源,此时再做调整已经来不及了。一旦遇到这种情况,团队只能将大量时间浪费在补救和处理设计错误上,而无暇顾及真正重要的模型开发、训练和推理工作。Haff强调,“作为一种可行的方法,我们考虑了一个统一的自助服务平台,如OpenShiftDataScience。它不仅提供了一个集成的工作流,还允许用户根据实际需要添加额外的开源和专有工具。”还,无论走商业路线,开源路线,还是两者兼而有之,一定要为以后的发展预留空间。AI/ML生态每时每刻都在飞速发展,我们自己的策略随时都可能发生变化。必须提前计划更改。Reznik总结道:“不要将自己束缚于一家供应商。我们应该充分发挥各种开源解决方案的优势,而不是满足于摆在供应商面前的几个选项。解决方案越多样化,我们的团队就会有更多的创新可能性。“