Acerca de las opciones de consumo de aceleradores para cargas de trabajo de IA/AA en GKE

En esta página, se describen las técnicas disponibles que puedes usar para obtener aceleradores de procesamiento, como GPUs o TPUs, según los requisitos de tus cargas de trabajo de IA/AA. Estas técnicas se denominan opciones de consumo de aceleradores en GKE. Comprender las diferentes opciones de consumo te ayuda a optimizar la utilización de recursos para evitar la subutilización de recursos, aumentar la probabilidad de obtener recursos y equilibrar el costo y el rendimiento.

Esta página está dirigida a los administradores y operadores de plataformas que se coordinan con los ingenieros de aprendizaje automático (AA) para obtener los recursos necesarios para implementar correctamente las cargas de trabajo de IA/AA.

Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en Google Cloud el contenido de, consulta Roles y tareas comunes del usuario de GKE.

Comprende las opciones de consumo

Puedes seleccionar entre las siguientes opciones para consumir aceleradores en GKE:

  • Según demanda: Consumes TPUs o GPUs en GKE sin organizar la capacidad con anticipación. Antes de solicitar recursos, debes tener suficiente cuota según demanda para el tipo y la cantidad específicos de aceleradores. La opción según demanda es la opción de consumo más flexible; sin embargo, no hay garantía de que haya suficientes recursos según demanda disponibles para satisfacer tu solicitud.
  • Reservas: Reservas recursos por un período determinado. Una reserva puede ser cualquiera de las siguientes:
    • Reservas futuras: Reservas recursos por períodos más largos para un momento específico en el futuro. Tienes acceso exclusivo a los recursos reservados durante ese período. Las reservas futuras requieren la participación de un administrador técnico de cuentas (TAM). Para obtener más información, consulta la guía de TPU y GPU.
    • Reservas futuras de hasta 90 días (en modo de calendario): Solicitas capacidad para un período especificado, con un asesor de calendario que sugiere fechas disponibles. Las reservas futuras de hasta 90 días (en modo de calendario) ofrecen más flexibilidad para períodos más cortos y búsqueda de capacidad de autoservicio. Para obtener más información, consulta Solicitudes de reservas futuras en el modo de calendario.
    • Reservas según demanda: Puedes solicitar que se aprovisione una reserva según demanda en cuanto esté disponible la capacidad, de manera similar a la opción según demanda. Mientras la reserva esté activa, pagarás por los recursos, ya sea que los uses o no.
  • Inicio flexible: Aseguras recursos asignados de forma densa para cargas de trabajo de corta duración sin una reserva. Solicitas una cantidad específica de GPUs o TPUs, y Compute Engine las aprovisiona cuando la capacidad está disponible. Las GPUs o TPUs se ejecutan sin interrupciones durante un máximo de siete días. Para obtener más información, consulta Aprovisionamiento de inicio flexible.
  • Spot: Aprovisionas VMs Spot, lo que te permite obtener descuentos significativos, pero las VMs Spot se pueden interrumpir en cualquier momento, con una advertencia de 30 segundos. Para obtener más información, consulta VMs Spot.

Para optimizar el éxito del aprovisionamiento en condiciones de restricciones de recursos de procesamiento, puedes organizar estas opciones con ComputeClasses.

Comprende la cuota de aceleradores en GKE

Las cuotas y los límites del sistema restringen el uso de Google Cloud recursos para admitir la disponibilidad de recursos para todos los Google Cloud usuarios. Las cuotas tienen valores predeterminados, pero, por lo general, puedes solicitar ajustes. Los límites del sistema son valores fijos que no se pueden cambiar. De forma predeterminada, los proyectos no suelen tener una cuota de aceleradores significativa. Debes solicitar y recibir aprobación para la cuota de tipos y regiones específicos de aceleradores.

Ten en cuenta las siguientes características cuando administres las cuotas que necesitan tus cargas de trabajo:

  • Debes solicitar la cuota necesaria para cada opción de consumo. Para identificar la cuota requerida para cada opción de consumo, consulta los parámetros "Cuota" correspondientes que se enumeran en la tabla Elige una opción de consumo. Si no hay suficiente cuota, los intentos de crear clústeres, grupos de nodos o implementar cargas de trabajo que requieran aceleradores fallarán con un error Quota exceeded.

  • Debes solicitar cuota cuando usas ComputeClasses personalizadas en Autopilot. Los nodos aprovisionados para cumplir con los requisitos de ComputeClass aún consumen la cuota de tu proyecto para los aceleradores especificados.

  • Google Cloud Las cuentas de prueba gratuita tienen limitaciones para solicitar aumentos de cuota para recursos de alto valor, como GPUs y TPUs. Para tener acceso a la cuota de aceleradores, actualiza a una cuenta pagada.

Para verificar y solicitar cuota, ve a la página Cuotas en la Google Cloud consola. Puedes filtrar las cuotas de aceleradores y solicitar aumentos.

