photobank.kiev.ua - Fotolia

Estrategias de cómputo para aplicaciones de IA

Diseñar estrategias de cómputo para aplicaciones de inteligencia artificial puede ser un desafío. Descubra los marcos de hardware, red y software disponibles.

Las infraestructuras de cómputo de aprendizaje automático se dirigen principalmente a organizaciones que buscan construir pilas de infraestructura en las instalaciones. Hay seis capacidades básicas necesarias en las infraestructuras de cómputo de aprendizaje automático para permitir las secuencias de inteligencia artificial (IA) de alta productividad que incluyen el aprendizaje automático intensivo de cómputo y los modelos de redes neuronales profundas (DNN).

Las tecnologías de aceleración de cómputo, como las unidades de procesamiento de gráficos (GPU) y los circuitos integrados específicos de la aplicación (ASIC), pueden reducir drásticamente el tiempo de capacitación e inferencia en las cargas de trabajo de IA que involucran técnicas de aprendizaje automático y DNN de computación intensiva. Los aceleradores deben seleccionarse para que coincidan con las necesidades de la aplicación, y los marcos deben configurarse para que esos aceleradores específicos usen sus capacidades.

Si bien existen diversas tecnologías de aceleración en este mercado, incluidas NEC Aurora Vector Engine, AMD GPU y Nvidia GPU, solo algunas de ellas tienen un amplio soporte para el aprendizaje automático y los marcos DNN. Actualmente, el ecosistema de capacitación de DNN está dominado por las GPU de Nvidia porque el hardware de alto rendimiento puede utilizar capacidades únicas como los núcleos de tensor y NVLink. También hay un alto grado de integración de software desde bibliotecas a marcos.

Densidad del acelerador

El aprendizaje automático de computación intensivo y los marcos DNN están orientados a la ampliación. Un mayor número de aceleradores en cada nodo de cómputo puede reducir dramáticamente los tiempos de entrenamiento para DNN grandes. Las plataformas de cómputo que abordan este mercado presentan un alto grado de variación en las densidades de los aceleradores. La mayoría de los proveedores admiten cuatro aceleradores por nodo de cómputo, mientras que las configuraciones orientadas al rendimiento cuentan con ocho aceleradores por nodo de cómputo. En los sistemas de cómputo acelerados por GPU, algunos proveedores ofrecen 16 nodos de cómputo de GPU.

Si bien el enfoque más común para escalar en el aprendizaje automático de computación intensivo y los marcos DNN tiende a ser orientado a la escala vertical, los primeros en adoptar también están curando estrategias de escalamiento horizontal. Horovod de Uber permite el aprendizaje profundo distribuido para marcos DNN como TensorFlow y PyTorch. El Aprendizaje Profundo Distribuido de IBM y el Entrenamiento Distribuido Elástico también están diseñados para ofrecer capacidad de escala verticalcuando el tamaño y la complejidad del modelo aumentan.

Las bibliotecas de comunicaciones de colección (NCCL) de Nvidia también habilitan bases de escalado de múltiples GPU y de múltiples nodos para los marcos DNN. Al seleccionar estrategias de escalamiento horizontal, es mejor seleccionar soluciones que estén pre-optimizadas, fáciles de implementar y que minimicen el costo total de propiedad.

Debido a la alta densidad de aceleradores, la manera en que los aceleradores se conectan al nodo de cómputo y la forma en que los componentes del nodo de cómputo interactúan con los aceleradores puede afectar dramáticamente el rendimiento en el aprendizaje de máquina intensivo en cómputo y las cargas de trabajo basadas en DNN.

La ingestión de datos y el intercambio de datos son los dos tipos de operaciones de movimiento de datos que ocurren comúnmente. La ingesta de datos y las operaciones de copia para cargar datos de entrada son intensivas en el movimiento de datos y generalmente requieren la participación directa de la CPU. Como resultado, las arquitecturas de bus de movimiento de datos de gran ancho de banda entre la CPU y los aceleradores son cruciales para evitar cuellos de botella en los datos. Los sistemas informáticos basados ​​en x86 utilizan conectividad basada en PCIe Gen3 (PCIe 3.0) entre las CPU y las GPU. El procesador IBM Power admite de forma nativa Nvidia NVLink, que permite una conectividad de mayor ancho de banda que las interconexiones PCIe 3.0. Como resultado, los sistemas que cuentan con CPU con soporte NVLink nativo pueden brindar conectividad de alto ancho de banda entre la CPU base y las GPU Nvidia.

El intercambio de datos entre los aceleradores de cómputo durante la fase de entrenamiento generalmente ocurre entre los aceleradores y, como resultado, los tiempos de entrenamiento de DNN dependen de cómo se interconectan los aceleradores. En los sistemas acelerados por ASIC y GPU, la agrupación de los aceleradores ocurre comúnmente a través de PCIe 3.0.

