术语表

Kubernetes

了解 Kubernetes 如何简化人工智能工作流程,为云原生计算实现无缝扩展、自愈和高效模型部署。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

Kubernetes 是一个开源容器编排平台,旨在自动部署、扩展和管理容器化应用程序。Kubernetes 最初由Google 开发,现在由云原生计算基金会(CNCF)维护,已成为管理现代云原生工作负载的行业标准。

Kubernetes 的主要功能

Kubernetes 提供了广泛的功能,可简化分布式环境中复杂应用程序的管理:

  • 容器协调:Kubernetes 可在机器集群中自动调度和管理容器,确保最佳的资源利用率。
  • 扩展:Kubernetes 支持根据CPU 、内存或自定义指标手动和自动扩展应用程序。
  • 自我修复:它能监控应用程序的健康状况,并自动重启或替换出现故障的容器,以保持系统稳定。
  • 负载平衡:Kubernetes 在多个容器之间分配网络流量,以确保高可用性和可靠的性能。
  • 存储管理:它支持各种存储后端,如本地存储、云存储和网络文件系统,以满足应用需求。

有关容器化的介绍,请参阅Docker 词汇表页面

人工智能和机器学习中的 Kubernetes

Kubernetes 在人工智能和机器学习工作流程中发挥着至关重要的作用,在这些流程中,管理分布式、资源密集型任务至关重要。它简化了机器学习管道等复杂系统的部署,确保了可扩展性和可靠性。

示例 1:机器学习模型训练

Kubernetes 可用于在多个GPU 支持的节点上管理机器学习模型的分布式训练。例如,一个使用 PyTorch进行深度学习模型训练的团队可以将其训练作业部署为 Kubernetes pod。这可以确保高效的资源分配,并根据工作负载要求动态扩展训练流程。了解有关分布式培训以及 Kubernetes 如何促进分布式培训的更多信息。

示例 2:模型部署

Kubernetes 广泛用于在生产中部署机器学习模型。例如,用 Ultralytics YOLO训练的对象检测模型可以容器化并部署在 Kubernetes 上。这种设置可通过滚动更新和复制等功能确保高可用性,从而最大限度地减少停机时间并保持服务可靠性。

Kubernetes 与相关技术

Kubernetes 擅长协调容器,而 Docker 等技术则专注于容器化本身。Docker 为创建和运行容器提供了基础,而 Kubernetes 则大规模地协调和管理这些容器。如需深入了解,请探索容器化与编排之间的区别。

另一个相关概念是无服务器计算,它完全抽象了基础设施管理。与 Kubernetes 不同,无服务器平台根据事件驱动触发自动扩展资源,无需用户干预。了解有关无服务器计算的更多信息。

实际应用

Kubernetes 广泛应用于各行各业,以提高人工智能和机器学习工作流程的效率:

  • 医疗保健:Kubernetes 可确保处理大型数据集时的可扩展性和可靠性,从而实现医学图像分析模型(如医学图像分析中描述的模型)的部署。
  • 自动驾驶汽车:Kubernetes 支持在自动驾驶汽车管道中可扩展地部署应用程序,如《自动驾驶汽车的人工智能》一书中所述。
  • 零售:在零售业,Kubernetes 支持实时对象检测模型,如 Ultralytics YOLO等实时对象检测模型,以优化库存管理并提升客户体验。

Kubernetes 入门

对于那些有兴趣利用 Kubernetes 开展人工智能项目的人来说,Ultralytics HUB 等工具与 Kubernetes 集成良好,可实现无缝的模型训练和部署。此外,Google Kubernetes Engine (GKE) 和 Amazon Elastic Kubernetes Service (EKS) 等平台也简化了 Kubernetes 集群管理。

要了解有关大规模部署人工智能模型的更多信息,请浏览模型部署选项指南

Kubernetes 使企业能够有效地管理和扩展人工智能工作负载,使其成为现代云原生计算的基石。其强大的功能集和广泛的应用确保它将继续成为人工智能和机器学习社区的重要工具。

阅读全部