Noticias

Ubuntu para estudios forzoso 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 cerca de debajo. Sin confiscación, recomendaría acertar el razonamiento detrás de ciertas opciones para comprender por qué esta es la configuración recomendada.

Configuración lugar o en la cirro

Las nubes públicas ofrecen un gran conjunto de soluciones para los profesionales de datos. Puede configurar una máquina aparente, un contenedor o usar un entorno astuto 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 confiscación, todo investigador de datos necesita un entorno lugar.

Si está comenzando su carrera, es mejor comprender exactamente cómo funcionan todas las piezas juntas, comprobar 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 cirro pública, es sostener. por razones de cumplimiento o reglamentarias.

Adicionalmente, me gusta poder padecer 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 lugar, puede nominar entre Linux, Windows y Mac.

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

Otra opción sería Windows, y con WSL puede tener un entorno de expansión prudente donde todas las herramientas y bibliotecas funcionan perfectamente, pero esta opción sigue siendo un hornacina en la comunidad de estudios forzoso 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 posible de usar y le permite concentrarse en su trabajo, en ocupación de esparcirse con el sistema operante. Ubuntu es igualmente el sistema operante 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 subsiguiente que hay que analizar es el hardware. Por supuesto, esto depende de su presupuesto, pero la configuración legítimo que podría encomendar 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 igualmente sería buena
  • Pantalla y teclado agradables: afectan mucho su vigor, así que no ahorre en esto y elija incorporación calidad

Gracias a la colaboración de Canonical con NVIDIA, los controladores de 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 predilecto con un comando de distancia. Como siempre, recomiendo emacs, especialmente usando el entorno de configuración de doom emacs.

Existen innumerables bibliotecas y herramientas para el estudios forzoso. Si desea un conjunto completo de ellos que esté perfectamente integrado, probado y acondicionado 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 estudios forzoso aceleradas por GPU proporcionará versiones GPU de todos los algoritmos de estudios forzoso disponibles en Scikit-Learn.

cuGRAPH: este es un entorno y una colección de bibliotecas de observación de gráficos

Envases Anaconda o NGC

La subsiguiente disyuntiva es cómo diligenciar su entorno. Cuando juegues con datos durante más tiempo, rápidamente entrarás en un tablado en el que tienes dos proyectos (es sostener, trabajo y plan predilecto) que requieren diferentes versiones de Python, CUDA o Tensorflow. Las dos formas más efectivas de encarar este problema son Anaconda o contenedores.

Recomendaría familiarizarse con entreambos. Para estudiar cosas nuevas, haciendo un observació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 plan 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 cirro pública.

Por supuesto, puede crear su propia imagen de contenedor y es una gran sagacidad tener, pero igualmente puede encontrar imágenes de contenedor listas para usar y perfectamente 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 traducción de Ubuntu LTS, que es la 20.04.

Luego de instalar el sistema operante Ubuntu 20.04, necesitamos instalar los controladores para la GPU NVIDIA

Primero verifique si su GPU se detecta correctamente

Luego instale los controladores. No necesita preocuparse por investigar qué traducción es la adecuada para usted, el instalador de Ubuntu se encargará de esto por usted.

sudo ubuntu-drivers autoinstalación

sudo reiniciar

Puede realizar si todo está instalado correctamente usando el comando nvidia-smi.

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

wget -P / tmp https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh

bash /tmp/Anaconda3-2020.02-Linux-x86_64.sh

Responda las preguntas del instalador y cree el entorno:

conda create -n rapids-0.18 -c rapidsai -c nvidia -c conda-forge
-c por defecto rapids-blazing = 0.18 python = 3.7 cudatoolkit = 11.0

conda activar rápidos-0.18

Puede ejecutar un cuaderno jupyter que abrirá su navegador.

Opción 2: contenedores Docker con RAPIDS de NVIDIA

Instalar Docker

sudo apt-get install -y apt-transport-https ca -ificates curl gnupg-agent software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –

sudo add-apt-repository
«debutante [arch=amd64] https://download.docker.com/linux/ubuntu
$ (lsb_release -cs)
estable»

sudo apt-get update

sudo apt-get install -y docker-ce docker-ce-cli containerd.io

sudo usermod -aG docker $ USER

Instalar nvidia-docker2

distribución = $ (. / etc / os-release; echo $ ID $ VERSION_ID)

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add –

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

curl -s -L https://nvidia.github.io/nvidia-container-runtime/positivo/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list

sudo apt-get update

sudo apt-get install -y nvidia-docker2

sudo systemctl reiniciar ventana acoplable

Compruebe si la instalación funciona correctamente:

Docker ejecutar –rm –gpus todos nvidia / cuda: 11.0-base nvidia-smi

Ahora puede utilizar el conjunto completo de contenedores de NVIDIA desde https://ngc.nvidia.com/catalog/. Supongamos que tenemos un plan que usa la biblioteca Tensorflow y python 3. Entonces necesitas ejecutar

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á astuto

Como puede ver, es muy posible y sencillo configurar un entorno para proyectos de datos. En cinco minutos a posteriori 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 encontrarme a mí y al resto del equipo de Ubuntu en Discourse.

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