Despliegue de un cluster de GPU con hardware dedicado para cargas de trabajo de IA en una nube dedicada

El despliegue de cargas de trabajo para modelos de inteligencia artificial, aprendizaje automático y aprendizaje profundo para el modelado de lenguajes puede, en algunos casos, tener requisitos estrictos para la residencia de datos, la seguridad y el cumplimiento.

Para estas cargas de trabajo, Oracle Cloud ofrece varios modelos operativos y de despliegue distribuido, incluidos la nube gubernamental, la nube soberana y la nube dedicada. Una de estas soluciones es Oracle Cloud Infrastructure Dedicated Region, una región en la nube desplegada en un centro de datos controlado por el cliente con las mismas capacidades de servicio e infraestructura que las regiones de nube pública de Oracle.

En regiones de nube pública y dedicada, Oracle Cloud Infrastructure (OCI) permite el acceso directo a un cluster de servidor con hardware dedicado con tecnología de GPU de alto rendimiento y redes de cluster RoCEv2 de Oracle. El cluster de GPU con hardware dedicado proporciona la mejor relación precio-rendimiento del sector para desplegar IA, AA o DL dedicados.

Arquitectura

Esta arquitectura demuestra la relación entre los distintos componentes de un sistema típico y el cluster de GPU con hardware dedicado de HPC en su núcleo.

El procesamiento del lenguaje natural es un modelo de aprendizaje profundo previamente entrenado. Cada modelo varía en su complejidad y se puede dimensionar para el rendimiento óptimo en función de las especificaciones del procesador de GPU y la memoria necesaria para contener sus parámetros. Algunos de los modelos más grandes contienen cientos de miles de millones de parámetros, lo que requiere una enorme cantidad de memoria y capacidad de procesamiento para ejecutar el modelo en tiempo real, lo cual es fundamental para las aplicaciones de inferencia de IA.

Con modelos más grandes, es necesario tener no solo una única instancia de varias GPU, sino también un cluster de cientos de GPU que funcionan en conjunto. Estas instancias también requieren el uso de un sistema de archivos de cluster que se ejecute en la red de cluster para proporcionar tanto IOPS altas como la mejor latencia posible para las operaciones entre nodos del cluster.

Para proporcionar este sistema de archivos de baja latencia y gran ancho de banda, Oracle Cloud Infrastructure (OCI) utiliza la red de cluster de baja latencia de Oracle, basada en el acceso directo a memoria remoto (RDMA), que se ejecuta a través de Ethernet convergente (RoCE) con una latencia de menos de 10 microsegundos entre nodos. RDMA permite conexiones de baja latencia entre nodos y acceso a la memoria de GPU sin involucrar a la CPU. OCI permite al cliente agrupar en clusters 4096 nodos con hardware dedicado, cada uno con 8 GPU, hasta 32768 GPU.

OCI proporciona varias soluciones de almacenamiento de alto rendimiento y baja latencia para cargas de trabajo de IA/AA, como SSD NVMe local, red y sistemas de archivos paralelos. El servidor con hardware dedicado de OCI incluye almacenamiento local SSD NVMe. Se puede utilizar para crear un NFS reutilizable o un sistema de archivos paralelo reutilizable (BeeOND, Weka), para archivos temporales. Mediante la función de asociación múltiple de Block Volume, puede utilizar un solo volumen para almacenar todos los juegos de datos de entrenamiento y asociarlo a varias instancias de GPU. O bien, puede utilizar hardware dedicado o máquina virtual y el nivel de rendimiento equilibrado Almacenamiento de bloques para crear servidores de archivos de mayor rendimiento y menor costo, con un sistema de archivos paralelo (Weka.io, Spectrum Scale, BeeGFS, BeeOND) o basado en NFS (NFS-HA, FSS). Los resultados de la formación se guardan en Oracle Cloud Infrastructure Object Storage para el almacenamiento a largo plazo.

El siguiente diagrama ilustra esta arquitectura de referencia.

Descripción de Architecture-bm-gpu-dedicated-region.png
Descripción de la ilustración architecture-bm-gpu-dedicated-region.png

arquitectura-bm-gpu-dedicated-region-oracle.zip

