前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Kubernetes进行AI推理的5个理由

使用Kubernetes进行AI推理的5个理由

作者头像
云云众生s
发布2024-07-24 14:03:56
1250
发布2024-07-24 14:03:56
举报
文章被收录于专栏:云云众生s

Kubernetes 的关键特性如何自然地满足 AI 推理的需求,以及它们如何使推理工作负载受益。

译自 5 Reasons To Use Kubernetes for AI Inference,作者 Zulyar Ilakhunov。

Kubernetes 的许多关键特性自然适合 AI 推理的需求,无论是 AI 驱动的 微服务 还是 ML 模型,几乎像是专门为这个目的而设计的。让我们来看看这些特性以及它们如何使推理工作负载受益。

1. 可扩展性

AI 驱动的应用程序和 ML 模型的可扩展性确保它们能够处理所需的负载,例如并发用户请求的数量。Kubernetes 有三种原生 自动扩展 机制,每种机制都对可扩展性有益:水平 Pod 自动扩展器 (HPA)、垂直 Pod 自动扩展器 (VPA) 和集群自动扩展器 (CA)。

  • 水平 Pod Autoscaler根据各种指标(例如 CPU、GPU 和内存利用率)扩展运行应用程序或 ML 模型的 Pod 数量。当需求增加时,例如用户请求激增,HPA 会向上扩展资源。当负载减少时,HPA 会向下扩展资源。
  • 垂直 Pod Autoscaler根据 Pod 的实际使用情况调整 Pod 中容器的 CPU、GPU 和内存需求和限制。通过更改 Pod 规范中的limits,您可以控制 Pod 可以接收的特定资源量。它对于最大化节点上每个可用资源的利用率很有用。
  • 集群 Autoscaler调整整个集群中可用的计算资源池,以满足工作负载需求。它根据 Pod 的资源需求动态地向集群添加或删除工作节点。这就是为什么 CA 对推理具有庞大用户群的大型 ML 模型至关重要。

以下是 K8s 可扩展性对 AI 推理的主要益处:

  • 通过根据需要自动向上和向下扩展 Pod 副本数量,确保 AI 工作负载的高可用性
  • 通过根据需要自动调整集群大小来支持产品增长
  • 根据应用程序的实际需求优化资源利用率,从而确保您只为 Pod 使用的资源付费

2. 资源优化

通过彻底优化推理工作负载的资源利用率,您可以为它们提供适当数量的资源。这可以为您节省资金,这在租用通常昂贵的 GPU 时尤其重要。允许您优化推理工作负载的资源使用的关键 Kubernetes 特性是高效的资源分配、对limitsrequests的详细控制以及自动扩展。

  • 高效的资源分配: 您可以通过在 Pod 清单中指定来为 Pod 分配特定数量的 GPU、CPU 和 RAM。但是,目前只有 NVIDIA 加速器支持 GPU 的时间切片和多实例分区。如果您使用 Intel 或 AMD 加速器,Pod 只能请求整个 GPU。
  • 对资源“limits”和“requests”的详细控制: requests定义容器所需的最小资源,而limits阻止容器使用超过指定资源的资源。这提供了对计算资源的细粒度控制。
  • 自动扩展: HPA、VPA 和 CA 可以防止浪费闲置资源。如果您正确配置这些功能,您将不会有任何闲置资源。

借助这些 Kubernetes 功能,您的工作负载将获得所需的计算能力,不多不少。由于在云中租用中档 GPU 的成本可能在 每小时 1 美元到 2 美元 之间,因此从长远来看,您可以节省大量资金。

3. 性能优化

虽然 AI 推理通常 比训练资源密集度低,但它仍然需要 GPU 和其他计算资源才能高效运行。HPA、VPA 和 CA 是 Kubernetes 能够提高推理性能的关键贡献者。它们确保即使负载发生变化,也能为 AI 驱动的应用程序分配最佳资源。但是,您可以使用其他工具来帮助您控制和预测 AI 工作负载的性能,例如 StormForgeMagalix Agent

总的来说,Kubernetes 的弹性和微调资源使用能力使您能够为 AI 应用程序实现最佳性能,无论其大小和负载如何。

4. 可移植性

对于 AI 工作负载(例如 ML 模型)来说,可移植性至关重要。这使您能够在不同环境中一致地运行它们,而无需担心基础设施差异,从而节省时间和资金。Kubernetes 主要通过两个内置功能实现可移植性:容器化和与任何环境的兼容性。

  • 容器化: Kubernetes 使用容器化技术(如 containerd 和 Docker)将 ML 模型和 AI 驱动的应用程序与其依赖项一起打包到可移植容器中。然后,您可以在任何集群、任何环境中甚至使用其他容器编排工具使用这些容器。
  • 支持多云和混合环境: Kubernetes 集群可以分布在多个环境中,包括公有云、私有云和本地基础设施。这为您提供了灵活性并减少了供应商锁定。

以下是 K8s 可移植性的主要优势:

  • 在不同环境中一致的 ML 模型部署
  • 更轻松地迁移和更新 AI 工作负载
  • 选择云提供商或本地基础设施的灵活性

5. 容错

在运行 AI 推理时,基础设施故障和停机可能会导致显着的精度下降、不可预测的模型行为或仅仅是服务中断。对于许多 AI 驱动的应用程序来说,这是不可接受的,包括安全关键型应用程序,例如机器人、自动驾驶和医疗分析。Kubernetes 的自我修复和容错功能有助于防止这些问题。

  • Pod 级和节点级容错: 如果 Pod 出现故障或没有响应,Kubernetes 会自动检测问题并重新启动 Pod。这确保了应用程序保持可用和响应。如果运行 Pod 的节点出现故障,Kubernetes 会自动将 Pod 调度到健康的节点。
  • 滚动更新: Kubernetes 支持滚动更新,因此您可以以最小的停机时间更新容器镜像。这使您能够快速部署错误修复或模型更新,而不会中断正在运行的推理服务。
  • 就绪性和存活性探测: 这些探测是健康检查,用于检测容器何时无法接收流量或变得不健康,并在必要时触发重新启动或替换。
  • 集群自我修复: K8s 可以自动修复控制平面和工作节点问题,例如替换故障节点或重新启动不健康的组件。这有助于维护运行 AI 推理的集群的整体健康状况和可用性。

以下是 K8s 容错的主要优势:

  • 通过保持 AI 驱动的应用程序高度可用和响应,提高了应用程序的弹性
  • 出现问题时停机时间和中断最小
  • 通过使应用程序和模型高度可用并更能抵御意外的基础设施故障,提高了用户满意度

结论

随着组织继续将 AI 整合到其应用程序中,使用大型 ML 模型并面临动态负载,采用 Kubernetes 作为基础技术至关重要。作为托管 Kubernetes 提供商,我们看到了对可扩展、容错且经济高效的基础设施的需求不断增长,这种基础设施可以处理AI 推理规模。Kubernetes 是一个原生提供所有这些功能的工具。

想要了解更多关于使用 Kubernetes 加速 AI 的信息?探索这本 Gcore 电子书

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-242,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 可扩展性
  • 2. 资源优化
  • 3. 性能优化
  • 4. 可移植性
  • 5. 容错
  • 结论
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档