GKE 中 AI/机器学习工作负载的加速器使用选项简介

本页面介绍了可用于根据 AI/机器学习工作负载的要求获取计算加速器(例如 GPUTPU)的可用技术。在 GKE 中,这些技术称为加速器使用选项。了解不同的使用选项有助于您优化资源利用率以避免未充分利用资源、提高获取资源的可能性并平衡成本和性能。

本页面适用于与机器学习 (ML) 工程师协调以获取成功部署 AI/机器学习工作负载所需资源的平台管理员和运维人员。

如需详细了解我们在 Google Cloud 内容中提及的常见角色和示例任务,请参阅常见的 GKE 用户角色和任务

了解使用选项

您可以选择以下某个选项以在 GKE 上使用加速器:

  • 按需:您可以在 GKE 上使用 TPU 或 GPU,而无需提前安排容量。在请求资源之前,您必须拥有足够的按需配额,以用于特定类型和数量的加速器。按需是最灵活的使用选项;不过,我们无法保证有足够的按需资源可用于满足您的请求。
  • 预留:您可在一段设定的时间内预留资源。预留可以是以下任何一项:
    • 未来预留:您在通常较长的时间内预留资源,以在未来特定时间使用。在该时间段内,您对预留的资源拥有独占访问权限。进行未来预留需要接洽技术支持客户经理 (TAM)。如需了解详情,请参阅 TPUGPU 指南。
    • 最长 90 天的未来预留(日历模式):您可以在指定的时间段内请求容量,系统会通过日历顾问建议可用的日期。最长 90 天的未来预留(日历模式)可提供较高的灵活性以用于较短的时长,并可实现自助式容量搜索。如需了解详情,请参阅日历模式下的未来预留请求
    • 按需预留:您可以请求在容量可用时立即预配按需预留,这与按需选项类似。在预留处于有效状态期间,无论您是否使用这些资源,都需要为其付费。
  • 灵活启动:您可为短时工作负载确保密集分配的资源,而无需使用预留。您可请求特定数量的 GPU 或 TPU,Compute Engine 会在容量可用时进行预配。GPU 或 TPU 最长可不间断地运行 7 天。如需了解详情,请参阅灵活启动预配
  • Spot:您可预配 Spot 虚拟机,这使您可以享受大幅折扣,但 Spot 虚拟机随时可能被抢占(会提前 30 秒发出警告)。如需了解详情,请参阅 Spot 虚拟机

为了在计算资源受限的情况下优化预配成功率,您可以使用 ComputeClasses 来编排这些选项。

了解 GKE 中的加速器配额

配额和系统限制会限制您对 Google Cloud 资源的使用,以确保所有 Google Cloud 用户都能使用资源。配额具有默认值,但您通常可以申请调整。系统限制是无法更改的固定值。默认情况下,项目通常不附带大量加速器配额。您必须针对特定加速器类型和区域请求配额并获得批准。

在管理工作负载所需的配额时,请考虑以下特征:

  • 您必须为每个使用选项请求所需的配额。如需确定每个使用选项所需的配额,请参阅选择使用选项表中列出的相应“配额”参数。如果配额不足,尝试创建集群、节点池或部署需要加速器的工作负载会失败,并显示 Quota exceeded 错误。

  • 在 Autopilot 中使用 自定义 ComputeClass 时,您必须请求配额。为满足 ComputeClass 要求而预配的节点仍会使用项目在指定加速器方面的配额。

  • Google Cloud 免费试用账号在申请增加 GPU 和 TPU 等高价值资源的配额方面存在限制。如需使用加速器配额,请升级为付费账号。

如需查看和请求配额,请前往 Google Cloud 控制台中的“配额”页面。您可以过滤加速器配额并申请增加配额。

确定使用选项

