[KCDSpain2021] Cómo desplegar redes neuronales en kubernetes con HW cuda

¿Cómo está el tema de Spot Instances (AWS/AWS) o Preemptible (GCP) para este tipo de workloads con hardware “especial”?

Hola, no creo que haya diferencia, pero lamentablemente en mi caso lo que he tocado es OnPremises y Azure. En el caso de Azure tenemos los conceptos similares de reserva de máquinas y supongo que aplicarán exactamente igual.

En azure al menos puedes reservar máquinas por 1-3 años a un coste menor pero te vinculas a se coste los años que lo “acuerdes”. Si tu idea es dejar el cluster encendido X tiempo, pues sin problemas, mas barato te sale :slight_smile:

Por supuesto AWS tiene tb hardware CUDA con las mismas opciones que en Azure Recommended GPU Instances - Deep Learning AMI (nº de tarjetas y configuracion aparte) y al ser kubernetes, va a ir igual. Te tendrás que preocupar por el coste, pero por debajo sigue siendo lo mismo, como si lo quieres tener en OnPremises.

Mención aparte es el tema de lo que en Azure se conoce como “Azure container instances” para ráfagas de peticiones que no son capaces de ser absorvidas por los nodos “reservados”. En este caso es una feature que está en public preview, pero tb está soportado. De hecho, en este caso las propias máquinas ya vienen con el driver NVIDIA Cuda pre-instalado con lo que el daemonset ahi no es necesario. Ya te digo que esta forma de desplegar modelos DeepLearning propietarios yo solo le veo ventajas :slight_smile:

1 Like

Buenas @enriquecatala ,

En primer lugar, gracias por la repuesta, aunque la pregunta no era sobre reservas. Las Spot instances de Amazon y Azure, que se llaman Preemptible en GCP no son reservas, es capacidad sobrante que ponen a precio de saldo (hasta 90% de descuento):

Azure: Uso de máquinas virtuales de acceso puntual de Azure - Azure Virtual Machines | Microsoft Docs
GCP: Preemptible VM instances  |  Compute Engine Documentation  |  Google Cloud
AWS: Amazon EC2 Spot – Ahorre hasta un 90 % en comparación con los precios de las instancias bajo demanda

Mi pregunta iba más sobre si existía este tipo de modo de consumo para hardware especializado.

Yo en mi casa, uso GKE en Google Cloud y tengo todos los nodos así, preemptibles. Las máquina mueren de forma aleatoria, pero con el cluster autoscaler, simplemente cuando una instancia muere, entra una nueva. Al final casi no te das cuentas de la afectación de servicio y en el caso GCP, el ahorro del coste de la instancia es de un 60% o así.