Implemente y use una plataforma de aprendizaje profundo de varios marcos en Kubernetes

Nodo de origen: 1580762

Descripción

Como profesional del aprendizaje profundo, desea confiabilidad y escalabilidad mientras organiza sus trabajos de capacitación. Además, le gustaría hacer esto de manera coherente en varias bibliotecas. Con Fabric for Deep Learning (FfDL) en Kubernetes, puede lograr esto brindando a los usuarios la capacidad de aprovechar bibliotecas de aprendizaje profundo como Caffe, Torch y TensorFlow en la nube de manera resistente con un esfuerzo mínimo. La plataforma utiliza una capa de distribución y orquestación que facilita el aprendizaje a partir de una gran cantidad de datos en un tiempo razonable a través de los nodos de cómputo. Una capa de aprovisionamiento de recursos permite la gestión flexible de trabajos en recursos heterogéneos, como unidades de procesamiento de gráficos (GPU) y unidades de procesamiento central (CPU), en una nube de infraestructura como servicio (IaaS).

General

El entrenamiento de redes neuronales profundas, conocido como aprendizaje profundo (parte de los métodos de aprendizaje automático), es muy complejo y computacionalmente intensivo. Un usuario típico de aprendizaje profundo está expuesto innecesariamente a los detalles de la infraestructura de hardware y software subyacente, incluida la configuración de máquinas GPU costosas, la instalación de bibliotecas de aprendizaje profundo y la administración de trabajos durante la ejecución para manejar fallas y recuperación. A pesar de la facilidad de obtener hardware de las nubes IaaS y pagar por hora, el usuario aún necesita administrar esas máquinas, instalar las bibliotecas requeridas y garantizar la resistencia de los trabajos de capacitación de aprendizaje profundo.

Aquí es donde radica la oportunidad del aprendizaje profundo como servicio. En este patrón de código, le mostramos cómo implementar un Fabric de aprendizaje profundo en Kubernetes. Mediante el uso de artefactos arquitectónicos nativos de la nube como Kubernetes, microservicios, gráficos de Helm y almacenamiento de objetos, le mostramos cómo implementar y usar un tejido de aprendizaje profundo. Este Fabric abarca varios motores de aprendizaje profundo como TensorFlow, Caffe y PyTorch. Combina la flexibilidad, la facilidad de uso y la economía de un servicio en la nube con el poder del aprendizaje profundo. Le resultará fácil de usar y, al usar las API REST, puede personalizar la capacitación con diferentes recursos según los requisitos del usuario o el presupuesto. Permita que los usuarios se centren en el aprendizaje profundo y las aplicaciones en lugar de centrarse en las fallas.

Flujo

de tus señales

  1. El implementador de FfDL implementa la base de código de FfDL en un clúster de Kubernetes. El clúster de Kubernetes está configurado para usar GPU, CPU o ambos, y tiene acceso al almacenamiento de objetos compatible con S3. Si no se especifica, se crea un pod de S3 simulado localmente.
  2. Una vez implementado, el científico de datos carga los datos de entrenamiento del modelo en el almacén de objetos compatible con S3. FfDL asume que los datos ya están en el formato requerido según lo prescrito por diferentes marcos de aprendizaje profundo.
  3. El usuario crea un archivo de manifiesto del modelo FfDL. El archivo de manifiesto contiene diferentes campos que describen el modelo en FfDL, su información de almacenamiento de objetos, sus requisitos de recursos y varios argumentos (incluidos los hiperparámetros) que son necesarios para la ejecución del modelo durante el entrenamiento y las pruebas. Luego, el usuario interactúa con FfDL mediante CLI/SDK o UI para implementar el archivo de manifiesto del modelo FfDL con un archivo de definición de modelo. El usuario inicia el trabajo de entrenamiento y supervisa su progreso.
  4. El usuario descarga el modelo entrenado y los registros asociados una vez que se completa el trabajo de entrenamiento.

Instrucciones

Encuentre los pasos detallados para este patrón en el LÉAME. Los pasos le mostrarán cómo:

  1. Compile, codifique y cree imágenes de Docker.
  2. Instale los componentes de FfDL con helm install.
  3. Ejecute un script para configurar Grafana para monitorear FfDL.
  4. Obtenga sus terminales Grafana, FfDL Web UI y FfDL REST API.
  5. Ejecute algunos trabajos simples para entrenar un modelo de red convolucional usando TensorFlow y Caffe.

Fuente: https://developer.ibm.com/patterns/deploy-and-use-a-multi-framework-deep-learning-platform-on-kubernetes/

Sello de tiempo:

Mas de Desarrollador de IBM