Usar GPUs NVIDIA

En esta página se describe cómo llevar a cabo tareas de aprendizaje profundo, como el reconocimiento de imágenes y el procesamiento del lenguaje natural, así como otras tareas que requieren muchos recursos computacionales, mediante grupos de nodos con aceleradores de hardware de unidad de procesamiento gráfico (GPU) de NVIDIA para obtener potencia de cálculo con tu instancia de contenedor de servicio de Knative.

Añadir un grupo de nodos con GPUs a un clúster de GKE

Pide a un administrador que cree un grupo de nodos con GPUs:

  1. Añade un grupo de nodos con GPU a tu clúster de GKE.

  2. Instala los controladores de dispositivo de NVIDIA en los nodos.

Configurar el servicio para que consuma GPUs

Puedes especificar un límite de recursos para consumir GPUs en tu servicio mediante la consola de Google Cloud o la CLI de Google Cloud cuando implementes un servicio nuevo, actualices un servicio o implementes una revisión:

Consola

  1. Ir a Knative serving
  2. Haga clic en Crear servicio para que se muestre el formulario Crear servicio.

  3. En la sección Configuración del servicio:

    1. Selecciona el clúster de GKE con el pool de nodos habilitado para GPU.
    2. Especifica el nombre que quieras darle al servicio.
    3. Haz clic en Siguiente para ir a la siguiente sección.
  4. En la sección Configurar la primera revisión del servicio:

    imagen

    1. Añade una URL de imagen de contenedor.
    2. Haz clic en Ajustes avanzados y, en el menú GPU asignada, selecciona el número de GPUs que quieras asignar a tu servicio. imagen
  5. Haz clic en Siguiente para ir a la siguiente sección.

  6. En la sección Configurar la activación del servicio, selecciona la conectividad que quieras usar para invocar el servicio.

  7. Haz clic en Crear para desplegar la imagen en Knative Serving y espera a que se complete el despliegue.

Línea de comandos

Puedes descargar la configuración de un servicio en un archivo YAML con el comando gcloud run services describe mediante la marca --format=export. A continuación, puedes modificar ese archivo YAML e implementar los cambios con el comando gcloud run services replace. Debe asegurarse de modificar solo los atributos especificados.

  1. Descarga la configuración de tu servicio en un archivo llamado service.yaml en el espacio de trabajo local:

    gcloud run services describe SERVICE --format export > service.yaml

    Sustituye SERVICE por el nombre de tu servicio de Knative.

  2. En su archivo local, actualice el atributo nvidia.com/gpu:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
    name: SERVICE_NAME
    spec:
    template:
     spec:
       containers:
    image: IMAGE_URL
         resources:
           limits:
            nvidia.com/gpu: "GPU_UNITS"

    Sustituye GPU_UNITS por el valor de GPU que quieras en unidades de GPU de Kubernetes. Por ejemplo, especifica 1 para 1 GPU.

  3. Despliega el archivo YAML y sustituye tu servicio por la nueva configuración ejecutando el siguiente comando:

    gcloud run services replace service.yaml

Para obtener más información sobre el rendimiento y el coste de las GPUs, consulta GPUs.