Puesta en marcha de cnvrg.io
En esta sección se proporcionan los detalles para desplegar EL NÚCLEO cnvrg mediante gráficos Helm.
Ponga en marcha EL NÚCLEO cnvrg mediante Helm
Timón es la forma más sencilla de poner en marcha cnvrg rápidamente mediante cualquier clúster, en las instalaciones, MiniClube o en cualquier clúster de cloud (como AKS, EKS y GKE). En esta sección se describe cómo se instaló cnvrg en una instancia de las instalaciones (DGX-1) con Kubernetes instalado.
Requisitos previos
Antes de completar la instalación, debe instalar y preparar las siguientes dependencias en su equipo local:
-
Kubectl
-
Timón 3.x
-
Clúster de Kubernetes 1.15 o posterior
Despliegue mediante Helm
-
Para descargar los gráficos cnvrg del timón más actualizados, ejecute el siguiente comando:
helm repo add cnvrg https://helm.cnvrg.io helm repo update
-
Antes de poner en marcha cnvrg, necesita la dirección IP externa del clúster y el nombre del nodo en el que se va a implementar cnvrg. Para poner en marcha cnvrg en un clúster de Kubernetes en las instalaciones, ejecute el siguiente comando:
helm install cnvrg cnvrg/cnvrg --timeout 1500s --wait \ --set global.external_ip=<ip_of_cluster> \ --set global.node=<name_of_node>
-
Ejecute el
helm install
comando. Todos los servicios y sistemas se instalan automáticamente en el clúster. El proceso puede tardar hasta 15 minutos. -
La
helm install
command puede tardar hasta 10 minutos. Cuando finalice la implementación, vaya a la dirección URL de su cnvrg recién implementado o agregue el nuevo clúster como un recurso dentro de su organización. Lahelm
Command le informa de la URL correcta.Thank you for installing cnvrg.io! Your installation of cnvrg.io is now available, and can be reached via: Talk to our team via email at
-
Cuando el estado de todos los contenedores se ejecuta o se completa, cnvrg se ha implementado correctamente. Debería ser similar a la siguiente salida de ejemplo:
NAME READY STATUS RESTARTS AGE cnvrg-app-69fbb9df98-6xrgf 1/1 Running 0 2m cnvrg-sidekiq-b9d54d889-5x4fc 1/1 Running 0 2m controller-65895b47d4-s96v6 1/1 Running 0 2m init-app-vs-config-wv9c4 0/1 Completed 0 9m init-gateway-vs-config-2zbpp 0/1 Completed 0 9m init-minio-vs-config-cd2rg 0/1 Completed 0 9m minio-0 1/1 Running 0 2m postgres-0 1/1 Running 0 2m redis-695c49c986-kcbt9 1/1 Running 0 2m seeder-wh655 0/1 Completed 0 2m speaker-5sghr 1/1 Running 0 2m
Formación de modelos de visión computarizada con ResNet50 y el conjunto de datos de rayos X torácicos
Cnvrg.io AI OS se puso en marcha en una configuración de Kubernetes en una arquitectura de IA ONTAP de NetApp basada en el sistema NVIDIA DGX. Para la validación, se utilizó el conjunto de datos de radiografía de tórax de los NIH que consistía en imágenes desidentificadas de radiografías de tórax. Las imágenes estaban en formato PNG. Los datos fueron proporcionados por el Centro clínico de los NIH y están disponibles a través del "Sitio de descarga de NIH". Utilizamos una muestra de 250 GB de los datos con 627, 615 imágenes en 15 clases.
El conjunto de datos se cargó en la plataforma cnvrg y se almacenó en caché en una exportación NFS desde el sistema de almacenamiento AFF A800 de NetApp.
Configure los recursos de computación
La arquitectura cnvrg y la funcionalidad de programación de metadatos permiten que los ingenieros y profesionales DE TECNOLOGÍA adjunte diferentes recursos informáticos a una única plataforma. En nuestra configuración, utilizamos el mismo cnvrg de clúster que se puso en marcha para ejecutar cargas de trabajo de aprendizaje profundo. Si necesita conectar clústeres adicionales, utilice la GUI, tal como se muestra en la siguiente captura de pantalla.
Cargar datos
Para cargar datos en la plataforma cnvrg, puede utilizar la interfaz gráfica de usuario o la interfaz de línea de comandos cnvrg. En el caso de conjuntos de datos de gran tamaño, NetApp recomienda el uso de la CLI porque es una herramienta sólida, escalable y fiable capaz de gestionar un gran número de archivos.
Para cargar datos, realice los siguientes pasos:
-
Descargue el "CLI de cnvrg".
-
desplácese hasta el directorio de rayos x.
-
Inicialice el conjunto de datos en la plataforma con el
cnvrg data init
comando. -
Cargue todo el contenido del directorio en el lago de datos central con el
cnvrg data sync
Command.una vez que los datos se cargan en el almacén de objetos central (StorageGRID, S3 u otros), puede navegar por la GUI. La siguiente figura muestra un archivo PNG cargado de imagen de fibrosis torácica. Además, cnvrg introduce los datos de modo que cualquier modelo que cree pueda reproducirse en la versión de los datos.
Datos de Cach
Para realizar el entrenamiento con más rapidez y evitar la descarga de más de 600 000 archivos para cada entrenamiento y experimento, utilizamos la función de almacenamiento en caché de datos después de cargar los datos inicialmente en el almacén de objetos del lago de datos central.
Después de que los usuarios hagan clic en caché, cnvrg descarga los datos de su registro específico del almacén de objetos remoto y los almacena en caché en el volumen NFS de ONTAP. Una vez que finalice, los datos estarán disponibles para el entrenamiento instantáneo. Además, si los datos no se utilizan durante unos días (para el entrenamiento de modelos o la exploración, por ejemplo), cnvrg borra automáticamente la memoria caché.
Cree un ML de canalización con datos en caché
Cnvrg fluye le permite construir fácilmente tuberías ML de producción. Los flujos son flexibles, pueden funcionar para cualquier tipo de caso de uso DE ML y pueden crearse a través de la GUI o el código. Cada componente de un flujo puede ejecutarse en un recurso de computación diferente con una imagen de Docker diferente, por lo que es posible crear canalizaciones de APRENDIZAJE AUTOMÁTICO optimizadas y de cloud híbrido.
Cómo construir el flujo de la radiografía de tórax: Ajuste de los datos
Hemos añadido nuestro conjunto de datos a un flujo recién creado. Al agregar el conjunto de datos, puede seleccionar la versión específica (Commit) e indicar si desea la versión en caché. En este ejemplo, hemos seleccionado la confirmación almacenada en caché.
Cómo construir el flujo de rayos X del tórax: Ajuste del modelo de entrenamiento: ResNet50
En la canalización, puede agregar cualquier tipo de código personalizado que desee. En cnvrg, también existe la biblioteca de IA, una colección de componentes DE ML reutilizables. En la biblioteca de IA existen algoritmos, scripts, orígenes de datos y otras soluciones que se pueden usar en cualquier flujo DE APRENDIZAJE profundo o DE ML. En este ejemplo, hemos seleccionado el módulo ResNet50 premontado. Se utilizaron parámetros predeterminados como batch_size:128, épocas:10 y más. Estos parámetros pueden verse en los documentos de la Biblioteca de IA. La siguiente captura de pantalla muestra el nuevo flujo con el conjunto de datos de rayos X conectado a ResNet50.
Defina el recurso de computación para ResNet50
Cada algoritmo o componente en flujos cnvrg puede ejecutarse en una instancia de computación diferente, con una imagen de Docker diferente. En nuestra configuración, queríamos ejecutar el algoritmo de entrenamiento en los sistemas DGX de NVIDIA con la arquitectura de IA ONTAP de NetApp. En la siguiente figura, hemos seleccionado gpu-real
, que es una plantilla de cálculo y una especificación para nuestro clúster local. También creamos una cola de plantillas y seleccionamos varias plantillas. De esta manera, si el gpu-real
no se puede asignar el recurso (si, por ejemplo, otros científicos de datos lo están utilizando), puede habilitar la explosión automática en el cloud añadiendo una plantilla de proveedor de cloud. La siguiente captura de pantalla muestra el uso de gpu-real como nodo de computación para ResNet50.
Seguimiento y seguimiento de resultados
Después de ejecutar un flujo, cnvrg activa el motor de seguimiento y supervisión. Cada ejecución de un flujo se documenta y actualiza automáticamente en tiempo real. Hiperparámetros, métricas, uso de recursos (utilización de GPU, etc.), versión de código, artefactos, registros Y así sucesivamente están automáticamente disponibles en la sección experimentos, como se muestra en las dos capturas de pantalla siguientes.