Gobierno de tareas para el despliegue del modelo en HyperPod - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Gobierno de tareas para el despliegue del modelo en HyperPod

En esta sección, se explica cómo optimizar los clústeres de Amazon SageMaker HyperPod EKS compartidos para cargas de trabajo de inferencia en tiempo real. Aprenderá a configurar las características de gobernanza de tareas de Kueue, como la administración de cuotas, la programación de prioridades y las políticas de uso compartido de recursos, para garantizar que sus cargas de trabajo de inferencia reciban los recursos de GPU que necesitan durante los picos de tráfico y, al mismo tiempo, mantener una asignación justa entre las actividades de entrenamiento, evaluación y pruebas de sus equipos. Para obtener información general sobre la gobernanza de tareas, consulte SageMaker HyperPod gobierno de tareas.

Funcionamiento de la administración de la carga de trabajo de inferencia

Para gestionar eficazmente los picos de tráfico de inferencia en tiempo real en los clústeres de HyperPod EKS compartidos, implemente las siguientes estrategias de gobierno de tareas utilizando las capacidades existentes de Kueue.

Configuración de las clases de prioridad

Defina clases de prioridad específicas para las cargas de trabajo de inferencia con un peso elevado (por ejemplo, 100) a fin de garantizar que los pods de inferencia se admitan y programen antes que otros tipos de tarea. Esta configuración permite que las cargas de trabajo de inferencia se antepongan a los trabajos de menor prioridad durante la carga del clúster, lo cual es fundamental para mantener los requisitos de baja latencia durante los picos de tráfico.

Dimensiones y asignación de cuotas

Reserve suficientes recursos de GPU en la ClusterQueue de su equipo para gestionar los picos de inferencia esperados. Durante los períodos de poco tráfico de inferencias, los recursos de cuota no utilizados se pueden asignar temporalmente a las tareas de otros equipos. Cuando la demanda de inferencias aumenta, estos recursos prestados se pueden recuperar para priorizar los pods de inferencias pendientes. Para obtener más información, consulte Cluster Queue.

Estrategias de uso compartido de recursos

Elija entre dos enfoques de uso compartido de cuotas en función de sus requisitos:

  1. Control estricto de los recursos: desactive las cuotas de préstamo y los préstamos para garantizar que la capacidad reservada de la GPU esté siempre disponible para sus cargas de trabajo. Este enfoque requiere un tamaño de cuotas suficientemente grande como para poder gestionar los picos de demanda de forma independiente, lo que puede provocar que los nodos estén inactivos durante los períodos de poco tráfico.

  2. Uso compartido flexible de recursos: active el préstamo de cuotas para utilizar los recursos inactivos de otros equipos cuando sea necesario. Los pods prestados se marcan como preferentes y se pueden expulsar si el equipo que las presta recupera su capacidad.

Preferencia dentro del equipo

Active la preferencia dentro del equipo al ejecutar cargas de trabajo mixtas (evaluación, entrenamiento e inferencia) por debajo de la misma cuota. Esto permite que Kueue anteponga los trabajos de menor prioridad dentro de su equipo para incluir pods de inferencia de alta prioridad, de manera que se puedan ejecutar las inferencias en tiempo real sin depender de los préstamos de cuotas externas. Para obtener más información, consulte Preferencia.

Configuración de la carga de trabajo de inferencia de ejemplo

El siguiente ejemplo muestra cómo Kueue administra los recursos de GPU en un clúster de Amazon SageMaker HyperPod compartido.

Configuración del clúster y de la política

El clúster tiene la siguiente configuración:

  • Equipo A: cuota de 10 GPU P4

  • Equipo B: cuota de 20 GPU P4

  • Aprovisionamiento estático: sin escalado automático

  • Capacidad total: 30 P4 GPUs

El grupo de GPU compartido usa esta política de prioridad:

  1. Inferencia en tiempo real: prioridad de 100

  2. Entrenamiento: prioridad de 75

  3. Evaluación: prioridad de 50

Kueue aplica las cuotas de los equipos y las clases de prioridad, y habilita la preferencia y el préstamo de cuotas.

Estado inicial: uso normal del clúster

En operaciones normales:

  • El equipo A realiza tareas de formación y evaluación en los 10 puestos de categoría P4 GPUs

  • El equipo B ejecuta la inferencia (10 P4) y la evaluación (10 P4) en tiempo real dentro de su cuota de 20 GPU

  • El clúster se utiliza por completo y se admiten y se ejecutan todos los trabajos

Pico de inferencia: el equipo B necesita más GPUs

Cuando el equipo B sufre un pico de tráfico, los módulos de inferencia adicionales requieren 5 P4 más. GPUs Kueue detecta que los nuevos pods:

  • Están dentro del espacio de nombres del equipo B

  • Tienen prioridad de 100 (inferencia en tiempo real)

  • Todavía no se han admitido debido a limitaciones de cuota

El proceso de respuesta de Kueue elige entre dos opciones:

Opción 1 - préstamo de cuotas: si el equipo A solo usa 6 de sus 10 P4, Kueue puede admitir los pods del equipo B con las 4 P4 inactivas. Sin embargo, estos recursos prestados se marcan como preferentes: si el equipo A envía trabajos para alcanzar la cuota total, Kueue expulsa los pods de inferencia prestados por el equipo B.

Opción 2 - anteposición automática (recomendada): el equipo B ejecuta trabajos de evaluación de baja prioridad (prioridad 50). Cuando los pods de inferencia de alta prioridad esperan, Kueue antepone los trabajos de evaluación dentro de la cuota del equipo B y admite los pods de inferencia. Este enfoque proporciona una asignación segura de los recursos sin riesgo de expulsión externa.

Kueue sigue un proceso de tres pasos para asignar recursos:

  1. Verificación de cuotas

    Pregunta: ¿El equipo B tiene una cuota que no utiliza?

    • Sí → Admitir los pods

    • No → Continuar con el paso 2

  2. Anteposición automática dentro del equipo B

    Pregunta: ¿Se pueden anteponer los trabajos de menor prioridad del equipo B?

    • Sí → Anteponer los trabajos de evaluación (prioridad 50), liberar 5 P4 y admitir los pods de inferencia

    • No → Continuar con el paso 3

    Este enfoque mantiene las cargas de trabajo dentro de la cuota garantizada del equipo B, lo que evita los riesgos de expulsión externa.

  3. Préstamos de otros equipos

    Pregunta: ¿Se puede tomar prestada una cuota inactiva de otros equipos?

    • Sí → Admitir el uso de una cuota prestada (marcada como preferente)

    • No → El pod conserva el estado NotAdmitted