Guía de ejemplo de VMware vSphere Bitfusion - Modificado el 17 de septiembre de 2021 VMware vSphere Bitfusion 4.0

Página creada Francisco Bernabeu
 
SEGUIR LEYENDO
Guía de ejemplo de
VMware vSphere Bitfusion
Modificado el 17 de septiembre de 2021
VMware vSphere Bitfusion 4.0
Guía de ejemplo de VMware vSphere Bitfusion

Puede encontrar la documentación técnica más actualizada en el sitio web de VMware:

https://docs.vmware.com/es/

VMware, Inc.                                      VMware Spain, S.L.
3401 Hillview Ave.                                Calle Rafael Boti 26
Palo Alto, CA 94304                               2.ª planta
www.vmware.com                                    Madrid 28023
                                                  Tel.: +34 914125000
                                                  www.vmware.com/es

               ©
Copyright          2020-2021 VMware, Inc. Todos los derechos reservados. Información sobre el copyright y la
marca comercial.

VMware, Inc.                                                                                                   2
Contenido

         Acerca de la Guía de ejemplo de vSphere Bitfusion 4

         Información actualizada 5

     1 Introducción al uso de aplicaciones de IA y ML con vSphere Bitfusion 6

     2 Instalar y ejecutar aplicaciones de IA y ML con vSphere Bitfusion 7
               Instalar NVIDIA CUDA       7
               Instalar NVIDIA cuDNN      10
               Instalar Python en CentOS y Red Hat Linux   10
               Instalar TensorFlow   11
               Instalar PyTorch y YOLO        15

VMware, Inc.                                                                    3
Acerca de la Guía de ejemplo de vSphere
Bitfusion

La Guía de ejemplo de vSphere Bitfusion proporciona información sobre el uso de vSphere
Bitfusion para ejecutar TensorFlow, PyTorch y YOLO en VMware vSphere.

En VMware, valoramos la inclusión. Para fomentar este principio dentro de nuestra comunidad de
clientes, socios y personal interno, creamos contenido con un lenguaje inclusivo.

La Guía de ejemplo de vSphere Bitfusion describe cómo instalar TensorFlow, PyTorch y YOLO
y, a continuación, ejecutar pruebas y bancos de pruebas mediante vSphere Bitfusion. Esta guía
sirve como base para comprender cómo utilizar aplicaciones y marcos de inteligencia artificial
(IA) y aprendizaje automático (ML) en vSphere Bitfusion.

Audiencia prevista
Esta información está destinada a cualquier usuario que desee utilizar vSphere Bitfusion con
plataformas de aprendizaje automático. La información está destinada a administradores de
sistemas Linux con experiencia y que están familiarizados con la tecnología de máquinas virtuales
y las operaciones de centros de datos que usan VMware vSphere.

VMware, Inc.                                                                                     4
Información actualizada

Esta Guía de ejemplo de vSphere Bitfusion se actualiza con cada versión del producto o cuando
sea necesario.

En esta tabla se muestra el historial de actualizaciones de la Guía de ejemplo de vSphere
Bitfusion.

Revisión                   Descripción

17 de septiembre de 2021   n   Actualización menor a Instalar YOLO.
                           n   Actualización menor a Ejecutar pruebas de YOLO.

17 de agosto de 2021       Versión inicial.

VMware, Inc.                                                                                    5
Introducción al uso de
aplicaciones de IA y ML con
vSphere Bitfusion
                                                                                             1
Para usar aplicaciones de IA y ML con vSphere Bitfusion, debe instalar y configurar varios
componentes.

Para usar TensorFlow, PyTorch y YOLO con vSphere Bitfusion, y realizar pruebas y bancos de
pruebas, debe completar las siguientes tareas.

1   Requisitos previos de instalación.

    a    Instale vSphere Bitfusion.

         Consulte Guía de instalación de VMware vSphere Bitfusion.

    b    Instale NVIDIA CUDA.

    c    Instale NVIDIA cuDNN.

    d    Si utiliza CentOS o Red Hat Linux, debe instalar Python 3.