Sin embargo, los sistemas acelerados por GPU de Nvidia también pueden utilizar el SXM de Nvidia, que permite a las GPU aprovechar la tecnología de interconexión NVLink de Nvidia y, por lo tanto, puede permitir el intercambio de datos de mayor ancho de banda a través de las GPU dentro de un nodo de cómputo.

Conectividad de red

El aprendizaje automático a gran escala y de cómputo intensivo y las técnicas de DNN también requieren un movimiento rápido de grandes cantidades de datos a través de nodos de cómputo. Las tecnologías de red de alto ancho de banda y baja latencia que interconectan los nodos de cómputo pueden acelerar el movimiento de datos y pueden permitir la escala de algunos modelos de DNN. Desde una perspectiva de red, los entornos de cómputo de procesamiento DNN dependen de la agrupación de recursos de GPU de alto ancho de banda y baja latencia, junto con las capacidades de acceso a memoria directa remota (RDMA) de GPUDirect.

Las pilas de red compatibles con RDMA permiten a los aceleradores eludir el complejo de la CPU y, como resultado, permiten el intercambio de datos de alto rendimiento entre los componentes del acelerador. Hoy en día, InfiniBand (Mellanox), Ethernet (con RoCE v.1/2), Intel Omni-Path o las tecnologías de red propietarias se utilizan para redes.

El aprendizaje automático y los marcos de DNN implementados en plataformas de cómputo acelerado deben reconfigurarse con el conjunto correcto de bibliotecas y tecnologías de middleware compatibles para permitir la utilización de aceleradores. Integrar estas tecnologías desde cero puede ser increíblemente complejo y requiere muchos recursos.

La mayoría de los proveedores de sistemas proporcionan contenedores de marcos de aprendizaje automático y DNN previamente optimizados (como TensorFlow, Caffe, PyTorch, Spark y H2O.ai) para minimizar el tiempo de implementación e integración. Algunos de estos incluyen:

  • Nvidia GPU Cloud (NGC): Gratis y compatible con las plataformas aceleradas por GPU de Nvidia. Solo los sistemas informáticos de Nvidia (DGX1, DGX2) y algunos ecosistemas de nube pública impulsados ​​por las GPU de Nvidia están certificados y son ampliamente compatibles. NGC presenta Horovod, un marco de entrenamiento distribuido para TensorFlow que soporta el aprendizaje profundo distribuido. NGC se puede implementar en la mayoría de los sistemas acelerados por GPU de Nvidia. Los contenedores NGC también se ejecutan en entornos orquestados por Kubernetes.
  • Bright Cluster Manager para Data Science (BCMDS): Compatible con las plataformas GPU de Nvidia y ampliamente ofrecido por la mayoría de los proveedores de sistemas, BCMDS también es compatible con Horovod para el aprendizaje profundo distribuido. Desde una perspectiva de gastos operativos (opex), esta capacidad se ofrece principalmente como un complemento, y los líderes de TI deben evaluar los costos de licencias asociados durante la vida útil de los sistemas.
  • IBM PowerAI Enterprise: Actualmente solo disponible para IBM Power Systems, PowerAI Enterprise ofrece pilas pre-optimizadas de marcos de IA de código abierto, soporte integrado para el aprendizaje profundo distribuido y herramientas de productividad de científicos de datos. Estas herramientas abarcan todo el proceso de desarrollo del modelo, desde la ingesta de datos hasta el despliegue de inferencia. Si bien algunas funciones son gratuitas, el uso y el soporte a escala empresarial pueden requerir licencias adicionales y, por lo tanto, los líderes de TI deben evaluar los costos de licencia asociados para su ecosistema.
  • Lenovo Intelligent Computing Orchestration (LiCO): LiCO, exclusivo de Lenovo, es un software diseñado para proporcionar una administración de clústeres simple y para mejorar el uso de la infraestructura para el desarrollo de modelos de IA a gran escala en los procesadores Nvidia e Intel. Si bien LiCO es de uso gratuito, las ofertas de soporte se habilitan a través de un modelo de soporte y suscripción por CPU y por GPU, por lo que los líderes de TI deben evaluar los costos de licencia adicionales.

Al diseñar el aprendizaje automático y las estrategias de infraestructura de DNN, asegúrese de que el ecosistema de contenedores provisto por el proveedor sea compatible con el subconjunto central del aprendizaje automático y los marcos de DNN utilizados en su organización. Seleccione ecosistemas que le permitan probar las últimas versiones de GitHub junto con versiones estables para pruebas A/B iterativas. DNN y los marcos de aprendizaje automático están mejorando continuamente, y las últimas versiones de GitHub pueden abordar los desafíos clave que las versiones estables aún no pueden abordar. Finalmente, tome en cuenta el opex asociado con la administración de middleware y optimice el costo total de propiedad.

Este artículo se basa en un extracto de la Guía de mercado de Gartner para el aprendizaje automático de las infraestructuras informáticas de Chirag Dekate y Arun Chandrasekaran.

Investigue más sobre Infraestructura empresarial y DC

ComputerWeekly.com.br
Close