paint-brush
Las GPU hambrientas necesitan un almacenamiento de objetos rápidopor@minio
21,891 lecturas
21,891 lecturas

Las GPU hambrientas necesitan un almacenamiento de objetos rápido

por MinIO6m2024/03/15
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

MinIO es capaz de ofrecer el rendimiento necesario para alimentar sus hambrientas GPU; una prueba comparativa reciente alcanzó 325 GiB/s en GET y 165 GiB/s en PUT con solo 32 nodos de SSD NVMe disponibles en el mercado.

People Mentioned

Mention Thumbnail
featured image - Las GPU hambrientas necesitan un almacenamiento de objetos rápido
MinIO HackerNoon profile picture

Una cadena es tan fuerte como su eslabón más débil, y su infraestructura de IA/ML es tan rápida como su componente más lento. Si entrena modelos de aprendizaje automático con GPU, entonces su eslabón débil puede ser su solución de almacenamiento. El resultado es lo que yo llamo el "problema de la GPU hambrienta". El problema de la GPU hambrienta ocurre cuando su red o su solución de almacenamiento no pueden entregar datos de entrenamiento a su lógica de entrenamiento lo suficientemente rápido como para utilizar completamente sus GPU. Los síntomas son bastante obvios. Si está monitoreando sus GPU, notará que nunca llegan a estar cerca de ser utilizadas por completo. Si ha instrumentado su código de entrenamiento, notará que el tiempo total de entrenamiento está dominado por IO.


Desafortunadamente, hay malas noticias para quienes luchan con este problema. Veamos algunos avances que se están logrando con las GPU para comprender cómo este problema solo empeorará en los próximos años.

Las GPU son cada vez más rápidas

Las GPU son cada vez más rápidas. No sólo está mejorando el rendimiento bruto, sino que también aumentan la memoria y el ancho de banda. Echemos un vistazo a estas tres características de las GPU más recientes de Nvidia: A100 , el H100 y el H200 .


GPU

ACTUACIÓN

MEMORIA

ANCHO DE BANDA DE MEMORIA

A100

624 TFLOPS

40GB

1.555 GB/s

H100

1.979 TFLOPS

80GB

3,35 TB/s

H200

1.979 TFLOPS

141GB

4,8 TB/s

La tabla anterior utiliza las estadísticas que se alinean con una solución de socket PCIe (Peripheral Component Interconnect Express) para el A100 y la solución de socket SXM (Server PCI Express Module) para el H100 y el H200. Las estadísticas de SXM no existen para el A100. Con respecto al rendimiento, se utiliza la estadística de núcleo tensor de coma flotante 16 para la comparación.


Vale la pena destacar algunas observaciones sobre las estadísticas anteriores. En primer lugar, el H100 y el H200 tienen el mismo rendimiento (1.979 TFLOPS), que es 3,17 veces mayor que el A100. El H100 tiene el doble de memoria que el A100 y el ancho de banda de la memoria aumentó en una cantidad similar - lo cual tiene sentido, de lo contrario, la GPU se moriría de hambre. El H200 puede manejar la friolera de 141 GB de memoria y su ancho de banda de memoria también aumentó proporcionalmente con respecto a las otras GPU.


Veamos cada una de estas estadísticas con más detalle y analicemos lo que significa para el aprendizaje automático.


Rendimiento : un teraflop (TFLOP) equivale a un billón (10^12) de operaciones de punto flotante por segundo. Es un 1 seguido de 12 ceros (1.000.000.000.000). Es difícil equiparar los TFLOP con la demanda de IO en gigabytes, ya que las operaciones de punto flotante que ocurren durante el entrenamiento del modelo involucran matemáticas tensoriales simples, así como primeras derivadas contra la función de pérdida (también conocida como gradientes). Sin embargo, son posibles comparaciones relativas. Al observar las estadísticas anteriores, vemos que el H100 y el H200, que funcionan a 1979 TFLOPS, son 3 veces más rápidos, lo que potencialmente consume datos 3 veces más rápido si todo lo demás puede seguir el ritmo.


Memoria GPU : también conocida como RAM de vídeo o RAM de gráficos. La memoria de la GPU está separada de la memoria principal del sistema (RAM) y está diseñada específicamente para manejar las tareas intensivas de procesamiento gráfico realizadas por la tarjeta gráfica. La memoria de la GPU determina el tamaño del lote al entrenar modelos. En el pasado, el tamaño del lote se reducía al mover la lógica de entrenamiento de una CPU a una GPU. Sin embargo, a medida que la memoria de la GPU alcance a la memoria de la CPU en términos de capacidad, el tamaño del lote utilizado para el entrenamiento de la GPU aumentará. Cuando el rendimiento y la capacidad de la memoria aumentan al mismo tiempo, el resultado son solicitudes más grandes en las que cada gigabyte de datos de entrenamiento se procesa más rápido.


Ancho de banda de memoria : piense en el ancho de banda de la memoria de la GPU como la "autopista" que conecta la memoria y los núcleos de cálculo. Determina cuántos datos se pueden transferir por unidad de tiempo. Así como una carretera más ancha permite que pasen más automóviles en un período de tiempo determinado, un mayor ancho de banda de memoria permite mover más datos entre la memoria y la GPU. Como puedes ver, los diseñadores de estas GPU aumentaron el ancho de banda de la memoria para cada nueva versión de manera proporcional a la memoria; por lo tanto, el bus de datos interno del chip no será el cuello de botella.

