热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

在人工智能项目中使用Kubernetes用例

导读在人工智能项目中使用Kubernetes有什么好处?人们可以了解Kubernetes如何帮助优化人工智能项目性能和成本的实际用例。根据一份针对科技公司和软件开发商进行调查的云原
导读 在人工智能项目中使用Kubernetes有什么好处?人们可以了解Kubernetes如何帮助优化人工智能项目性能和成本的实际用例。

根据一份针对科技公司和软件开发商进行调查的云原生调查报告,容器在生产中的使用量比上一年增加了84%,高达92%。Kubernetes的使用量比上一年增长了78%,达到了83%。

以下是Kubernetes如何帮助优化人工智能项目的性能和成本的两个实际用例。

在人工智能项目中使用Kubernetes用例

许多酒吧和餐厅采用了POS收银软件和场地管理系统,而随着时间的推移,积累了大量的历史销售数据。MobiDev公司的技术专家希望将人工智能算法应用到这些数据的分析中,找到之前销售的模式,并为每个阶段做出下一个时期的预测。该公司为此开发了一个基于人工智能的需求预测系统,并作为一个独立的模块集成到系统中。

由于人工智能计算需要大量资源,因此最初采用AWS EMR云服务中的虚拟机。而采用该系统的酒吧或餐厅越多,其基础设施的运营成本就越昂贵。当机器学习算法处理每日销售数据时,人工智能模块的高CPU负载可能会突然出现,而在其他的时间处于空闲状态。为了降低基础设施成本,MobiDev公司采用Docker Swarm对计算资源进行人工管理。

在最小可行性(MVP)开发阶段,使用Kubernetes没有意义,因为它需要大量的研究和采用时间。然而随着酒吧或餐厅数量的增加,需要一种新的数据工程方法来提供自动化和可扩展性以及成本优化。

(1)定期收集历史数据脚本。

(2)在Kubernetes内部运行的数据库中的数据存储。

(3)历史数据更新成功后的人工智能脚本。

(4)与人工智能仪表板交互的API。

(5)显示人工智能脚本结果的人工智能仪表板。

Kubernetes允许实现自动扩展,并提供实时计算资源优化。

(1) 性能和成本优化

值得注意的是,在Kubernetes上,针对相同数量的数据计算相同逻辑的人工智能脚本返回结果的速度比AWS EMR快得多,同时消耗的计算资源比EMR少。在Kubernetes上,与之前的EMR生产环境相比,相同数量的场地运行人工智能模块脚本所需的平均时间减少了90%。

(2) 可靠性改进

系统稳定性是从AWS EMR转向Kubernetes的关键原因。在EMR上,脚本启动有时会因未知原因失败,并且日志没有提供任何有用的信息。

(3) 可扩展性改进

在AWS EMR上,项目开发受到未来要添加的最大新场地数量的限制。Kubernetes取消了限制和自动扩展,这对于快速增长的项目至关重要。

Kubernetes上的系统提供更快的结果,消耗更少的计算资源,允许客户降低AWS计费成本,并确保稳定和可预测的产品交付。

MobiDev涉及的另一个Kubernetes实际业务用例是视频监控系统中面部模糊功能的智能计算资源自动扩展。该系统由以下应用程序组成:前端、后端、后端队列和基于人工智能的面部模糊功能。Kubernetes被用作所有这些应用程序的Orchestrator。

当出现新的视频处理请求时,后端在KubernetesAPI的帮助下自动扩展,并自动添加更多工作人员来处理请求。

Kubernetes的分布式架构和可扩展性与机器学习和人工智能相得益彰。随着这些技术的不断成熟,2021年是Kubernetes领域快速增长的一年。

人们需要记住的是,采用工具不是最终目的,而是支持业务目标。在2020年,几乎所有企业都不得不面对意料之外的变化。Kubernetes有能力通过使用云原生生态系统构建的解决方案加速应用程序开发服务,同时允许使用具有可塑性的应用程序和数据,从而使企业能够通过其平台和应用程序的现代化获得成功。


推荐阅读
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • 数据结构与算法的重要性及基本概念、存储结构和算法分析
    数据结构与算法在编程领域中的重要性不可忽视,无论从事何种岗位,都需要掌握数据结构和算法。本文介绍了数据结构与算法的基本概念、存储结构和算法分析。其中包括线性结构、树结构、图结构、栈、队列、串、查找、排序等内容。此外,还介绍了图论算法、贪婪算法、分治算法、动态规划、随机化算法和回溯算法等高级数据结构和算法。掌握这些知识对于提高编程能力、解决问题具有重要意义。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 本文介绍了一种图片处理应用,通过固定容器来实现缩略图的功能。该方法可以实现等比例缩略、扩容填充和裁剪等操作。详细的实现步骤和代码示例在正文中给出。 ... [详细]
  • C++语言入门:数组的基本知识和应用领域
    本文介绍了C++语言的基本知识和应用领域,包括C++语言与Python语言的区别、C++语言的结构化特点、关键字和控制语句的使用、运算符的种类和表达式的灵活性、各种数据类型的运算以及指针概念的引入。同时,还探讨了C++语言在代码效率方面的优势和与汇编语言的比较。对于想要学习C++语言的初学者来说,本文提供了一个简洁而全面的入门指南。 ... [详细]
  • 本文介绍了一道经典的状态压缩题目——关灯问题2,并提供了解决该问题的算法思路。通过使用二进制表示灯的状态,并枚举所有可能的状态,可以求解出最少按按钮的次数,从而将所有灯关掉。本文还对状压和位运算进行了解释,并指出了该方法的适用性和局限性。 ... [详细]
author-avatar
dujiaolianglong
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有