FP8, VRAM y el arte de correr modelos gigantes en una RTX 3060

En el mundo de la Inteligencia Artificial, los nombres de los formatos numéricos pueden parecer una jerga complicada. ¿Qué es FP8? ¿Por qué se habla tanto de FP16 y INT4? Y lo más importante: si tu tarjeta gráfica no soporta un formato nativo como el FP8, ¿realmente pierdes la oportunidad de usar modelos modernos?

En este artículo, desglosaremos cómo funcionan estas precisiones, por qué las tarjetas de consumo como la RTX 3060 tienen limitaciones específicas, y cómo puedes aprovechar la memoria del sistema para ejecutar modelos que parecen imposibles.

Diagrama técnico que compara los diferentes niveles de precisión (FP32, FP16, INT4) contra los formatos avanzados (FP8, FP4), indicando claramente cuáles son compatibles con hardware doméstico y cuáles requieren servidores profesionales.
Comparación visual de las precisiones: formatos soportados en consumo versus exclusivos para centros de datos.

¿Qué son FP8, FP16 y las otras precisiones?

En esencia, estos formatos definen cuántos bits se usan para representar los pesos de un modelo. Menos bits significan menos memoria (VRAM) y más velocidad.

  • FP32: El estándar clásico de alta precisión, ideal para entrenamiento científico pero demasiado pesado para inferencia moderna.
  • FP16: La columna vertebral del entrenamiento moderno. Es el equilibrio perfecto entre rendimiento y calidad que soportan casi todas las tarjetas gráficas modernas.
  • INT4 e INT8: Formatos enteros cuantizados que permiten reducir drásticamente el tamaño de los modelos, permitiendo correr LLMs en equipos domésticos.

La gran confusión ocurre con formatos como FP8. A diferencia de FP16 o INT4, el FP8 nativo es actualmente exclusivo para hardware especializado de centros de datos. Sin embargo, gracias a la cuantización y al offloading inteligente, puedes usar modelos diseñados en FP8 incluso si tu tarjeta gráfica no lo soporta.

El misterio de la VRAM: ¿Por qué dos GPUs no se suman?

Una pregunta frecuente es por qué no podemos simplemente conectar dos tarjetas gráficas para sumar su memoria y cargar modelos masivos. La respuesta radica en cómo funciona el hardware.

Cada GPU tiene su propia memoria dedicada (VRAM). Sin una tecnología como NVLink, que solo está disponible en GPUs profesionales de gama alta, las tarjetas no pueden compartir ni sumar sus memorias entre sí. Intentar distribuir un modelo entre dos GPUs independientes resultaría en transferencias lentísimas que harían el sistema más lento que si se usara una sola tarjeta.

En cambio, la arquitectura del sistema permite usar la memoria de sistema (RAM) como una extensión de tu VRAM. Cuando la GPU llena su memoria dedicada, puede «derramar» o spillar los datos hacia la RAM del procesador. Esto significa que sí puedes ejecutar modelos más grandes, pero a costa de un rendimiento significativamente menor debido a la latencia.

Infografía dividida en tres secciones que muestran técnicas como la cuantización FP8, el offloading de pesos a CPU y la reducción de resolución para ejecutar modelos grandes sin congelar la tarjeta gráfica.
Guía visual de estrategias de optimización: cuantización FP8, offloading por capas y reducción de resolución para mejorar el rendimiento en hardware limitado.
Ilustración técnica mostrando una GPU conectada a un bloque de RAM vía PCIe, mientras que dos GPUs separadas están aisladas entre sí sin conexión de memoria compartida.
Diagrama de arquitectura: cómo la RAM actúa como memoria extendida para la VRAM y por qué las tarjetas separadas no pueden sumar su memoria.

Estrategias para optimizar tu hardware

Entender estas limitaciones es solo la mitad de la batalla. Para ejecutar modelos grandes en una RTX 3060 u otros equipos de consumo, se deben aplicar estrategias específicas de optimización.

  • Cuantización FP8: Utilizar versiones cuantizadas de los modelos reduce drásticamente el uso de VRAM y permite cargar checkpoints que serían imposibles en formato FP16 o FP32.
  • Offloading por capas: En lugar de cargar todo el modelo a la vez, se pueden distribuir las capas del modelo entre la GPU y la CPU. Esto evita que la memoria se llene de golpe y mantiene la inferencia más fluida.
  • Reducción de resolución y batch size: Reducir la resolución o el tamaño del lote en tareas como la generación de video reduce la cantidad de datos temporales, minimizando así la necesidad de usar RAM para almacenar los resultados intermedios.

Al combinar estas técnicas con un conocimiento claro de qué formatos soporta tu hardware, puedes maximizar el potencial de tu equipo sin depender de costosas actualizaciones de hardware. La clave está en saber cuándo es mejor usar FP16 y cuándo confiar en la cuantización para mantener el sistema estable.