Noticias

Ubuntu para enseñanza involuntario con NVIDIA RAPIDS en 10 minutos

TLDR; Si solo desea un tutorial para configurar su entorno de ciencia de datos en Ubuntu usando NVIDIA RAPIDS y NGC Containers, simplemente desplácese en dirección a debajo. Sin secuestro, recomendaría estudiar el razonamiento detrás de ciertas opciones para comprender por qué esta es la configuración recomendada.

Configuración locorregional o en la montón

Las nubes públicas ofrecen un gran conjunto de soluciones para los profesionales de datos. Puede configurar una máquina imaginario, un contenedor o usar un entorno inteligente para usar que le presente un cuaderno de Jupyter. Igualmente son excelentes en términos de producir su alternativa y exponer un punto final de inferencia. Sin secuestro, todo comprobado de datos necesita un entorno locorregional.

Si está comenzando su carrera, es mejor comprender exactamente cómo funcionan todas las piezas juntas, estudiar con muchas herramientas y marcos, y hacerlo de una guisa rentable.

Si es un profesional experimentado, siempre se encontrará con un cliente que no puede poner sus datos en una montón pública, es aseverar. por razones de cumplimiento o reglamentarias.

Adicionalmente, me gusta poder sufrir mi trabajo conmigo de delirio y, a veces, no estoy al resonancia de una conexión rápida a Internet. Tener tu propia máquina tiene mucho sentido.

Por qué Ubuntu para profesionales de datos

En términos de sistemas operativos para su entorno locorregional, puede designar entre Linux, Windows y Mac.

LEER  Snapcrafters: conclusión de 2022 | Ubuntu

Podemos eliminar Mac de inmediato, porque no tiene una opción para incluir NVIDIA GPU, y debe tenerlo para cualquier entrenamiento de maniquí serio. Si efectivamente te gusta el ecosistema, puedes cortarlo con una carcasa MacBook y eGPU, pero ya no es compatible.

Otra opción sería Windows, y con WSL puede tener un entorno de expansión prudente donde todas las herramientas y bibliotecas funcionan aceptablemente, pero esta opción sigue siendo un hornacina en la comunidad de enseñanza involuntario por ahora, y la mayoría de la comunidad ejecuta, prueba y escribe tutoriales basados ​​en en Linux.

Ubuntu es la distribución de Linux más popular entre los profesionales de datos porque es tratable de usar y le permite concentrarse en su trabajo, en ocupación de juguetear con el sistema activo. Ubuntu es incluso el sistema activo más popular en nubes públicas, por lo que cualquier cosa que desarrolle localmente puede tener lugar fácilmente a producción sin preocuparse por problemas de compatibilidad.

Canonical está trabajando con muchos socios para hacer que la experiencia de AI / ML sea la mejor para los desarrolladores. Puede obtener más información al respecto en el sitio web de Ubuntu.

Hardware y software

Lo ulterior que hay que analizar es el hardware. Por supuesto, esto depende de su presupuesto, pero la configuración regular que podría encargar es:

  • CPU Intel i7 / i9 o Ryzen 7/9 de AMD
  • Al menos 16 GB de RAM, preferiblemente 32 GB o más
  • GPU NVIDIA: hay dispositivos RTX o Quadro para estaciones de trabajo profesionales, pero una GPU para juegos de la serie 20XX o 30XX incluso sería buena
  • Bonita pantalla y teclado: tienen un gran impacto en su vigor, así que no ahorre en esto y elija ingreso calidad

Gracias a la colaboración de Canonical con NVIDIA, los controladores de la GPU están firmados criptográficamente y hacen que su configuración sea mucho más segura.

Para todas las herramientas básicas de expansión de software, Ubuntu lo cubre, usando apt install o snap install puede tener su IDE o editor privilegiado con un comando de distancia. Como siempre, recomiendo emacs, especialmente usando el situación de configuración de doom emacs.

Existen innumerables bibliotecas y herramientas para el enseñanza involuntario. Si desea un conjunto completo de ellos que esté aceptablemente integrado, probado y habitable en entornos de producción, debe optar por RAPIDS.

Con RAPIDS obtienes:

