¡Hola a todos! Mi nombre es Dima Matushkin, soy ingeniera del equipo de Nova y participo en el desarrollo de Nova AI.
En este artículo, veremos uno de los desafíos que enfrenta casi cualquier equipo que ejecuta cargas de trabajo de IA/ML en Kubernetes: cómo usar efectivamente las GPU en un clúster donde la inferencia, el entrenamiento, los experimentos, las computadoras portátiles de los científicos de datos y las tareas por lotes conviven simultáneamente.
Al principio, parece que basta con instalar NVIDIA GPU Operador, transferir tarjetas de vídeo a Kubernetes y empezar a especificar
nvidia.com/gpu
en manifiestos. Para escenarios simples esto es realmente suficiente. Pero tan pronto como las cargas aumentan y las GPU comienzan a competir entre sí, resulta que el problema no está solo en "entregar una tarjeta de video" a un pod específico.
Debe poder iniciar pods conectados como una sola unidad, administrar colas, tener en cuenta las prioridades, no interrumpir las tareas distribuidas debido a la topología de la red y compartir la GPU para que los recursos costosos no queden inactivos. El programador habitual de Kubernetes no cubre estos escenarios de manera integral, por lo que para Nova AI comenzamos a buscar programadores especializados para cargas de trabajo de IA/ML.
Leer más
|
@habr_ai