Los modelos de inteligencia artificial de última generación pueden superar el billón de parámetros, lo que implica requerir varios terabytes de memoria para alojar sus pesos. Dado que la GPU más potente disponible en el mercado ofrece alrededor de 288?GB, es imposible ejecutar dichos modelos en una única unidad. Por ello, la arquitectura de producción se basa en la coordinación de decenas o incluso cientos de GPU, de modo que el modelo, su caché de contexto y la carga de trabajo se distribuyan eficientemente. Es importante destacar que limitar la inferencia a una sola GPU genera cuellos de botella de memoria y latencia que son inaceptables para servicios con millones de usuarios simultáneos.
Una consideración clave es que la puesta en marcha de un modelo en producción debe atender simultáneamente tres restricciones: el consumo de memoria física para los pesos, el crecimiento continuo de la caché KV que almacena el contexto de la conversación, y el rendimiento necesario para atender a un gran número de solicitudes concurrentes. La experiencia nos demuestra que abordar estas limitaciones de forma integral, mediante técnicas de paralelismo distribuido, es la única vía viable para mantener la disponibilidad y la velocidad de respuesta esperadas por los usuarios.
El paralelismo de datos consiste en replicar el modelo completo en varias GPU y dirigir cada petición a la réplica que tenga menor carga o que ya posea la caché KV relevante. Esta estrategia elimina la necesidad de coordinación entre dispositivos, pero requiere que los pesos del modelo quepan íntegramente en la memoria de cada GPU. Una práctica recomendada es implementar un balanceador inteligente que tenga en cuenta tanto la utilización de cómputo como la proximidad de la caché, de modo que se minimice la latencia de enrutamiento y se maximice el throughput global.
Cuando el modelo supera la capacidad de una sola GPU, el paralelismo en pipeline permite fragmentar la arquitectura por capas, asignando grupos de capas a distintas GPU. Cada unidad procesa su segmento y pasa los resultados al siguiente eslabón, creando una cadena de montaje computacional. Es fundamental mantener un flujo constante de solicitudes para que todas las GPU permanezcan ocupadas; de lo contrario, la pipeline se vacía y gran parte del hardware queda inactivo. La planificación de la carga debe garantizar que el número de peticiones en vuelo sea suficiente para saturar cada etapa sin generar excesiva latencia de cola.
El paralelismo tensorial lleva la división al nivel de sub?operaciones dentro de cada capa, distribuyendo los cálculos entre varias GPU que colaboran mediante operaciones colectivas. Dado que estas operaciones requieren intercambios frecuentes de datos, la interconexión entre GPU debe ofrecer un ancho de banda muy alto y una latencia mínima, típicamente mediante enlaces NVLink o PCIe de última generación. Una consideración clave es evitar que la red de comunicación se convierta en el nuevo cuello de botella; por ello, la topología de interconexión y la colocación física de los dispositivos deben diseñarse para minimizar la distancia y maximizar la velocidad de transferencia.
En los modelos de mezcla de expertos (MoE), la arquitectura se compone de múltiples sub?redes especializadas que se activan de forma selectiva según el token de entrada. El paralelismo de expertos distribuye estos especialistas entre diferentes GPU, de modo que cada unidad aloje solo una fracción del conjunto total de expertos. La ventaja radica en reducir la carga computacional por token, pero el enrutamiento dinámico genera un tráfico de red considerable, ya que los tokens deben viajar entre GPU para ser procesados por los expertos seleccionados. La experiencia nos demuestra que, para que este enfoque sea rentable, la infraestructura de red debe ser capaz de manejar un gran número de mensajes de baja latencia sin saturarse.
Durante la inferencia, el proceso se divide en dos fases distintas: pre?relleno y decodificación. El pre?relleno consume la mayor parte del poder de cómputo al procesar la entrada completa y construir la caché KV, mientras que la decodificación avanza token a token y está limitada principalmente por el ancho de banda de la memoria, ya que necesita acceder repetidamente a la caché en crecimiento. Es importante destacar que separar estas fases en grupos de GPU dedicados permite optimizar cada una según su propio cuello de botella; sin embargo, la transferencia de la caché KV entre los grupos debe realizarse a través de una conexión de altísima velocidad para que la desagregación resulte beneficiosa.
En conclusión, escalar modelos de IA más allá de una única GPU implica combinar de forma estratégica los distintos tipos de paralelismo—de datos, en pipeline, tensorial y de expertos—y considerar la separación de fases de inferencia para adaptar el hardware a los requerimientos específicos de cada etapa. La experiencia nos demuestra que una arquitectura bien balanceada, con interconexiones de alto rendimiento y un sistema de enrutamiento inteligente, no solo supera las limitaciones de memoria y latencia, sino que también garantiza la capacidad de atender a miles de usuarios simultáneos con respuestas rápidas y fiables. Adoptar estas mejores prácticas es esencial para cualquier organización que busque ofrecer servicios de IA a gran escala en entornos de producción.
Fuente: YouTube