cuDF: esta es una biblioteca de manipulación de marcos de datos basada en Apache Arrow que acelera la carga, el filtrado y la manipulación de datos para la preparación de datos de entrenamiento del maniquí. Los enlaces de Python de las primitivas de manipulación CUDA DataFrame aceleradas por el núcleo reflejan la interfaz de Pandas para una integración perfecta de los usuarios de Pandas.

cuML: esta colección de bibliotecas de enseñanza involuntario aceleradas por GPU eventualmente proporcionará versiones GPU de todos los algoritmos de enseñanza involuntario disponibles en Scikit-Learn.

cuGRAPH: este es un situación y una colección de bibliotecas de investigación de gráficos

Envases Anaconda o NGC

La ulterior selección es cómo diligenciar su entorno. Cuando juegues con datos durante más tiempo, rápidamente entrarás en un decorado en el que tienes dos proyectos (es aseverar, trabajo y esquema privilegiado) que requieren diferentes versiones de Python, CUDA o Tensorflow. Las dos formas más efectivas de chocar este problema son Anaconda o contenedores.

Recomendaría familiarizarse con entreambos. Para educarse cosas nuevas, haciendo un investigación de datos exploratorio simple con una nueva biblioteca de trazado, prefiero usar conda, ya que es rápido, ocupa poco espacio y es conveniente.

Si incluso sospecho que un esquema podría tener lugar a producción, prefiero usar contenedores, ya que son portátiles entre mi máquina, el clúster K8 privado del cliente y una montón pública.

Por supuesto, puede crear su propia imagen de contenedor y es una gran diplomacia tener, pero incluso puede encontrar imágenes de contenedor listas para usar y aceptablemente probadas en NVIDIA NGC.

Pasando a la producción

Cuando tiene una alternativa en funcionamiento y comienza a pensar en tener lugar a la producción, debe familiarizarse con ML Ops. La mejor guisa de hacerlo es unirse a la comunidad de MLOps.

Instrucciones de instalación

Estas instrucciones son válidas para la última interpretación de Ubuntu LTS, que es 20.04, pero las pilas de ciencia de datos de NVIDIA se actualizan constantemente y incluso se admitirán nuevas versiones de LTS.

Luego de instalar el sistema activo Ubuntu 20.04, necesitamos instalar los controladores para NVIDIA GPU, Docker y el complemento nvidia-docker.

Primero verifique si su GPU se detecta correctamente

Luego instale la pila de ciencia de datos de NVIDIA

git clone https://github.com/NVIDIA/data-science-stack
cd data-science-stack
./data-science-stack setup-system

Puede probar si los controladores se instalaron correctamente usando el comando nvidia-smi.

Opción 1: entornos RAPIDS basados ​​en Conda

data-science-stack create-conda-env

Asegura que el instalador termina:

data-science-stack run-jupyter

Puede ejecutar un cuaderno jupyter que abrirá su navegador.

Opción 2: contenedores Docker con RAPIDS de NVIDIA

La pila de ciencia de datos de NVIDIA ya instaló docker y complementos de NVIDIA para nosotros. Para comprobar si funciona correctamente, puede ejecutar un contenedor de muestra con CUDA:

docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

Ahora puede usar el conjunto completo de contenedores de NVIDIA desde https://ngc.nvidia.com/catalog/ donde puede encontrar soporte para múltiples bibliotecas y marcos. Supongamos que tenemos un esquema que usa la biblioteca Tensorflow y python3. Entonces necesitas pasar

docker pull nvcr.io/nvidia/tensorflow:20.12-tf2-py3

mkdir ~/shared_dir

docker run –gpus all –shm-size=1g –ulimit memlock=-1 –ulimit stack=67108864 -it –rm -v ~/shared_dir:/container_dir nvcr.io/nvidia/tensorflow:20.12-tf2-py3

Y tu entorno está inteligente

Como puede ver, es muy tratable y sencillo configurar un entorno para proyectos de datos. En cinco minutos luego de finalizar la instalación de Ubuntu, puede aterrizar en una computadora portátil o IDE y comenzar a ser productivo. Esta no es nuestra última palabra. Continuaremos trabajando con nuestros socios y para fin de año obtendremos una experiencia aún mejor.

En caso de problemas de sugerencias, puede encontrarnos a mí y al resto del equipo de Ubuntu en Discourse, y al equipo de pila de ciencia de datos de NVIDIA en github.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba