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 |
|
|
|
|
| Reservas futuras |
|
|
|
|
| Reservas futuras de hasta 90 días (en modo de calendario) |
|
|
|
|
| Modo de aprovisionamiento de inicio flexible |
|
|
|
|
| VMs Spot |
|
|
|
|
| Según demanda (GPUs o TPUs) |
|
|
|
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
reservationscampo 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
flexStartcampo en tu ComputeClass y configura las duraciones de reemplazo de nodos de resguardo con losnodeRecyclingcampos. - VMs Spot: Indica a GKE que use VMs Spot cuando
aprovisione nodos para esa regla de prioridad. Para ello, establece el
spotcampo entrue. - 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:
- Consume reservas primero: GKE intenta aprovisionar nodos con tu reserva de capacidad específica y comprada previamente.
- 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.
- Recurre a la opción según demanda: Como resguardo final, GKE aprovisiona recursos estándar según demanda.
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:
- 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).
- Supervisa el vencimiento de la concesión: GKE realiza un seguimiento de la duración restante de los nodos de inicio flexible activos.
- 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.
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:
- Define las zonas de destino: Enumeras varias zonas de copia de seguridad (como
us-central1-a,us-central1-byus-central1-c) en las reglas de prioridad. - 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. - Analiza la disponibilidad zonal: Durante los eventos de aumento de escala, GKE analiza las zonas designadas.
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?
- Obtén más información sobre las GPUs en GKE.
- Obtén más información sobre las TPUs en GKE.
- Obtén más información sobre la inferencia de IA/AA en GKE.