Las inteligencias artificiales actualmente conducen vehículos, crean música, ayudan a seleccionar candidatos en puestos laborales y traducen nuestras voces a otros idiomas. Esto ya no es una promesa del futuro, sino un hecho ocurriendo en este momento en alguna parte del mundo.
Día con día crecen las posibilidades para estos y muchos otros usos. Sin embargo, nos enfrentamos a un problema de peso: no contamos con hardware suficiente para afrontar la creciente demanda de sistemas basados en inteligencia artificial, lo que además exige un consumo de energía disparatado.
Facundo Molina, investigador posdoctoral de pruebas de software y análisis de IMDEA SOFTWARE, publicó un artículo en The Conversation en el que expuso cuál es la demanda de software y hardware que requiere todo lo que sucede con la IA, así como lo que requería el continuar expandiendo esta industria creciente.
Tres millones de aplicaciones disponibles
En enero de 2024, la compañía OpenAI, creadora de aplicaciones como ChatGPT y DALL-E, publicó GPT Store, una tienda en la nube con aplicaciones de IA personalizadas, desde donde se pueden crear versiones adaptadas de ChatGPT. Por ejemplo, Tutor Me, que puede ayudarnos con preguntas de matemáticas, ciencia y humanidades; Murder Mystery Mayhem, un juego de misterio para resolver casos de crímenes generados con inteligencia artificial; y muchas otras.
Según la propia compañía, la tienda ya cuenta con más de 3 millones de aplicaciones.
Molina añade en el artículo que los grandes modelos de lenguaje, o LLMs (Large Language Models), han sido fundamentales en esta historia. Gracias a la creciente disponibilidad de los sistemas basados en IA, hoy en día es relativamente sencillo construir software que interactúe o utilice este tipo de modelos. Más aún, las inversiones en IA por parte de las grandes compañías, junto con el creciente interés por crear inteligencias artificiales propias, ha provocado una increíble demanda de hardware especializado.
El investigador apunta que, para la cantidad de desarrollos basados en inteligencia artificial hacen falta máquinas debido a la enorme demanda de poder computacional que no puede satisfacerse.
El software de la IA
Desarrollar una pieza de software que utilice un modelo de lenguaje puede ser, en ocasiones, muy sencillo
gracias a que grandes compañías como OpenAI o Google ya proveen acceso a muchos de sus modelos mediante aplicaciones en la nube. Lo anterior hace posible que, mediante el uso de estos servicios, cualquiera pueda desarrollar un pequeño componente de software de unas decenas de líneas de código que use, por ejemplo, el gran modelo de lenguaje GPT-4 (el que usa ChatGPT).
Usar estos servicios puede tener un costo económico considerable, normalmente asociado a la cantidad de mensajes enviados al modelo.
Como ha ocurrido siempre a lo largo de la breve historia de la informática, muchos desarrolladores deciden liberar sus modelos de lenguaje, y se pueden utilizar como modelos libres. Por ejemplo, Meta permite que sus modelos de la serie Llama2 puedan ser descargados y utilizados libremente. La plataforma HuggingFace es muy popular por la gran cantidad de modelos que tiene disponibles para su uso gratuito. Construir software que utilice uno de estos modelos tiene prácticamente la misma complejidad que usar servicios en la nube, y puede resolverse con unas pocas líneas de código.
Desarrollar un modelo de IA propio puede ser más complejo. Estos modelos requieren una inmensa cantidad de datos para ser construidos (texto, imágenes, etc.). Por ello, típicamente se necesita desarrollar un pipeline (todo el proceso que sigue el código, desde su diseño e implementación hasta que se despliega) de software robusto para realizar una variedad de tareas. Estas tareas incluyen recolectar y preparar los datos, definir la arquitectura del modelo, utilizar los algoritmos de entrenamiento sobre los datos y, finalmente, utilizar el modelo obtenido. Afortunadamente, hay muchas librerías online populares para simplificar el desarrollo de software para estas tareas.
Sin embargo, actualmente el mayor desafío se encuentra en la gran infraestructura de hardware que se necesita para un funcionamiento razonable (en cuanto a tiempo de construcción y respuesta) de estos modelos.
El hardware y la IA
De acuerdo con el investigador Facundo Molina, el uso de modelos de IA requiere contar con hardware especializado, normalmente Unidades de Procesamiento Gráfico (GPU).
Cuando los modelos se utilizan mediante algún servicio en la nube, el hardware es proporcionado por los proveedores del servicio (Google, OpenAI, etc). Cuando se utilizan modelos libres, uno debe elegir entre contratar un servicio de hardware o adquirir sus propias GPU. Esto último puede llegar a tener un costo considerablemente alto.
El problema se vuelve aún mayor si uno desea construir un modelo propio. Entrenar un modelo de IA es una tarea que requiere mucho más poder computacional que su uso. Por ejemplo, construir y entrenar el modelo GPT-4 le costó a OpenAI alrededor de 100 millones de dólares; Google gastó alrededor de 8 millones de dólares para construir PaLM 2. En general, la construcción de LLMs y otros modelos se vuelve cada año más costosa.
Al mismo tiempo, se destina cada vez más dinero en hardware para IA y centros de datos altamente equipados. Según un artículo de Communications of the ACM, entre mayo de 2022 y abril de 2023, Nvidia vendió 15 mil millones de dólares en GPUs, atribuyendo las ventas principalmente al uso de GPU para IA. Amazon, Google y Microsoft también reportaron un incremento en sus gastos destinados al mantenimiento de centros de datos. Por esta creciente demanda, durante 2023 han publicado varios informes alertando de la falta de GPUs.
Hoy contamos con grandes cantidades de espacio de almacenamiento (la nube parece infinita), procesamiento ultrarrápido y servidores por todas partes aceptando y entregando información. Pero la IA se enfrenta a limitaciones de hardware.
La sugerencia del investigador es “simplificar el manual de instrucciones”.
Reducir los costos y el consumo energético de la construcción de sistemas de IA debe ser una preocupación de la sociedad y, principalmente, de todos los científicos informáticos y de los desarrolladores de IA. En ello estamos.