请考虑以下注意事项,为您的 AI/机器学习工作负载选择最佳使用选项:

  • 工作负载类型:考虑您要实现的工作负载类型。GKE 要求会因您是运行训练工作负载还是推理工作负载而有所不同:
    • 训练:需要具有大量内存的高性能资源。训练工作负载通常具有明确定义的有效期。这些工作负载通常更容易规划,因为它们不太容易出现资源消耗量突然激增的情况。
    • 推理:通常需要针对可扩缩性和更低成本进行优化的加速器。推理工作负载在资源消耗量突然激增期间可能需要大量加速器内存。
  • 基于实施阶段的有效期:如果您在执行概念验证 (POC)、平台评估、应用开发或测试、投产或优化,请考虑您的业务目标。
  • 预配时间:确定工作负载是否需要立即执行,或者是否可以在未来运行。如果可以在未来执行,请确定开始时间可以有多灵活。
  • 成本与性能之间的平衡:评估工作负载性能要求和预算限制,以选择最具成本效益的加速器。请考虑加速器的成本与其性能特征之间的权衡。请注意,新加速器可能会带来更高的性价比。

选择使用选项

请使用下表选择使用选项:

使用选项 预配参数 支持的加速器 详细信息 示例工作负载
按需预留
  • 预配时间 :立即(使用已获批准的预留)
  • 有效期 :长期(每次预留)
  • 任何 GPU(A4X、A4 或 A3 Ultra 除外)
  • 任何 TPU
  • 费用 :您需要支付整个预留期的费用。
  • 配额 :在提供容量之前,配额会自动增加。
  • 长时间运行的大规模工作负载,例如预训练基础模型或多主机推理。
  • 生产环境工作负载。
未来预留
  • 预配时间 :立即(使用已获批准的预留)
  • 有效期 :长期(每次预留)
  • G2
  • A2
  • 具有 8 个 GPU 的 A3 High
  • A3 Mega
  • A3 Edge
  • 费用 :您需要支付整个预留期的费用。
  • 配额 :在提供容量之前,配额会自动增加。
  • 长时间运行的大规模工作负载,例如预训练基础模型或多主机推理。
  • 生产环境工作负载。
最长 90 天的未来预留(日历模式)
  • 预配时间 :立即(使用已获批准的预留)
  • 有效期 :最长 90 天
  • A4
  • A3 Ultra
  • A3 Mega
  • 具有 8 个 GPU 的 A3 High
  • A3 Edge
  • Ironwood (TPU7x)
  • TPU v6e
  • TPU v5p
  • TPU v5e
  • 费用 :可享受折扣(最高 53%)。您需要支付预留期的费用。
  • 配额 :不收取任何配额费用。
  • 需要精确开始时间的短时间运行分布式工作负载,例如模型微调、模拟或批量推理。
  • 用于平台评估、基准比较或优化测试的工作负载。
灵活启动预配模式
  • 预配时间 :按需(受可用性限制)
  • 有效期 :每次分配最多 7 天
  • 除 A4X 以外的所有 GPU 系列
  • 所有 TPU 版本
  • 开始时间十分灵活的批量工作负载,例如小型模型训练、微调或可伸缩的推理。
  • 用于 POC 或集成测试的工作负载。
Spot 虚拟机
  • 预配时间 :按需(受可用性限制)
  • 有效期 :可变,可能会被抢占(提前 30 秒发出警告)
  • 除 A4X 以外的所有 GPU 系列
  • 所有 TPU 版本
  • 优先级较低的容错型工作负载,例如 CI/CD、数据分析或高性能计算 (HPC)。
  • 对中断容忍度较高的工作负载。
