在 AI 项目中使用 Kubernetes 有什么好处?查看 Kubernetes 帮助优化 AI 项目性能和成本的实际用例。
介绍
对技术/软件组织进行民意调查的云原生调查报告称,生产中容器的使用比上一年增加了 84%,高达 92%。Kubernetes 的使用比上一年增长了 78%,达到了 83%。
Kubernetes 的分布式架构和可扩展性与机器学习和人工智能相得益彰。随着这些技术的不断成熟,2021 年是该领域增长的一年。
公司应该记住,工具支持业务目标,而不是他们自己的目的。2020 年是几乎所有企业都被迫考虑意外变化的一年。Kubernetes 有能力通过使用云原生生态系统构建的解决方案来加速应用程序开发服务,同时允许应用程序和数据的可塑性使用,以便公司能够通过平台和应用程序的现代化取得成功。
下面是 Kubernetes 如何帮助优化 AI 项目的性能和成本的两个实际用例。
Kubernetes 用例 #1
基于人工智能的需求预测系统的数据工程
项目描述
许多酒吧和餐厅采用的POS软件和场地管理系统。随着时间的推移,积累了大量的历史 POS 销售数据,MobiDev 的技术专家想出了一个想法,将人工智能 (AI) 算法应用到数据中,找到之前销售的模式,并为每个阶段做出下一个时期的预测。场地。开发了基于人工智能的需求预测系统,作为集成到系统中的独立模块。
要解决的问题
由于 AI 计算需要大量资源,因此最初使用 AWS EMR 云服务中的虚拟机。采用该系统的场馆越多,基础设施就越昂贵。当机器学习算法处理日常销售数据并且白天空闲时,AI 模块的高 CPU 负载发生在一夜之间。为了降低基础设施成本,在Docker Swarm的帮助下实现了计算资源的手动管理。
在 MVP 开发阶段,使用 Kubernetes 没有意义,因为它需要大量的研究和采用时间。然而,随着场馆数量的增加,需要一种新的数据工程方法来提供自动化和可扩展性以及成本优化。
使用 Kubernetes 解决的技术任务
定期收集历史数据的脚本。
在 Kubernetes 内部运行的数据库中的数据存储。
成功更新历史数据后的 AI 脚本。
与 AI 仪表板交互的 API。
显示 AI 脚本结果的 AI 仪表板。
使用 Kubernetes 解决的业务任务
Kubernetes 允许实现自动缩放并提供实时计算资源优化。
1. 性能和成本优化
值得注意的是,在 Kubernetes 上,针对相同数量的数据计算相同逻辑的 AI 脚本返回结果的速度比 AWS EMR 快得多,同时消耗的计算资源比 EMR 少。在 Kubernetes 上,与之前的 EMR 生产环境相比,相同数量的场地运行 AI 模块脚本所需的平均时间减少了 10 倍。
2. 可靠性改进
系统稳定性是我们从 AWS EMR 转向 Kubernetes 的关键原因。在 EMR 上,脚本启动有时会因未知原因失败,并且日志没有提供任何有用的信息。
3. 可扩展性改进
在 Amazon EMR 上,项目开发受到未来要添加的最大新场地数量的限制。Kubernetes 取消了限制和自动扩展,这对于快速增长的项目至关重要。
项目总结
Kubernetes 上的系统提供更快的结果,消耗更少的计算资源,允许客户降低 AWS 计费成本并确保稳定和可预测的产品交付。
Kubernetes 用例 #2
人工智能视频监控系统的数据工程
Kubernetes MobiDev 涉及的另一个实际业务用例是视频监控系统中面部模糊功能的智能计算资源自动缩放。该系统由以下应用程序组成:前端、后端、后端队列和基于人工智能的面部模糊功能。Kubernetes 被用作所有这些应用程序的 Orchestrator。
当出现新的视频处理请求时,后端在 Kubernetes API 的帮助下自动扩展,并自动添加更多工作人员来处理请求。
Kubernetes 的未来
Kubernetes 的分布式架构和可扩展性与机器学习和人工智能相得益彰。随着这些技术的不断成熟,2021 年是该领域增长的一年。
企业应该记住,工具支持业务目标,而不是工具本身。2020 年是几乎所有企业都被迫考虑意外变化的一年。Kubernetes 有能力通过使用云原生生态系统构建的解决方案来加速应用程序开发服务,同时允许应用程序和数据的可塑性使用,以便公司可以通过其平台和应用程序的现代化取得成功。