Identifica una opción de consumo

Usa las siguientes consideraciones para elegir la mejor opción de consumo para tu carga de trabajo de IA/AA:

  • Tipo de carga de trabajo: Ten en cuenta el tipo de carga de trabajo que deseas implementar. Los requisitos de GKE varían si ejecutas una carga de trabajo de entrenamiento o de inferencia:
    • Entrenamiento: Requiere recursos de alto rendimiento con una memoria significativa. Las cargas de trabajo de entrenamiento suelen tener una vida útil bien definida. Por lo general, estas cargas de trabajo son más fáciles de planificar porque son menos propensas a aumentos repentinos en el consumo de recursos.
    • Inferencia: Por lo general, requiere aceleradores optimizados para la escalabilidad y un costo más bajo. Las cargas de trabajo de inferencia pueden requerir una memoria de acelerador significativa durante los aumentos repentinos en el consumo de recursos.
  • Vida útil según la fase de implementación: Ten en cuenta tu objetivo comercial si ejecutas una prueba de concepto (POC), una evaluación de la plataforma, un desarrollo o prueba de aplicaciones, una producción o una optimización.
  • Tiempo de aprovisionamiento: Determina si tu carga de trabajo requiere una ejecución inmediata o si se puede ejecutar en el futuro. Si es posible la ejecución futura, determina qué tan flexible puede ser la hora de inicio.
  • Equilibrio entre costo y rendimiento: Evalúa los requisitos de rendimiento de tu carga de trabajo y las restricciones presupuestarias para seleccionar el acelerador más rentable. Considera la compensación entre el costo de los aceleradores y sus características de rendimiento. Recuerda que los aceleradores nuevos pueden mejorar las relaciones costo-rendimiento.

Elige una opción de consumo

Usa la siguiente tabla para elegir una opción de consumo:

Opción de consumo Parámetros de aprovisionamiento Aceleradores compatibles Detalles Ejemplos de cargas de trabajo
Reservas según demanda
  • Tiempo de aprovisionamiento: Inmediato (con reserva aprobada)
  • Vida útil: A largo plazo (por reserva)
  • Cualquier GPU (excepto A4X, A4 o A3 Ultra)
  • Cualquier TPU
  • Costo: Se te cobra por el período de reserva completo.
  • Cuota: La cuota aumenta automáticamente antes de que se entregue la capacidad.
  • Cargas de trabajo prolongadas y a gran escala, como el entrenamiento previo de modelos de base o la inferencia de múltiples hosts
  • Cargas de trabajo de producción
Reservas futuras
  • Tiempo de aprovisionamiento: Inmediato (con reserva aprobada)
  • Vida útil: A largo plazo (por reserva)
  • G2
  • A2
  • A3 High con 8 GPUs
  • A3 Mega
  • A3 Edge
  • Costo: Se te cobra por el período de reserva completo.
  • Cuota: La cuota aumenta automáticamente antes de que se entregue la capacidad.
  • Cargas de trabajo prolongadas y a gran escala, como el entrenamiento previo de modelos de base o la inferencia de múltiples hosts
  • Cargas de trabajo de producción
Reservas futuras de hasta 90 días (en modo de calendario)
  • Tiempo de aprovisionamiento: Inmediato (con reserva aprobada)
  • Vida útil: Hasta 90 días
  • A4
  • A3 Ultra
  • A3 Mega
  • A3 High con 8 GPUs
  • A3 Edge
  • Ironwood (TPU7x)
  • TPU v6e
  • TPU v5p
  • TPU v5e
  • Costo: Con descuento (hasta un 53%). Se te cobra por el período de reserva.
  • Cuota: No se cobra cuota.
  • Cargas de trabajo distribuidas de corta duración, como el ajuste de modelos, las simulaciones o la inferencia por lotes, en las que se necesita una hora de inicio precisa
  • Cargas de trabajo para la evaluación de la plataforma, la evaluación comparativa o las pruebas de optimización
Modo de aprovisionamiento de inicio flexible
  • Tiempo de aprovisionamiento: Según demanda (sujeto a disponibilidad)
  • Vida útil: Hasta 7 días por asignación
  • Todas las familias de GPU, excepto A4X
  • Todas las versiones de TPU
  • Cargas de trabajo por lotes, como el entrenamiento de modelos pequeños, el ajuste o la inferencia escalable, en las que la hora de inicio es flexible
  • Cargas de trabajo para POCs o pruebas de integración
VMs Spot
  • Tiempo de aprovisionamiento: Según demanda (sujeto a disponibilidad)
  • Vida útil: Variable, se puede interrumpir con una advertencia de 30 segundos
  • Todas las familias de GPU, excepto A4X
  • Todas las versiones de TPU
  • Cargas de trabajo de menor prioridad y tolerantes a errores, como CI/CD, análisis de datos o computación de alto rendimiento (HPC)
  • Cargas de trabajo altamente interrumpibles