La arquitectura tiene los siguientes componentes:

  • Región

    Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes entre sí y pueden separarse a grandes distancias (entre países e incluso continentes).

  • Cloud Guard

    Puede utilizar Oracle Cloud Guard para supervisar y mantener la seguridad de los recursos en Oracle Cloud Infrastructure. Cloud Guard utiliza recetas de detector que puede definir para examinar los recursos en busca de debilidades de seguridad y para supervisar a los operadores y usuarios en busca de determinadas actividades de riesgo. Cuando se detecta cualquier actividad no segura o de configuración incorrecta, Cloud Guard recomienda acciones correctivas y ayuda a realizar esas acciones, según las recetas de responsable de respuesta que pueda definir.

  • Dominios de disponibilidad

    Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, un fallo en un dominio de disponibilidad no debería afectar a los otros dominios de disponibilidad de la región.

  • Dominios de errores

    Un dominio de errores es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad consta de tres dominios de errores con hardware y energía independientes. Al distribuir recursos entre varios dominios de errores, las aplicaciones pueden tolerar fallos físicos de servidor, mantenimiento del sistema o fallos de energía en un dominio de errores.

  • Compartimento

    Los compartimentos son particiones lógicas entre regiones dentro de un arrendamiento de Oracle Cloud Infrastructure. Utilice compartimentos para organizar los recursos en Oracle Cloud, controlar el acceso a los recursos y definir cuotas de uso. Para controlar el acceso a los recursos de un compartimento determinado, debe definir políticas que especifiquen quién puede acceder a los recursos y qué acciones pueden realizar.

  • Red virtual en la nube (VCN) y subredes

    Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan el control de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.

  • VPN de sitio a sitio

    La VPN de sitio a sitio proporciona conectividad VPN IPSec entre la red local y las VCN en Oracle Cloud Infrastructure. El conjunto de protocolos IPSec cifra el tráfico IP antes de transferir los paquetes del origen al destino y descifra el tráfico cuando llega.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect proporciona una forma sencilla de crear una conexión dedicada y privada entre el centro de datos y Oracle Cloud Infrastructure. FastConnect proporciona opciones de mayor ancho de banda y una experiencia de red más fiable en comparación con las conexiones basadas en Internet.

  • Gateway de enrutamiento dinámico (DRG)

    El DRG es un enrutador virtual que proporciona una ruta para el tráfico de red privada entre las VCN de la misma región, entre una VCN y una red fuera de la región, como una VCN de otra región de Oracle Cloud Infrastructure, una red local o una red de otro proveedor de nube.

  • Gateway de traducción de direcciones de red (NAT)

    Un gateway de NAT permite que los recursos privados de una VCN accedan a hosts de Internet sin exponer dichos recursos a conexiones de Internet entrantes.

  • Gateway de Internet

    El gateway de Internet permite el tráfico entre las subredes públicas de una VCN y la red pública de Internet.

  • Gateway de servicio

    El gateway de servicio proporciona acceso desde una VCN a otros servicios, como Oracle Cloud Infrastructure Object Storage. El tráfico de VCN a Oracle viaja por el tejido de red de Oracle y no por Internet.

  • Lista de seguridad

    Para cada subred, puede crear reglas de seguridad que especifiquen el origen, el destino y el tipo de tráfico que se debe permitir dentro y fuera de la subred.

  • Tabla de rutas

    Las tablas de rutas virtuales contienen reglas para enrutar el tráfico de subredes a destinos fuera de una VCN, normalmente a través de gateways.

  • Host bastión

    El host bastión es una instancia informática que sirve como punto de entrada seguro y controlado a la topología desde fuera de la nube. El host bastión se aprovisiona, por lo general, en una zona desmilitarizada (DMZ). Le permite proteger los recursos sensibles, colocándolos en redes privadas a las que no se puede acceder directamente desde fuera de la nube. La topología tiene un único punto de entrada conocido que puede supervisar y auditar con regularidad. Por lo tanto, puede evitar exponer los componentes más sensibles de la topología sin comprometer el acceso.

  • Nodo bastión (nodo principal)

    El nodo bastión (nodo principal) utiliza un portal basado en web para conectarse al nodo principal y programar trabajos. La solicitud de trabajo se realiza a través de Oracle Cloud Infrastructure FastConnect o VPN IPSec al nodo principal. El nodo principal también envía el juego de datos del cliente al almacenamiento de archivos y puede realizar algún procesamiento previo de los datos. El nodo principal puede aprovisionar clusters de nodos y suprimir clusters al finalizar el trabajo.

  • Pool de instancias

    Un grupo de instancias es un grupo de instancias dentro de una región que se crean a partir de la misma configuración de instancia y se gestionan como un grupo.

    Los pool de instancias permiten crear y gestionar varias instancias informáticas en la misma región que un grupo. También permiten la integración con otros servicios, como el servicio Oracle Cloud Infrastructure Load Balancing y el servicio Oracle Cloud Infrastructure Identity and Access Management.

  • Object Storage

    El almacenamiento de objetos proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de base de datos, datos analíticos y contenido rico, como imágenes y vídeos. Puede almacenar datos de forma segura y, a continuación, recuperarlos directamente desde Internet o desde la plataforma en la nube. Puede escalar el almacenamiento sin experimentar ninguna degradación en el rendimiento ni en la confiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento de acceso frecuente al que debe acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivo para el almacenamiento "frío" que conserva durante largos períodos de tiempo y a los que rara vez accede.

Recomendaciones

