En este documento, se describe el corte dinámico en Google Kubernetes Engine (GKE). El corte dinámico te permite configurar subbloques de TPU aprovisionados en diferentes topologías. Esta capacidad reduce la necesidad de volver a crear grupos de nodos, mejora la tolerancia a fallas, ya que permite la recuperación automática cuando se produce una falla, y optimiza el uso de los recursos.
El corte dinámico está destinado a ingenieros de aprendizaje automático (AA) y de plataformas que desean optimizar el uso de la TPU, reducir el tiempo de aprovisionamiento y mejorar la tolerancia a fallas para las cargas de trabajo de entrenamiento e inferencia a gran escala.
Antes de leer este documento, debes estar familiarizado con lo siguiente:
- TPUs en GKE.
- Cluster Director de TPU. El corte dinámico es una función de TPU habilitada por Cluster Director de TPU.
- Reservas en el modo All Capacity Las funciones de corte dinámico están disponibles exclusivamente en las TPUs que usan el modo All Capacity.
¿Qué es el corte dinámico?
El corte dinámico ofrece flexibilidad en la administración de la capacidad de Cloud TPU, ya que te permite desacoplar el aprovisionamiento de TPU. El corte dinámico implica el siguiente proceso:
- Aprovisiona recursos como unidades más pequeñas: Aprovisionas recursos como unidades
llamadas subbloques. Un subbloque es la unidad de compilación lógica fundamental de la capacidad de Ironwood (TPU7x).
Para Ironwood (TPU7x), un subbloque representa un grupo de 16 nodos de VMs de TPU con una topología
4x4x4de chips TPU interconectados. En el contexto del modo All Capacity de TPU y el corte dinámico, un grupo de nodos se asigna directamente a un subbloque. - Une subbloques: El corte dinámico une estos subbloques en cortes más grandes.
Beneficios del corte dinámico
El corte dinámico te ayuda a lograr lo siguiente:
- Reduzca el tiempo de aprovisionamiento: el aprovisionamiento individual de subbloques conduce a un aprovisionamiento general más rápido, ya que minimiza el impacto de cualquier falla única.
- Reduce el tiempo de recuperación: Si se produce una falla en el chip TPU, la unidad de falla más pequeña es un subbloque. El corte dinámico aísla los subbloques defectuosos para que las cargas de trabajo se puedan reprogramar en subbloques en buen estado más rápido que volver a aprovisionar un corte grande completo.
- Cambia la forma de la capacidad: Si tienes requisitos de carga de trabajo diversos, no necesitas borrar y volver a crear grupos de nodos para los cambios de topología. En su lugar, puedes volver a configurar de forma dinámica los grupos de nodos aprovisionados para que coincidan con las formas especificadas.
Elementos clave del corte dinámico
El corte dinámico introduce los siguientes conceptos clave:
- Aprovisionamiento incremental de grupos de nodos: El corte dinámico usa el aprovisionamiento incremental, que es un modelo de aprovisionamiento de grupos de nodos tolerante a errores. Este modelo convierte toda tu capacidad de TPU en grupos de nodos de 16 nodos de VMs de TPU.
- Controlador de corte: Un controlador de recursos personalizados de Kubernetes que se ejecuta dentro de el plano de control de GKE que administra el corte dinámico. El controlador de corte administra el ciclo de vida de un recurso personalizado de corte, que representa un corte dinámico. El controlador de corte controla la creación, la supervisión continua y la eliminación del Slice. Cuando usas un programador, este dirige la creación y eliminación del recurso personalizado de corte.
- Recurso personalizado de corte: Une de forma dinámica los subbloques según la topología de TPU solicitada. Este proceso se basa en la reconfiguración dinámica de la red OCS para conectar los grupos de nodo TPU, lo que ayuda a garantizar un rendimiento optimizado. Puedes inspeccionar el progreso o el estado de la formación de cortes dinámicos si inspeccionas los campos de estado del recurso personalizado de Slice.
Usa programadores para el corte dinámico
Para usar el corte dinámico, puedes usar cualquiera de las siguientes opciones:
- Usa tu propio programador para administrar los recursos personalizados de corte. Esta opción es útil si tienes requisitos de programación complejos o si deseas integrar el corte dinámico con tu infraestructura de programación existente. Para comenzar, consulta Usa el corte dinámico con un programador personalizado.
- Usa un programador para crear automáticamente un recurso personalizado de Slice. Puedes configurar Kueue y la programación con reconocimiento de topología (TAS) para crear automáticamente un recurso personalizado de Slice. Para comenzar, consulta Programa cortes dinámicos con Kueue y TAS.