No, ChatGPT no va a causar otra escasez de GPU

ChatGPT está explotando y la columna vertebral de su modelo de IA se basa en las tarjetas gráficas Nvidia. Un analista dijo que se usaron alrededor de 10,000 GPU Nvidia para entrenar ChatGPT y, a medida que el servicio continúa expandiéndose, también crece la necesidad de GPU. Cualquiera que haya sobrevivido al auge de las criptomonedas en 2021 puede oler una escasez de GPU en el horizonte.

He visto a algunos reporteros construir esa conexión exacta, pero está equivocada. Los días de escasez de GPU de tipo criptográfico han quedado atrás. Aunque es probable que veamos un aumento en la demanda de tarjetas gráficas a medida que la IA continúa en auge, esa demanda no está dirigida a las mejores tarjetas gráficas instaladas en plataformas de juegos.

Por qué las GPU de Nvidia están diseñadas para IA

Una representación de la GPU RTX A6000 de Nvidia.

Primero, abordaremos por qué las tarjetas gráficas Nvidia son tan buenas para la IA. Nvidia ha apostado por la IA durante los últimos años y ha valido la pena con el aumento vertiginoso del precio de las acciones de la empresa tras el auge de ChatGPT. Hay dos razones por las que ve a Nvidia en el corazón del entrenamiento de IA: núcleos tensoriales y CUDA.

CUDA es la interfaz de programación de aplicaciones (API) de Nvidia que se utiliza en todo, desde sus GPU de centro de datos más caras hasta sus GPU de juegos más baratas. La aceleración CUDA es compatible con bibliotecas de aprendizaje automático como TensorFlow, lo que acelera enormemente el entrenamiento y la inferencia. CUDA es la fuerza impulsora detrás de AMD, que está tan atrasada en IA en comparación con Nvidia.

Sin embargo, no confunda CUDA con los núcleos CUDA de Nvidia. CUDA es la plataforma en la que se ejecutan un montón de aplicaciones de IA, mientras que los núcleos CUDA son solo los núcleos dentro de las GPU de Nvidia. Comparten un nombre y los núcleos CUDA están mejor optimizados para ejecutar aplicaciones CUDA. Las GPU para juegos de Nvidia tienen núcleos CUDA y son compatibles con las aplicaciones CUDA.

Los núcleos tensoriales son básicamente núcleos de IA dedicados. Manejan la multiplicación de matrices, que es el ingrediente secreto que acelera el entrenamiento de la IA. La idea aquí es simple. Multiplique múltiples conjuntos de datos a la vez y entrene modelos de IA exponencialmente más rápido generando posibles resultados. La mayoría de los procesadores manejan las tareas de forma lineal, mientras que los núcleos Tensor pueden generar escenarios rápidamente en un solo ciclo de reloj.

Una vez más, las GPU para juegos de Nvidia, como la RTX 4080, tienen núcleos Tensor (y, a veces, incluso más que las costosas GPU de los centros de datos). Sin embargo, para todas las especificaciones que tienen las tarjetas Nvidia para acelerar los modelos de IA, ninguna de ellas es tan importante como la memoria. Y las GPU para juegos de Nvidia no tienen mucha memoria.

Todo se reduce a la memoria

Una pila de memoria HBM.

“El tamaño de la memoria es lo más importante”, según Jeffrey Heaton, autor de varios libros sobre inteligencia artificial y profesor de la Universidad de Washington en St. Louis. "Si no tiene suficiente GPU RAM, su ajuste/inferencia de modelo simplemente se detiene".

Heaton, que tiene un canal de YouTube dedicado a qué tan bien funcionan los modelos de IA en ciertas GPU, señaló que los núcleos CUDA también son importantes, pero la capacidad de memoria es el factor dominante cuando se trata de cómo funciona una GPU para IA. El RTX 4090 tiene mucha memoria según los estándares de juego (24 GB de GDDR6X), pero muy poca en comparación con una GPU de clase de centro de datos. Por ejemplo, la última GPU H100 de Nvidia tiene 80 GB de memoria HBM3, así como un bus de memoria masivo de 5120 bits.

Puede arreglárselas con menos, pero aún necesita mucha memoria. Heaton recomienda que los principiantes tengan no menos de 12 GB, mientras que un ingeniero de aprendizaje automático típico tendrá una o dos GPU Nvidia profesionales de 48 GB. Según Heaton, "la mayoría de las cargas de trabajo caerán más en el rango de un solo A100 a ocho A100". La GPU A100 de Nvidia tiene 40 GB de memoria.

También puede ver esta escala en acción. Puget Systems muestra un solo A100 con 40 GB de memoria que funciona aproximadamente el doble de rápido que un solo RTX 3090 con sus 24 GB de memoria. Y eso a pesar del hecho de que la RTX 3090 tiene casi el doble de núcleos CUDA y casi la misma cantidad de núcleos Tensor.

La memoria es el cuello de botella, no el poder de procesamiento en bruto. Esto se debe a que el entrenamiento de modelos de IA se basa en grandes conjuntos de datos, y cuantos más datos pueda almacenar en la memoria, más rápido (y con mayor precisión) podrá entrenar un modelo.

Diferentes necesidades, diferentes troqueles

Tarjeta gráfica Hopper H100.

Las GPU para juegos de Nvidia generalmente no son adecuadas para la IA debido a la poca memoria de video que tienen en comparación con el hardware de nivel empresarial, pero aquí también hay un problema aparte. Las GPU para estaciones de trabajo de Nvidia no suelen compartir una matriz de GPU con sus tarjetas de juego.

Por ejemplo, el A100 al que hace referencia Heaton usa la GPU GA100, que es un troquel de la gama Ampere de Nvidia que nunca se usó en tarjetas enfocadas en juegos (incluida la RTX 3090 Ti de gama alta). Del mismo modo, el último H100 de Nvidia utiliza una arquitectura completamente diferente a la de la serie RTX 40, lo que significa que también utiliza un chip diferente.

Hay excepciones. La GPU AD102 de Nvidia, que se encuentra dentro de la RTX 4090 y la RTX 4080, también se usa en una pequeña gama de GPU empresariales Ada Lovelace (la L40 y la RTX 6000). Sin embargo, en la mayoría de los casos, Nvidia no puede simplemente reutilizar una GPU de juegos para una tarjeta de centro de datos. Son mundos separados.

Existen algunas diferencias fundamentales entre la escasez de GPU que vimos debido a la criptominería y el aumento de la popularidad de los modelos de IA. Según Heaton, el modelo GPT-3 requería más de 1000 GPU A100 Nvidia para entrenar y unas ocho para funcionar. Estas GPU también tienen acceso a la interconexión NVLink de gran ancho de banda, mientras que las GPU de la serie RTX 40 de Nvidia no. Compara un máximo de 24 GB de memoria en las tarjetas de juego de Nvidia con varios cientos en GPU como la A100 con NVLink.

Hay algunas otras preocupaciones, como la asignación de troqueles de memoria para GPU profesionales en lugar de las de juegos, pero los días de correr a su Micro Center local o Best Buy para tener la oportunidad de encontrar una GPU en stock se han ido. Heaton resumió ese punto muy bien: “Se estima que los modelos de lenguaje grandes, como ChatGPT, requieren al menos ocho GPU para ejecutarse. Tales estimaciones asumen las GPU A100 de gama alta. Mi especulación es que esto podría causar una escasez de GPU de gama alta, pero puede que no afecte a las GPU de clase gamer, con menos RAM”.