2   Instale TensorFlow y los bancos de pruebas.

    a    Instale TensorFlow.

    b    Instale los bancos de pruebas de TensorFlow.

    c    Ejecute los bancos de pruebas de TensorFlow para medir el rendimiento de su sistema.

3   Instale PyTorch y YOLO.

    a    Instale las pruebas de YOLO y YOLO.

    b    Ejecute las pruebas de YOLO para medir el rendimiento de su sistema.

VMware, Inc.                                                                                    6
Instalar y ejecutar aplicaciones de
IA y ML con vSphere Bitfusion                                                             2
Para usar aplicaciones de IA y ML con vSphere Bitfusion, instale y configure varios paquetes de
software y marcos de programación.

Este capítulo incluye los siguientes temas:

n   Instalar NVIDIA CUDA

n   Instalar NVIDIA cuDNN

n   Instalar Python en CentOS y Red Hat Linux

n   Instalar TensorFlow

n   Instalar PyTorch y YOLO

Instalar NVIDIA CUDA
Compute Unified Device Architecture (CUDA) es una plataforma de informática y un modelo
de programación paralelo desarrollado por NVIDIA para informática en general en las unidades
de procesamiento gráfico (GPU). CUDA acelera considerablemente las aplicaciones informáticas
mediante la potencia de procesamiento de las GPU. Por ejemplo, los bancos de pruebas de
TensorFlow y PyTorch utilizan CUDA.

Instalar NVIDIA CUDA en Ubuntu
Para ejecutar flujos de trabajo de IA y ML en vSphere Bitfusion, debe instalar CUDA en el sistema
operativo Ubuntu Linux del cliente de vSphere Bitfusion.

Requisitos previos

Compruebe que haya instalado el cliente de vSphere Bitfusion en un sistema operativo Ubuntu
Linux.

Procedimiento

1   Desplácese hasta un directorio de la máquina virtual en la que se va a descargar la
    distribución de NVIDIA CUDA.

      cd 

VMware, Inc.                                                                                      7
Guía de ejemplo de VMware vSphere Bitfusion

2   Descargue y mueva el archivo cuda-ubuntu2004.pin.

      wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-
      ubuntu2004.pin
      sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600

3   Descargue la distribución de NVIDIA CUDA para Ubuntu 20.04 mediante el comando wget.

      wget 

4   Instale el paquete CUDA 11 para Ubuntu 20.04 mediante el comando dpkg -i.

      sudo dpkg -i cuda-repo-ubuntu2004-11-0-local_11.0.3-450.51.06-1_amd64.deb

5   Instale las claves para autenticar el paquete de software mediante el comando apt-key.

    El comando apt-key administra la lista de claves que utiliza apt para autenticar los paquetes.
    Los paquetes que se autenticaron con estas claves se consideran de confianza.

      sudo apt-key add /var/cuda-repo-ubuntu2004-11-0-local/7fa2af80.pub

6   Actualice e instale el paquete de software de CUDA.

      sudo apt-get update
      sudo apt-get install cuda

7   (opcional) Para confirmar el tamaño de la partición de GPU o comprobar los recursos
    disponibles en la implementación de vSphere Bitfusion, ejecute la aplicación de supervisión
    de la interfaz de administración del sistema NVIDIA (nvidia-smi).

      bitfusion run -n 1 nvidia-smi

8   Desplácese hasta el directorio que contiene los archivos de ejemplo de multiplicación de
    matrices de CUDA (matrixMul).

      cd /usr/local/cuda/samples/0_Simple/matrixMul

9   Ejecute los comandos make y bitfusion run en el archivo de ejemplo matrixMul.

      sudo make
      bitfusion run -n 1 ./matrixMul

Pasos siguientes

Instale y configure NVIDIA cuDNN. Consulte Instalar NVIDIA cuDNN.

Instalar NVIDIA CUDA en CentOS o Red Hat Linux
Para ejecutar flujos de trabajo de IA y ML en vSphere Bitfusion, debe instalar CUDA en el sistema
operativo CentOS o Red Hat Linux del cliente de vSphere Bitfusion.

VMware, Inc.                                                                                        8
Guía de ejemplo de VMware vSphere Bitfusion

Requisitos previos

Compruebe que haya instalado el cliente de vSphere Bitfusion en un sistema operativo CentOS o
Red Hat Linux.

Procedimiento

1   Desplácese hasta el directorio de la máquina virtual en la que se va a descargar la
    distribución de NVIDIA CUDA.

      cd 

2   Para descargar el paquete de NVIDIA CUDA 11 para CentOS 8 o Red Hat Linux 8, ejecute el
    comando wget.

      wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda-repo-
      rhel8-11-0-local-11.0.3_450.51.06-1.x86_64.rpm

3   Para instalar el paquete de CUDA, ejecute el comando rpm -i.

      sudo rpm -i cuda-repo-rhel8-11-0-local-11.0.3_450.51.06-1.x86_64.rpm

4   Ejecute los comandos yum clean all y yum -y install como se muestra para actualizar
    el entorno e instalar el paquete de software de CUDA.

      sudo yum clean all
      sudo yum -y install cuda

5   (opcional) Para confirmar el tamaño de la partición de GPU o comprobar los recursos
    disponibles en la implementación de vSphere Bitfusion, ejecute la aplicación de supervisión
    de la interfaz de administración del sistema NVIDIA (nvidia-smi).

      bitfusion run -n 1 nvidia-smi

6   Desplácese hasta el directorio que contiene los archivos de ejemplo de multiplicación de
    matrices de CUDA (matrixMul).

      cd /usr/local/cuda/samples/0_Simple/matrixMul

7   Ejecute los comandos make y bitfusion run en el archivo de ejemplo matrixMul.

      sudo make
      bitfusion run -n 1 ./matrixMul

Pasos siguientes

Instale y configure NVIDIA cuDNN. Consulte Instalar NVIDIA cuDNN.

VMware, Inc.                                                                                       9
Guía de ejemplo de VMware vSphere Bitfusion

Instalar NVIDIA cuDNN
NVIDIA CUDA Deep Neural Network (cuDNN) es una biblioteca de primitivas con aceleración de
GPU para usar con redes neuronales profundas.

Requisitos previos

n   Cree una cuenta de desarrollador de NVIDIA desde la que descargar el paquete de cuDNN
    que coincida con su versión de NVIDIA CUDA y que sea adecuado para su distribución de
    Linux. Consulte https://developer.nvidia.com/cudnn.

n   Compruebe que ha instalado un cliente de vSphere Bitfusion.

n   Compruebe que haya instalado NVIDIA CUDA.

Procedimiento

1   Instale el paquete de NVIDIA cuDNN ejecutando la secuencia de comandos correspondiente
    a su distribución de Linux.

    u    Ubuntu versión 20.04

           sudo dpkg -i libcudnn8_8.0.5.39-1+cuda11.0_amd64.deb

    u    CentOS 8 y Red Hat Linux 8

           sudo rpm -ivh libcudnn8-8.0.5.39-1.cuda11.0.x86_64.rpm

2   (opcional) Para comprobar que NVIDIA cuDNN esté instalado, ejecute ldconfig -p | grep
    cudnn.

Pasos siguientes

n   Si utiliza CentOS o Red Hat Linux, primero debe instalar Python 3. Consulte Instalar Python en
    CentOS y Red Hat Linux.

n   Si utiliza Ubuntu Linux, puede instalar TensorFlow, PyTorch y YOLO.

Instalar Python en CentOS y Red Hat Linux
Para CentOS y Red Hat Linux, debe instalar Python 3.

Si utiliza Ubuntu, no tiene que realizar este procedimiento. Ubuntu viene preinstalado con Python
3.

Procedimiento

1   Actualice todos los paquetes instalados actualmente mediante la ejecución del comando yum
    update.

      sudo yum update

VMware, Inc.                                                                                     10
Guía de ejemplo de VMware vSphere Bitfusion

2   Para instalar Python 3, ejecute el comando dnf.

        sudo dnf install python3

3   (opcional) Para comprobar que está utilizando Python 3, ejecute el comando python3 -V.

        python3 -V
        Python 3.6.8

4   (opcional) Tome una instantánea de su máquina virtual.