Una mirada al futuro

En agosto de 2023, Nvidia Anunciado su plataforma de próxima generación para computación acelerada e IA generativa: la plataforma GH200 Grace Hopper Superchip. La nueva plataforma utiliza el Superchip Grace Hopper , que se puede conectar con Superchips adicionales mediante NVIDIA NVLink , permitiéndoles trabajar juntos durante el entrenamiento y la inferencia del modelo.


Si bien todas las especificaciones del Grace Hopper Superchip representan una mejora con respecto a los chips anteriores, la innovación más importante para los ingenieros de AI/ML es su memoria unificada. Grace Hopper le da a la GPU acceso completo a la memoria de la CPU. Esto es importante porque, en el pasado, los ingenieros que deseaban utilizar GPU para entrenamiento tenían que primero extraer datos a la memoria del sistema y luego, desde allí, mover los datos a la memoria de la GPU. Grace Hopper elimina la necesidad de utilizar la memoria de la CPU como búfer de rebote para enviar datos a la GPU.


La simple comparación de algunas estadísticas clave de GPU, así como las capacidades de Grace Hopper, debe asustar un poco a cualquiera responsable de actualizar las GPU y asegurarse de que todo lo demás pueda mantenerse al día. Es absolutamente necesario que una solución de almacenamiento proporcione datos a un ritmo más rápido para mantenerse al día con estas mejoras de GPU. Veamos una solución común al problema de la GPU hambrienta.

Una solución común

Existe una solución común y obvia a este problema que no requiere que las organizaciones reemplacen o actualicen su solución de almacenamiento existente. Puede mantener intacta su solución de almacenamiento existente para poder aprovechar todas las características empresariales que su organización requiere. Lo más probable es que esta solución de almacenamiento sea un lago de datos que contenga todos los datos no estructurados de su organización; por lo tanto, puede ser bastante grande y el costo total de propiedad es una consideración. También tiene muchas funciones habilitadas para redundancia, confiabilidad y seguridad, todas las cuales impactan el rendimiento.


Sin embargo, lo que se puede hacer es configurar una solución de almacenamiento que esté en el mismo centro de datos que su infraestructura informática; lo ideal sería que estuviera en el mismo clúster que su informática. Asegúrese de tener una red de alta velocidad con los mejores dispositivos de almacenamiento disponibles. A partir de ahí, copie solo los datos necesarios para el entrenamiento de ML.


Amazon anunció recientemente Amazon S3 Express una zona ejemplifica este enfoque. Es un tipo de depósito optimizado para un alto rendimiento y baja latencia y está limitado a una única zona de disponibilidad (sin replicación). La intención de Amazon es que los clientes lo utilicen para guardar una copia de datos que requieren acceso de alta velocidad. En consecuencia, está diseñado específicamente para el entrenamiento de modelos. Según Amazon, proporciona 10 veces la velocidad de acceso a datos del S3 Standard a 8 veces el costo. Lea más sobre nuestra evaluación de Amazon S3 Express One Zone aquí .

La solución MinIO

La solución común que describí anteriormente requería que AWS personalizara su solución de almacenamiento S3 ofreciendo depósitos especiales a un costo mayor. Además, algunas organizaciones (que no son clientes de MinIO) están comprando soluciones de almacenamiento especializadas que hacen las cosas simples que describí anteriormente. Desafortunadamente, esto añade complejidad a una infraestructura existente, ya que se necesita un nuevo producto para resolver un problema relativamente simple.


La ironía de todo esto es que los clientes de MinIO siempre han tenido esta opción. Puede hacer exactamente lo que describí anteriormente con una nueva instalación de MinIO en una red de alta velocidad con unidades NVMe. MinIO es una solución de almacenamiento definida por software: el mismo producto se ejecuta en bare metal o en el clúster de su elección utilizando una variedad de dispositivos de almacenamiento. Si su Data Lake corporativo usa MinIO en bare metal con HDD y funciona bien para todos sus datos que no son ML, entonces no hay razón para reemplazarlo. Sin embargo, si los conjuntos de datos utilizados para ML requieren IO más rápido porque estás usando GPU, entonces considera el enfoque que describí en esta publicación. Asegúrese de hacer una copia de sus datos de ML para usar en su instancia de alta velocidad de MinIO; siempre debe existir una copia dorada en una instalación reforzada de MinIO. Esto le permitirá desactivar funciones como la replicación y el cifrado en su instancia de alta velocidad de MinIO, aumentando aún más el rendimiento. Copiar datos es fácil usando MinIO reflejando característica.



MinIO es capaz de ofrecer el rendimiento necesario para alimentar sus hambrientas GPU: una punto de referencia reciente logró 325 GiB/s en GET y 165 GiB/s en PUT con solo 32 nodos de SSD NVMe disponibles en el mercado.


Descargar MiniIO hoy y aprenda lo fácil que es construir una casa de lago de datos. Si tiene alguna pregunta, asegúrese de comunicarse con nosotros en Flojo !


También aparece aquí .