En este curso de NLP Cloud explicamos por qué suele ser necesario un hardware específico para acelerar el procesamiento de cargas de trabajo de aprendizaje automático. También repasamos cuáles son los mejores aceleradores disponibles en el mercado en 2023: GPUs, TPUs, IPUs, Inferentia, Habana Gaudí....
Esta es la estructura del curso:
Hola a todos, soy Julien Salinas de NLP Cloud.
En este curso, vamos a ver qué tipo de aceleradores de hardware podemos utilizar hoy en día para acelerar nuestras cargas de trabajo de inferencia.
Para entender la aceleración por hardware, es importante recordar que, hoy en día, las aplicaciones de IA se basan principalmente en redes neuronales, también conocidas como aprendizaje profundo.
La multiplicación de matrices es una operación esencial en las redes neuronales porque les permite aprender datos complejos y representaciones complejas de los datos.
En una red neuronal, los datos de entrada se representan mediante una matriz y los pesos de las conexiones entre neuronas también se representan mediante una matriz.
Cuando se multiplican estas dos matrices, el resultado es una nueva matriz que representa la salida de las neuronas.
Este proceso se repite a través de múltiples capas de neuronas, lo que permite a la red aprender características cada vez más abstractas y complejas de los datos de entrada.
Las matrices son componentes básicos de los modelos de IA, por lo que es importante utilizar un hardware que sea muy bueno realizando operaciones con matrices.
Otro aspecto importante son los números en coma flotante.
Los puntos flotantes son importantes en las redes neuronales porque permiten representar valores fraccionarios.
Como acabamos de decir, las redes neuronales implican grandes matrices con muchas entradas.
Utilizar sólo valores enteros conduciría rápidamente a errores de desbordamiento.
Al utilizar valores de coma flotante, las redes neuronales pueden representar valores con muchos decimales, lo que permite cálculos más precisos y una mayor exactitud en los resultados.
En resumen, para procesar eficazmente las cargas de trabajo de la IA, necesitamos un hardware capaz de realizar multiplicaciones matriciales y cálculos en coma flotante.
Las dos opciones principales que puedes considerar hoy en día para tus cargas de trabajo de aprendizaje automático son las CPU y las GPU.
Una CPU, o Unidad Central de Procesamiento, es un procesador de propósito general que se encarga de una amplia gama de tareas en un sistema informático, como ejecutar aplicaciones, gestionar el sistema operativo y realizar cálculos matemáticos.
Las CPU están diseñadas para ser versátiles y poder realizar muchos tipos de tareas, pero no están optimizadas para ningún tipo específico de carga de trabajo.
Una GPU, o unidad de procesamiento gráfico, es un procesador especializado diseñado para manejar cargas de trabajo complejas y paralelas, como el renderizado de gráficos y el aprendizaje automático.
Las GPU tienen miles de núcleos más pequeños que trabajan juntos para manejar grandes cantidades de datos a la vez, lo que las hace mucho más rápidas que las CPU para determinados tipos de cargas de trabajo.
Las operaciones matriciales pueden paralelizarse fácilmente en varios núcleos pequeños, razón por la que las GPU destacan en este campo.
Además, las GPU suelen tener muchas más unidades de coma flotante que las CPU, lo que les permite realizar operaciones en coma flotante mucho más rápido.
Ahora ya sabes por qué una CPU no suele ser suficiente para las cargas de trabajo de IA actuales y por qué un hardware específico suele ser muy importante.
Veamos ahora las opciones que tienes en cuanto a aceleradores de hardware específicos.
Las GPU NVIDIA son una potente herramienta para el procesamiento gráfico y ofrecen una serie de funciones que las hacen ideales para juegos, aprendizaje automático, edición de vídeo y aplicaciones de diseño e ingeniería.
Como ingeniero de software de IA, no hay duda de que tendrás que jugar con las GPU NVIDIA, ya que ocupan una posición central en el mercado de GPUs actual.
Sus tarjetas más potentes para la IA en 2023 son la A100 y la H100.
AMD también ofrece una amplia gama de GPU, incluidas las destinadas al aprendizaje automático.
Su gama de productos RockM es interesante, y te animo a que le eches un vistazo.
Google también fabrica sus propios chips de inteligencia artificial, llamados TPU (TensorFlow Processing Unit).
Utilizan estos chips internamente, pero también los proponen en su oferta Google Cloud.
Sin embargo, no puedes comprar un TPU para ti.
Las TPU funcionan de forma ligeramente diferente a las GPU, pero será un tema para otro vídeo dedicado.
Graphcore es una empresa con sede en el Reino Unido que fabrica un hardware específico de IA denominado IPU, equivalente a las TPU de Google.
Puedes comprar las UIP o utilizarlas en la nube a través de uno de sus socios.
AWS construye sus propios chips de IA.
Tienen un chip dedicado a la inferencia, llamado Inferentia, y otro dedicado a la formación, llamado Tranium.
Estas fichas son relativamente baratas.
No puedes comprar estos chips para ti, pero puedes usarlos en AWS EC2, o Sage Maker.
Intel también fabrica su propio chip de IA, llamado Habana Gaudí, que es una alternativa muy potente pero muy cara.
Los aceleradores de hardware son potentes, pero también muy caros y difíciles de adquirir debido a la escasez mundial de semiconductores.
Por este motivo, es aconsejable optimizar al máximo la carga de trabajo de IA para que pueda ejecutarse en un hardware más pequeño.
En realidad, las CPU pueden ser incluso una opción decente para muchas cargas de trabajo de aprendizaje automático en muchas situaciones.
Como puedes ver en este momento, en 2023, NVIDIA es la solución de facto cuando se trata de aceleración de hardware en IA y aprendizaje automático.
Pero, curiosamente, están apareciendo algunas alternativas.
Así que quizá dentro de un par de años, para sus próximos proyectos de IA, utilicen otro tipo de aceleradores.
Espero que este curso le haya sido útil y le deseo un buen día.