Pasos siguientes

Instale TensorFlow, PyTorch y YOLO. Consulte Instalar TensorFlow y Instalar PyTorch y YOLO.

Instalar TensorFlow
TensorFlow es una plataforma de código abierto de extremo a extremo para el aprendizaje
automático. Cuenta con un ecosistema integral y flexible de herramientas, bibliotecas y recursos
de la comunidad que permite a los investigadores impulsar la vanguardia en el aprendizaje
automático, y a los desarrolladores crear e implementar fácilmente aplicaciones basadas en el
aprendizaje automático.

TensorFlow se puede utilizar en una variedad de tareas, pero tiene un enfoque particular
en capacitación e inferencia de redes neuronales profundas. La plataforma es una biblioteca
matemática simbólica basada en el flujo de datos y la programación diferenciable.

Instalar TensorFlow
TensorFlow es el marco de aprendizaje automático que se utiliza con vSphere Bitfusion.

Instale TensorFlow mediante pip3, que es el instalador del paquete para Python 3. El
procedimiento se aplica a Ubuntu 20.04, CentOS 8 y Red Hat Linux 8.

Requisitos previos

n   Compruebe que ha instalado un cliente de vSphere Bitfusion.

n   Verifique que haya instalado NVIDIA CUDA y NVIDIA cuDNN en su sistema operativo Linux.

Procedimiento

1   Si instala TensorFlow en Ubuntu 20.04, instale otros recursos de Python.

    sudo apt-get -y install python3-testresources

2   Instale pip3 ejecutando la secuencia de comandos correspondiente a su distribución y
    versión de Linux.

    n     Ubuntu 20.04

           sudo apt-get install -y python3-pip

VMware, Inc.                                                                                       11
Guía de ejemplo de VMware vSphere Bitfusion

    n     CentOS 8 y Red Hat Linux 8

           sudo yum install -y python36-devel
           sudo pip3 install -U pip setuptools

3   Instale TensorFlow mediante el comando pip3 install.

        sudo pip3 install tensorflow-gpu==2.4

Instalar bancos de pruebas de TensorFlow
Los bancos de pruebas de TensorFlow son aplicaciones de aprendizaje automático de código
abierto que se diseñan para probar el rendimiento del marco de TensorFlow.

Cree ramas y descargue los bancos de pruebas de TensorFlow en el entorno local. En Git, una
rama es una línea de desarrollo independiente.

Requisitos previos

Compruebe que haya instalado TensorFlow.

Procedimiento

1   Instale git.

    n     Ubuntu 20.04

           sudo apt install -y git

    n     CentOS 8 y Red Hat Linux 8

           sudo yum -y update
           sudo yum install git

2   Cree el directorio ~/bitfusion y conviértalo en su directorio de trabajo.

        mkdir -p bitfusion
        cd ~/bitfusion

3   Clone el repositorio de Git de los bancos de pruebas de Tensorflow en su entorno local.

        git clone https://github.com/tensorflow/benchmarks.git

4   Desplácese hasta el directorio de bancos de pruebas y enumere las ramas del repositorio.

        cd benchmarks
        git branch -a

        master
        remotes/origin/HEAD -> origin/master
        ...

VMware, Inc.                                                                                   12
Guía de ejemplo de VMware vSphere Bitfusion

      remotes/origin/cnn_tf_v1.13_compatible
      ...
      remotes/origin/cnn_tf_v2.1_compatible
      ...

5   Realice una retirada de Git y enumere el repositorio de bancos de pruebas de TensorFlow.

      git checkout cnn_tf_v2.1_compatible

      Branch cnn_tf_v2.1_compatible set up to track remote branch cnn_tf_v2.1_compatible
      from origin.
      Switched to a new branch ‘cnn_tf_v2.1_compatible’

      git branch

      cnn_tf_tf_v2.1_compatible
      master

Ejecutar bancos de pruebas de TensorFlow
Puede ejecutar los bancos de prueba de TensorFlow para probar el rendimiento de su
implementación de vSphere Bitfusion y TensorFlow.