按需(GPUTPU
  • 预配时间 :立即(受可用性限制)
  • 有效期 :无限制
  • 除 A4X、A4 或 A3 Ultra 以外的所有 GPU 系列
  • 所有 TPU 版本
  • 费用 :随用随付。
  • 配额:系统会收取 GPUTPU 按需配额费用。
  • 需要立即执行的通用工作负载。

使用 ComputeClass 优化费用和工作负载预配

您可以使用 ComputeClasses 通过定义基于优先级的回退配置列表来动态管理 和自动执行加速器使用策略。在扩容操作期间,GKE 会尝试根据您设置的优先级层次结构预配节点。

以下列表介绍了 ComputeClass 提供的使用选项以及如何配置这些选项。如需查看完整的 YAML 清单,请参阅 ComputeClass 的使用选项示例

  • 预留:您可以在 ComputeClass 的 reservations 字段中定义预留名称。这可确保 GKE 首先尝试使用预留容量,然后再回退。
  • 灵活启动预配模式:使用 ComputeClass 中的 flexStart 字段启用灵活队列,并使用 nodeRecycling 字段配置回退节点替换时长。
  • Spot 虚拟机:通过将 spot 字段设置为 true,指示 GKE 在为该优先级规则 预配节点时使用 Spot 虚拟机。
  • 按需容量与多可用区位置政策相结合: 在优先级列表中声明标准机器配置,并 使用 location 字段配置回退位置策略。

ComputeClass 不支持 未来预留最长 90 天的未来预留(日历模式)

ComputeClass 的使用选项示例

以下部分提供了这些策略的配置示例。

具有回退配置的预留

此配置最适合可以容忍中断的 工作负载,而不是依赖于持久性数据或需要运行完成的 工作负载。

此配置通过以下步骤建立弹性回退策略:

  1. 先使用预留 :GKE 尝试使用您预先购买的特定容量预留来预配节点。
  2. 回退到灵活启动 :如果预留容量已完全用完,GKE 会回退到短时、折扣灵活启动资源。
  3. 回退到按需 :作为最终回退,GKE 会预配标准按需资源。
  4. 迁移回预留 :启用主动迁移后,GKE 会指示系统在容量可用时自动将工作负载整合并迁移回优先级较高的预留节点。 此迁移可能会中断服务。

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: ha-gpu-fallback
    spec:
      activeMigration:
        optimizeRulePriority: true # Migrate workloads back to reservation when capacity releases
      priorities:
      # Priority 1: Consume specific corporate reservation first
      - gpu:
          type: nvidia-l4
          count: 1
        reservations:
          affinity: Specific
          specific:
          - name: reserved-l4-pool
            project: my-project
            zones: [us-central1-a]
      # Priority 2: Fallback to Flex Start (short-duration allocation)
      - gpu:
          type: nvidia-l4
          count: 1
        flexStart:
          enabled: true
      # Priority 3: Fallback to On-demand resources
      - gpu:
          type: nvidia-l4
          count: 1
    

具有节点回收配置的灵活启动预配模式

此配置通过以下步骤管理短时、折扣容量并保持持续正常运行时间:

  1. 请求灵活启动虚拟机 :GKE 从灵活启动队列请求虚拟机实例(这些实例最多可不间断地运行 7 天)。
  2. 监控租约到期 :GKE 跟踪有效灵活启动节点的剩余时长。
  3. 触发节点回收 :在虚拟机租约到期前 20 分钟(1200 秒),GKE 会自动预配替换节点。
  4. 重新安排工作负载 :工作负载会迁移到新节点,并在不中断服务的情况下恢复执行。

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: flex-node-recycling
    spec:
      priorities:
      - gpu:
          type: nvidia-l4
          count: 1
        flexStart:
          enabled: true
          nodeRecycling:
            leadTimeSeconds: 1200 # Automatically launch replacement node before VM lease expires
    

多可用区分配政策配置

此配置通过以下步骤绕过单可用区供应限制:

  1. 定义目标可用区 :您可以在优先级规则中列出多个备份可用区(例如 us-central1-aus-central1-bus-central1-c)。
  2. 扩大目标参数:您将位置政策设置为ANY。此设置指示集群自动扩缩器在所有指定可用区中搜索请求的容量。
  3. 分析可用区可用性 :在扩容事件期间,GKE 会扫描指定可用区。
  4. 在可用可用区中预配 :GKE 会立即在具有匹配容量的任何目标可用区中预配请求的工作负载节点。此策略可防止分配队列中出现阻塞。

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: broad-zonal-serving
    spec:
      priorities:
      - gpu:
          type: nvidia-l4
          count: 1
        location:
          zones: [us-central1-a, us-central1-b, us-central1-c]
          locationPolicy: ANY # Provision accelerator in any target zone with supply
    

后续步骤