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 el uso de los recursos para evitar su subutilización, 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 el contenido de Google Cloud , consulta Roles y tareas comunes del usuario de GKE.

Comprende las opciones de consumo

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

  • A pedido: Consumes TPU o GPU en GKE sin organizar la capacidad con anticipación. Antes de solicitar recursos, debes tener suficiente cuota a pedido para el tipo y la cantidad específicos de aceleradores. La opción a pedido es la opción de consumo más flexible; sin embargo, no hay garantía de que haya suficientes recursos a pedido disponibles para satisfacer tu solicitud.
  • Reservas: Reservas recursos por un período determinado. Una reserva puede ser cualquiera de las siguientes opciones:
    • 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 sobre TPU y GPU.
    • Reservas futuras de hasta 90 días (en modo de calendario): Solicitas capacidad para un período específico, con un asesor de calendario que sugiere las fechas disponibles. Las reservas futuras de hasta 90 días (en modo de calendario) ofrecen más flexibilidad para duraciones más cortas 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 la capacidad esté disponible, 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 hay capacidad disponible. Las GPU o TPU 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 orquestar estas opciones con ComputeClasses.

Información sobre la cuota de aceleradores en GKE

Las cuotas y los límites del sistema restringen el uso de los recursos de Google Cloud para garantizar la disponibilidad de recursos para todos los usuarios de Google Cloud . 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 incluir una cuota de aceleradores significativa. Debes solicitar y recibir la aprobación de la cuota para tipos de aceleradores y regiones específicos.

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 de "Cuota" correspondientes que se indican 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 una cuota cuando uses ComputeClasses personalizadas en Autopilot. Los nodos aprovisionados para cumplir con los requisitos de ComputeClass siguen consumiendo 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 valiosos, como las GPU y las TPU. Para acceder a la cuota del acelerador, actualiza a una cuenta pagada.

Para verificar y solicitar cuota, ve a la página Cuotas en la consola de Google Cloud . Puedes filtrar por 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 picos repentinos en el consumo de recursos.
    • Inferencia: Por lo general, requiere aceleradores optimizados para la escalabilidad y un menor costo. Las cargas de trabajo de inferencia pueden requerir una cantidad significativa de memoria del acelerador durante los aumentos repentinos en el consumo de recursos.
  • Duración 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, el desarrollo o las pruebas de la aplicación, la producción o la 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 de presupuesto 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 nuevos aceleradores 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)
  • Duración: A largo plazo (por reservación)
  • Cualquier GPU (excepto A4X, A4 o A3 Ultra)
  • Cualquier TPU
  • Costo: Se te cobra el período de reserva completo.
  • Cuota: La cuota se aumenta automáticamente antes de que se entregue la capacidad.
  • Cargas de trabajo de larga duración y a gran escala, como el entrenamiento previo de modelos de base o la inferencia con 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 todo el período de reserva.
  • Cuota: La cuota se aumenta automáticamente antes de que se entregue la capacidad.
  • Cargas de trabajo de larga duración y a gran escala, como el entrenamiento previo de modelos de base o la inferencia con 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 GPU
  • A3 Edge
  • Ironwood (TPU7x)
  • TPU v6e
  • TPU v5p
  • TPU v5e
  • Costo: Con descuento (hasta un 53%) Se te cobrará por el período de reserva.
  • Cuota: No se cobra ninguna 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, la comparación o las pruebas de optimización de la plataforma
Modo de aprovisionamiento de inicio flexible
  • Tiempo de aprovisionamiento: On demand (sujeto a disponibilidad)
  • Duración: 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 pruebas de concepto o pruebas de integración
VMs Spot
  • Tiempo de aprovisionamiento: On demand (sujeto a disponibilidad)
  • Duración: 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 tolerantes a errores y de menor prioridad, como CI/CD, análisis de datos o computación de alto rendimiento (HPC)
  • Cargas de trabajo altamente interrumpibles
A pedido (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 a pedido de GPU o TPU.
  • 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 y automatizar de forma dinámica tu estrategia de consumo de aceleradores definiendo una lista de configuraciones de resguardo basada en prioridades. Durante las operaciones de escalamiento vertical, 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 ver manifiestos de YAML completos, consulta Ejemplos de opciones de consumo con ComputeClasses.

  • Reservas: Puedes definir el nombre de la reserva en el campo reservations de tu ComputeClass. Esto garantiza que GKE primero intente consumir tu capacidad reservada antes de volver a la capacidad predeterminada.
  • Modo de aprovisionamiento de inicio flexible: Habilita la cola flexible con el campo flexStart en tu ComputeClass y configura las duraciones de reemplazo de nodos de respaldo con los campos nodeRecycling.
  • VMs Spot: Indica a GKE que use VMs Spot cuando aprovisione nodos para esa regla de prioridad configurando el campo spot en true.
  • Capacidad a pedido 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 respaldo con los campos location.

Las ComputeClasses no admiten 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 las 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 resiliente con los siguientes pasos:

  1. Consumir reservas primero: GKE intenta aprovisionar nodos con tu reserva de capacidad específica comprada anticipadamente.
  2. Recurrir a inicio flexible: Si la capacidad de la reserva se utiliza por completo, GKE recurre a recursos de inicio flexible con descuento y de corta duración.
  3. Recurrir a la opción On-demand: Como último recurso, GKE aprovisiona recursos estándar según demanda.
  4. Migra de vuelta a las reservas: Habilitar la migración activa le indica a GKE que consolide y migre automáticamente las cargas de trabajo de vuelta a los nodos de reserva con mayor prioridad en cuanto haya capacidad disponible. Esta migración puede ser perjudicial.

    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 siguiendo estos pasos:

  1. Solicita VMs de inicio flexible: GKE solicita instancias de VM desde la cola de inicio flexible (que se ejecutan sin interrupciones durante un máximo de siete días).
  2. Supervisa el vencimiento del arrendamiento: GKE hace 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 el arrendamiento de la VM, GKE aprovisiona automáticamente un nodo de reemplazo.
  4. Reprograma las cargas de trabajo: Las cargas de trabajo se migran al nodo nuevo y se reanuda la ejecución sin interrupciones 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 multizona

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

  1. Define zonas de destino: Enumera 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 segmentación: Establece la política de ubicación en ANY. Este parámetro de configuración 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 escalado vertical, GKE analiza las zonas designadas.
  4. Aprovisionamiento en zonas disponibles: GKE aprovisiona de inmediato los nodos de carga de trabajo solicitados en la zona de destino que tenga capacidad coincidente. Esta estrategia evita los bloqueos en las filas 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?