Al ejecutar los bancos de prueba de TensorFlow con diversas configuraciones, entenderá mejor
cómo responden las cargas de trabajo de aprendizaje automático en su entorno de vSphere
Bitfusion.

Procedimiento

1   Para desplazarse al directorio ~/bitfusion/, ejecute cd ~/bitfusion/.

2   Para utilizar el script de bancos de prueba tf_cnn_benchmarks.py, ejecute el comando
    bitfusion run.

    Al ejecutar los comandos del ejemplo, se utiliza toda la memoria de una sola GPU y los datos
    de aprendizaje automático preinstalados en el directorio /data.

      bitfusion run -n 1 -- python3 \
      ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \
      --data_format=NCHW \
      --batch_size=64 \
      --model=resnet50 \
      --variable_update=replicated \
      --local_parameter_device=gpu \
      --nodistortions \
      --num_gpus=1 \
      --num_batches=100 \
      --data_dir=/data \
      --data_name=imagenet \
      --use_fp16=False

VMware, Inc.                                                                                   13
Guía de ejemplo de VMware vSphere Bitfusion

3   Para utilizar el script de bancos de prueba tf_cnn_benchmarks.py, ejecute el comando
    bitfusion run con el parámetro -p 0.67.

    Al ejecutar los comandos del ejemplo, se utiliza el 67 % de la memoria de una sola GPU y los
    datos de aprendizaje automático preinstalados en el directorio /data. El parámetro -p 0.67
    le permite ejecutar otro trabajo en el 33 % restante de la partición de memoria de la GPU.

      bitfusion run -n 1 -p 0.67 -- python3 \
      ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \
      --data_format=NCHW \
      --batch_size=64 \
      --model=resnet50 \
      --variable_update=replicated \
      --local_parameter_device=gpu \
      --nodistortions \
      --num_gpus=1 \
      --num_batches=100 \
      --data_dir=/data \
      --data_name=imagenet \
      --use_fp16=False

4   Para utilizar el script de bancos de prueba tf_cnn_benchmarks.py, ejecute el comando
    bitfusion run con los datos sintetizados.

    Al ejecutar los comandos del ejemplo, se utiliza toda la memoria de una sola GPU y ningún
    dato de aprendizaje automático preinstalado. TensorFlow puede crear datos producidos con
    un conjunto simulado de imágenes.

      bitfusion run -n 1 -- python3 \
      ./benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py \
      --data_format=NCHW \
      --batch_size=64 \
      --model=resnet50 \
      --variable_update=replicated \
      --local_parameter_device=gpu \
      --nodistortions \
      --num_gpus=1 \
      --num_batches=100 \
      --use_fp16=False

Resultados

Ahora puede ejecutar los bancos de pruebas de TensorFlow con vSphere Bitfusion con las
GPU compartidas desde un servidor remoto. Los bancos de pruebas admiten muchos modelos
y parámetros para ayudarle a analizar un gran espacio dentro de la disciplina de aprendizaje
automático. Para obtener más información, consulte Guía de usuario de VMware vSphere
Bitfusion.

VMware, Inc.                                                                                     14
Guía de ejemplo de VMware vSphere Bitfusion

Instalar PyTorch y YOLO
PyTorch es una biblioteca de aprendizaje automático de código abierto basada en la biblioteca
de Torch, que se utiliza para aplicaciones como la visión por computadora y el procesamiento
del lenguaje natural. Es un software gratuito y de código abierto publicado bajo la licencia BSD
modificada.

Puede usar PyTorch para implementar un detector de objetos basado en You Only Look Once
(YOLO) v3. YOLO es un detector de objetos que utiliza características aprendidas por una red
neuronal convolucional profunda para detectar un objeto.

Instalar YOLO
YOLO es una implementación mínima de PyTorch, con compatibilidad para capacitación,
inferencia y evaluación. PyTorch es una biblioteca de aprendizaje automático (ML) que se puede
utilizar con vSphere Bitfusion. Las pruebas de YOLO son aplicaciones de ML de código abierto
que se diseñan para probar el rendimiento de su implementación de vSphere Bitfusion.

El procedimiento se aplica a Ubuntu 20.04, CentOS 8 y Red Hat Linux 8.