Según demanda (GPUs o TPUs)
  • Tiempo de aprovisionamiento: Inmediato (sujeto a disponibilidad)
  • Vida útil: Sin límite
  • Todas las familias de GPU, excepto A4X, A4 o A3 Ultra
  • Todas las versiones de TPU
  • Costo: Pagas por lo que usas.
  • Cuota: Se cobra la cuota de GPU o TPU según demanda.
  • Cargas de trabajo de uso general que requieren ejecución inmediata

Optimiza el costo y el aprovisionamiento de cargas de trabajo con ComputeClasses

Puedes usar ComputeClasses para administrar de forma dinámica y automatizar tu estrategia de consumo de aceleradores mediante la definición de una lista de configuraciones de resguardo basadas en la prioridad. Durante las operaciones de aumento de escala, GKE intenta aprovisionar nodos según la jerarquía de prioridades que establezcas.

En la siguiente lista, se describen las opciones de consumo disponibles con ComputeClasses y cómo configurarlas. Para obtener manifiestos YAML completos, consulta Ejemplos de opciones de consumo con ComputeClasses.

  • Reservas: Puedes definir el nombre de la reserva en el reservations campo de tu ComputeClass. Esto garantiza que GKE primero intente consumir tu capacidad reservada antes de recurrir a la alternativa.
  • Modo de aprovisionamiento de inicio flexible: Habilita la cola flexible con el flexStart campo en tu ComputeClass y configura las duraciones de reemplazo de nodos de resguardo con los nodeRecycling campos.
  • VMs Spot: Indica a GKE que use VMs Spot cuando aprovisione nodos para esa regla de prioridad. Para ello, establece el spot campo en true.
  • Capacidad según demanda combinada con una política de ubicación multizonal: Declara las configuraciones de máquinas estándar en la lista de prioridades y configura una estrategia de ubicación de resguardo con los campos location.

ComputeClasses no admite reservas futuras ni reservas futuras de hasta 90 días (en modo de calendario).

Ejemplos de opciones de consumo con ComputeClasses

En las siguientes secciones, se proporcionan ejemplos de configuración para estas estrategias.

Reservas con configuración de resguardo

Esta configuración funciona mejor para cargas de trabajo que pueden tolerar interrupciones, en lugar de las cargas de trabajo que dependen de datos persistentes o que deben ejecutarse hasta completarse.

Esta configuración establece una estrategia de resguardo resistente con los siguientes pasos:

  1. Consume reservas primero: GKE intenta aprovisionar nodos con tu reserva de capacidad específica y comprada previamente.
  2. Recurre al inicio flexible: Si la capacidad de reserva está completamente utilizada, GKE recurre a recursos de inicio flexible con descuento y de corta duración.
  3. Recurre a la opción según demanda: Como resguardo final, GKE aprovisiona recursos estándar según demanda.
  4. Vuelve a migrar a las reservas: Si habilitas la migración activa, se le indica a GKE que consolide y migre automáticamente las cargas de trabajo a los nodos de reserva de mayor prioridad en cuanto la capacidad esté disponible. Esta migración puede ser disruptiva.

    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
    

Modo de aprovisionamiento de inicio flexible con configuración de reciclaje de nodos

Esta configuración administra la capacidad con descuento y de corta duración con un tiempo de actividad continuo con los siguientes pasos:

  1. Solicita VMs de inicio flexible: GKE solicita instancias de VM de la cola de inicio flexible (que se ejecutan sin interrupciones durante un máximo de siete días).
  2. Supervisa el vencimiento de la concesión: GKE realiza un seguimiento de la duración restante de los nodos de inicio flexible activos.
  3. Activa el reciclaje de nodos: Veinte minutos (1,200 segundos) antes de que venza la concesión de la VM, GKE aprovisiona automáticamente un nodo de reemplazo.
  4. Vuelve a programar las cargas de trabajo: Las cargas de trabajo migran al nodo nuevo y reanudan la ejecución sin interrupción del servicio.

    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
    

Configuración de la política de asignación multizonal

Esta configuración omite las restricciones de suministro de una sola zona con los siguientes pasos:

  1. Define las zonas de destino: Enumeras varias zonas de copia de seguridad (como us-central1-a, us-central1-b y us-central1-c) en las reglas de prioridad.
  2. Amplía los parámetros de destino: Estableces la política de ubicación en ANY. Esta configuración le indica al escalador automático del clúster que busque la capacidad solicitada en todas las zonas especificadas.
  3. Analiza la disponibilidad zonal: Durante los eventos de aumento de escala, GKE analiza las zonas designadas.
  4. Aprovisiona en las zonas disponibles: GKE aprovisiona de inmediato los nodos de carga de trabajo solicitados en cualquier zona de destino que tenga capacidad coincidente. Esta estrategia evita bloqueos en las colas de asignación.

    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
    

¿Qué sigue?