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