Requisitos previos

n   Compruebe que ha instalado un cliente de vSphere Bitfusion.

n   Verifique que haya instalado NVIDIA CUDA y NVIDIA cuDNN en su sistema operativo Linux.

n   Compruebe que la máquina virtual tenga al menos 150 GB de espacio libre.

Procedimiento

1   Cree una carpeta bitfusion y desplácese hasta ella.

        mkdir -p ~/bitfusion
        cd ~/bitfusion

2   Instale recursos adicionales para un sistema operativo Ubuntu Linux.

    a     Descargue la información del paquete desde todos los orígenes configurados.

          sudo apt update

    b     Instale zip.

          sudo apt install -y zip

    c     Instale los recursos de prueba de Python.

          sudo apt install -y python3-testresources

    d     Instale el paquete libgl1-mesa-glx.

          sudo apt install -y libgl1-mesa-glx

VMware, Inc.                                                                                       15
Guía de ejemplo de VMware vSphere Bitfusion

3   Instale git.

    n    Ubuntu 20.04

           sudo apt install -y git

    n    CentOS 8 y Red Hat Linux 8

           sudo yum install -y git

4   Instale pip3 ejecutando la secuencia de comandos correspondiente a su distribución y
    versión de Linux.

    n    Ubuntu 20.04

           sudo apt install -y python3-pip

    n    CentOS 8 y Red Hat Linux 8

           sudo yum install -y python36-devel
           sudo pip3 install -U pip setuptools

5   Instale las pruebas de YOLO y YOLO.

    a    Descargue el repositorio de YOLO mediante el comando git clone.

           git clone https://github.com/eriklindernoren/PyTorch-YOLOv3

    b    Desplácese hasta la carpeta weights.

           cd PyTorch-YOLOv3/weights

    c    Ejecute el script del instalador download_weights.sh.

         bash download_weights.sh

    d    Navegue a la carpeta de datos.

         cd ../data

    e    Ejecute el script del instalador get_coco_dataset.sh.

         bash get_coco_dataset.sh

    f    Desplácese hasta la carpeta principal mediante el comando cd ...

    g    Instale y utilice Poetry para completar el proceso de instalación de YOLO.

         Poetry es una herramienta para administración y empaquetado de dependencias en
         Python.

           pip3 install poetry --user
           export PATH=~/.local/bin:$PATH
           poetry install

VMware, Inc.                                                                               16
Guía de ejemplo de VMware vSphere Bitfusion

Ejecutar pruebas de YOLO
Al ejecutar las pruebas de YOLO, puede comprobar el rendimiento de las cargas de trabajo de
ML en su entorno de vSphere Bitfusion.

Requisitos previos

n   Compruebe que ha instalado un cliente de vSphere Bitfusion.

n   Compruebe que ha instalado CUDA y cuDNN en su distribución de Linux.

n   Compruebe que ha instalado YOLO y los scripts de prueba de YOLO.

Procedimiento

1   Desplácese hasta la carpeta cd PyTorch-YOLOv3.

2   (opcional) Compruebe que ha instalado YOLO correctamente.

    a     Ejecute una prueba de YOLO utilizando las CPU de la máquina virtual del cliente de
          vSphere Bitfusion.

          poetry run yolo-test --weights weights/yolov3.weights

    b     Después de iniciar YOLO, presione Control + C en el teclado para cancelar el proceso de
          prueba.

          Las pruebas de YOLO que utilizan la potencia informática de la CPU requieren mucho
          tiempo para finalizar.

3   Para ejecutar el script de prueba yolov3.weights mediante GPU, utilice el comando
    bitfusion run.

    Al ejecutar el siguiente comando, se utiliza toda la memoria de una sola GPU.

        bitfusion run -n 1 -- poetry run yolo-test --weights weights/yolov3.weights

Resultados

Ahora puede ejecutar pruebas de Yolo con vSphere Bitfusion con las GPU compartidas desde un
servidor remoto. Las pruebas ayudan a comprender cómo utilizar YOLO dentro de la disciplina
de aprendizaje automático.

VMware, Inc.                                                                                        17
También puede leer