Utilice las siguientes recomendaciones como punto de partida y personalícelas para satisfacer sus requisitos específicos según sea necesario.
  • VCN

    Al crear una VCN, determine el número de bloques de CIDR necesarios y el tamaño de cada bloque en función del número de recursos que planea asociar a las subredes de la VCN. Utilice bloques CIDR que estén dentro del espacio de dirección IP privada estándar.

    Seleccione bloques de CIDR que no se solapen con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor en la nube) en la que desee configurar conexiones privadas.

    Después de crear una VCN, puede cambiar, agregar y eliminar sus bloques de CIDR.

    Al diseñar las subredes, tenga en cuenta el flujo de tráfico y los requisitos de seguridad. Asocie todos los recursos de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.

    Utilizar subredes regionales.

  • Seguridad

    Utilice Oracle Cloud Guard para controlar y mantener de forma proactiva la seguridad de los recursos en Oracle Cloud Infrastructure. Cloud Guard utiliza recetas de detector que puede definir para examinar los recursos en busca de deficiencias de seguridad y para supervisar a los operadores y usuarios para detectar determinadas actividades de riesgo. Cuando se detecta una actividad no segura o de configuración incorrecta, Cloud Guard recomienda acciones correctivas y ayuda a realizar esas acciones, según las recetas de responsable de respuesta que pueda definir.

    Para los recursos que requieren la máxima seguridad, Oracle recomienda utilizar zonas de seguridad. Una zona de seguridad es un compartimento asociado a una receta de políticas de seguridad definida por Oracle que se basa en las mejores prácticas. Por ejemplo, no se puede acceder a los recursos de una zona de seguridad desde la Internet pública y se deben cifrar con claves gestionadas por el cliente. Al crear y actualizar recursos en una zona de seguridad, Oracle Cloud Infrastructure valida las operaciones con respecto a las políticas de la receta de zona de seguridad y deniega las operaciones que violan cualquiera de las políticas.

  • Cloud Guard

    Clone y personalice las recetas por defecto proporcionadas por Oracle para crear recetas personalizadas de detector y responsable de respuesta. Estas recetas permiten especificar qué tipo de violaciones de seguridad generan una advertencia y qué acciones se pueden realizar en ellas. Por ejemplo, puede que desee detectar cubos de Object Storage que tengan la visibilidad definida en público.

    Aplique Cloud Guard en el nivel de arrendamiento para abarcar el ámbito más amplio y reducir la carga administrativa que supone mantener varias configuraciones.

    También puede utilizar la función Lista gestionada para aplicar determinadas configuraciones a los detectores.

  • Security Zones

    Para los recursos que requieren la máxima seguridad, Oracle recomienda utilizar zonas de seguridad. Una zona de seguridad es un compartimento asociado a una receta de políticas de seguridad definida por Oracle que se basa en las mejores prácticas. Por ejemplo, no se puede acceder a los recursos de una zona de seguridad desde la Internet pública y se deben cifrar con claves gestionadas por el cliente. Al crear y actualizar recursos en una zona de seguridad, Oracle Cloud Infrastructure validará las operaciones con respecto a las políticas de la receta de zona de seguridad y denegará las operaciones que violen cualquiera de las políticas.

  • Grupos de seguridad de red

    Puede utilizar los NSG para definir un juego de reglas de entrada y salida que se aplican a VNIC específicas. Recomendamos utilizar NSG en lugar de listas de seguridad, ya que los NSG permiten separar la arquitectura de subred de la VCN de los requisitos de seguridad de la aplicación.

  • Nodos de GPU

    Despliegue las unidades con hardware dedicado de GPU para obtener un rendimiento total.

    Agrupe hasta 32 768 GPU.

Consideraciones

Tenga en cuenta los siguientes puntos al desplegar esta arquitectura de referencia.

  • Disponibilidad

    Considere el uso de una opción de alta disponibilidad, en función de los requisitos de despliegue y la región. Entre las opciones se incluyen el uso de varios dominios de disponibilidad en una región y dominios de errores.

    • Supervisión y alertas

      Configure la supervisión y las alertas sobre el uso de CPU y memoria para los nodos, de modo que pueda ampliar o reducir la unidad según sea necesario.

    • Costo

      Una instancia de GPU con hardware dedicado proporciona la potencia de CPU necesaria para un mayor costo. Evalúe sus requisitos para elegir la unidad de computación adecuada.

      Puede suprimir el cluster cuando no haya trabajos en ejecución.

      Tenga en cuenta que las instancias con hardware dedicado siguen incurriendo en costos operativos mientras no están encendidas. Se deben terminar para dejar de incurrir en cargos.

  • Sistemas de archivos de cluster
    Hay varios escenarios:
    • Almacenamiento SSD NVMe local que incluye unidades de GPU, HPC y de almacenamiento de alto rendimiento.
    • Los volúmenes en bloque con varias asociaciones ofrecen un rendimiento de E/S de hasta 2.680 MB/s o 700k de IOPS.
    • También puede instalar su propio sistema de archivos paralelo sobre el almacenamiento en unidades de estado sólido NVMe o el almacenamiento de bloques, según sus requisitos de rendimiento. OCI proporciona soluciones basadas en NFS permanentes y reutilizables (NFS-HA, FSS) o en el sistema de archivos paralelo (weka.io, Spectrum Scale, BeeGFS, BeeOND, Lustre, Gluster, Quobyte). Consulte "Explorar más". Póngase en contacto con el especialista de soporte para diseñar las soluciones más óptimas para sus necesidades.

Confirmaciones

  • Autor: Michael Rutledge