La colocación conjunta de entrenamiento y servicio ejecuta servicios de inference y trabajos de entrenamiento en el mismo clúster de GPU. Mediante el mecanismo de apropiación de cuota de recursos principal y secundaria, los servicios de inference se apropian automáticamente de los recursos de entrenamiento. Al combinar esta función con el autoescalado programado de EAS (Elastic Algorithm Service) y los recursos de cómputo inactivos de DLC (Deep Learning Containers), el clúster prioriza la inference durante el día y ejecuta el entrenamiento por la noche. Así, las GPU se mantienen completamente utilizadas.
Contexto
Escenario de ejemplo
Suponga que cuenta con un clúster de 128 GPU compartido por tres equipos:
El equipo A ejecuta servicios de inference y tiene la prioridad más alta sobre los recursos.
Los equipos B y C ejecutan el entrenamiento de modelos con una prioridad menor que la inference.
Cuando el equipo A necesita más recursos de inference, el sistema recupera automáticamente los recursos de entrenamiento de los equipos B y C.
Durante el día, EAS escala verticalmente para atender el tráfico de inference. Por la noche, reduce su escala para liberar GPU y los trabajos de entrenamiento se inician automáticamente.
Los equipos B y C gestionan sus recursos y trabajos de forma independiente, sin interferir entre sí.
Funcionamiento
Los servicios de inference de EAS se despliegan en la cuota principal, mientras que los trabajos de entrenamiento de DLC se despliegan en las cuotas secundarias. Cuando los servicios de inference requieren más recursos, el sistema se apropia automáticamente del cómputo de entrenamiento. Esta lógica se combina con el autoescalado programado de EAS (escalamiento ascendente de día y descendente de noche) y con los recursos de cómputo inactivos de DLC (uso del cómputo sobrante para entrenar de noche). De este modo, no se necesitan pasos manuales.
Para implementar este escenario, siga estos pasos:
Cree la cuota 1 con 128 GPU y habilite el interruptor child-level compute preemption. Dentro de la cuota 1, cree dos cuotas secundarias: cuota 1.1 (48 GPU) y cuota 1.2 (80 GPU).
Cree workspace_a para el equipo A y vincúlelo a la cuota 1. Despliegue los servicios de inference de EAS en la cuota 1 y configure el autoescalado programado.
Cree workspace_b para el equipo B y vincúlelo a la cuota 1.1. Cree los trabajos de entrenamiento de DLC en la cuota 1.1 con los recursos de cómputo inactivos habilitados.
Cree workspace_c para el equipo C y vincúlelo a la cuota 1.2. Cree instancias de DSW (Data Science Workshop) en la cuota 1.2 para desarrollo.
Procedimiento
Prepare los recursos de cómputo de IA (recursos de cómputo de uso general o recursos de cómputo de IA Lingjun). Los pools de recursos de uso general deben ser de la versión 2.0 para admitir EAS, DLC y DSW al mismo tiempo. Para obtener más información, consulte Resource pool.
-
Haga clic en Add Resource Quota.
-
Cree la cuota 1 con a continuación parámetros clave. Para obtener más información, consulte Create a resource quota o General computing resource quotas.
Seleccione los resources (128 GPU).
Habilite el interruptor Child-level Preemption. Con esta opción activada, los servicios de inference de EAS en la cuota principal pueden apropiarse de los recursos de entrenamiento en las cuotas secundarias.
-
En la columna Actions de la cuota 1, haga clic en New Child-level Resource Quota para crear dos cuotas secundarias. Para obtener más información, consulte Create parent-child quotas.
Cuota 1.1: 48 GPU.
Cuota 1.2: 80 GPU.
-
-
Cree tres espacios de trabajo y vincule cada uno a su cuota correspondiente. Para obtener más información, consulte Create and manage workspaces.
Equipo A: workspace_a, vinculado a la cuota 1.
Equipo B: workspace_b, vinculado a la cuota 1.1.
Equipo C: workspace_c, vinculado a la cuota 1.2.
-
Cree un servicio de inference de EAS en la cuota 1 y configure el autoescalado programado. Para obtener más información, consulte Service Deployment.
Configure las reglas de autoescalado programado de la siguiente manera:
Escale hasta el número objetivo de réplicas a las 8:00 a. m. para atender el tráfico de inference diurno.
Reduzca la escala a cero o a un número mínimo de réplicas a las 10:00 p. m. para liberar GPU destinadas a los trabajos de entrenamiento.
Para conocer la configuración detallada, consulte Scheduled auto scaling.
-
Cree trabajos de entrenamiento de DLC o instancias de DSW en una cuota secundaria y habilite los recursos de cómputo inactivos. Para obtener más información, consulte Create a training job.
Una vez habilitados los recursos de cómputo inactivos, los trabajos de entrenamiento pueden usar el cómputo sobrante más allá del límite de la cuota. Las GPU que EAS libera por la noche se asignan automáticamente a dichos trabajos.
Para conocer la configuración detallada, consulte Use idle-time resources.
Otorgue permisos de administrador de espacio de trabajo a los equipos A, B y C. Para obtener más información sobre la configuración del espacio de trabajo, consulte Configure a workspace. Para conocer las definiciones de roles, consulte Roles and permissions.
Casos de uso
Apropiación de recursos de entrenamiento para inference
En la página Resource Quota, haga clic en la cuota 1. Luego, en la pestaña Overview, habilite el interruptor Child-level compute preemption.
Cuando el servicio de inference del equipo A requiere más recursos de los disponibles, el sistema recupera automáticamente los recursos de entrenamiento de los equipos B y C.
Redistribución de recursos entre los equipos B y C
Ajuste los recursos de las cuotas 1.1 y 1.2 según los requisitos de cada equipo. En la página Resource Quota, busque la cuota 1.1 o la cuota 1.2 y haga clic en Scale en la columna Actions. Para obtener más información, consulte Scale quotas.
Escale la cuota 1.1 de 48 a 56 GPU (agregue 8 GPU).
Reduzca la cuota 1.2 de 80 a 72 GPU (elimine 8 GPU).
Aislamiento de permisos entre los equipos B y C
La cuota 1.1 está vinculada a workspace_b y la cuota 1.2 a workspace_c. Los equipos B y C gestionan sus recursos y trabajos de forma independiente dentro de sus propios espacios de trabajo. Para obtener más información, consulte Workspace scheduling center.
Para configurar los roles de uso de recursos, vaya a la página Workspace Settings y haga clic en la pestaña Scheduling Configuration. En la sección Resource Usage, seleccione los Roles de la cuota objetivo, haga clic en + Add para agregar una entrada de configuración y, por último, haga clic en Save.