Ejecutar modelos de inteligencia artificial cada vez más grandes en hardware doméstico sigue siendo uno de los grandes retos para desarrolladores y entusiastas. Ahora, un nuevo proyecto open source llamado GreenBoost propone una solución innovadora: ampliar la memoria VRAM de las GPU utilizando la RAM del sistema y almacenamiento NVMe, sin necesidad de modificar el software de inferencia.
Desarrollado por Ferran Duarri, este módulo para Linux promete cambiar las reglas del juego para quienes trabajan con modelos de lenguaje de gran tamaño.
Qué es GreenBoost y por qué es relevante
GreenBoost es un módulo de kernel para Linux acompañado de un “shim” de CUDA en espacio de usuario que permite a la GPU acceder a más memoria de la que físicamente tiene disponible.
En la práctica, esto significa que una tarjeta gráfica con 12 GB de VRAM puede ejecutar modelos que superan ampliamente ese límite, algo que hasta ahora obligaba a:
- Reducir la calidad del modelo (cuantización)
- Delegar carga al CPU (con pérdida de rendimiento)
- Comprar hardware mucho más caro
La propuesta de GreenBoost evita estas tres limitaciones.
El problema: ejecutar modelos grandes con hardware limitado
El propio desarrollador explica el origen del proyecto: intentar ejecutar un modelo de más de 30 GB en una GPU de 12 GB.
Las alternativas tradicionales presentan inconvenientes claros:
- Offload al CPU: reduce drásticamente la velocidad, especialmente en contextos largos
- Cuantización agresiva: empeora la calidad del modelo
- Actualizar GPU: supone un coste elevado
GreenBoost nace como una cuarta vía: aprovechar la memoria del sistema sin sacrificar el rendimiento de la GPU.
Cómo funciona GreenBoost
El sistema se basa en dos componentes clave que trabajan juntos:
1. Módulo del kernel
Este módulo reserva memoria RAM del sistema y la hace accesible directamente para la GPU mediante tecnología DMA-BUF. De esta forma, la GPU puede utilizar esa memoria como si fuera propia, sin necesidad de copias intermedias desde el CPU.
2. Shim de CUDA
El segundo componente intercepta las llamadas de asignación de memoria (como cudaMalloc) y redirige automáticamente las más grandes hacia esta memoria extendida.
El resultado: cualquier aplicación compatible con CUDA (como herramientas de IA) puede beneficiarse sin modificaciones.
Un sistema de memoria en tres niveles
GreenBoost organiza la memoria en tres capas diferenciadas:
- T1 (VRAM de la GPU): para cálculos activos y datos críticos
- T2 (RAM del sistema): para pesos del modelo y caché
- T3 (NVMe): como respaldo en casos extremos
Este enfoque permite que modelos grandes residan entre VRAM y RAM, manteniendo un rendimiento alto gracias al acceso directo vía PCIe.
Ventajas frente a otras soluciones
Una de las diferencias más importantes de GreenBoost es que opera a nivel del sistema, no de la aplicación.
Esto implica que:
- No hay que modificar herramientas como PyTorch o motores de inferencia
- Todas las aplicaciones CUDA pueden beneficiarse automáticamente
- Se elimina la limitación artificial de VRAM desde el software
Además, a diferencia de soluciones basadas en CPU, la GPU sigue siendo la encargada del cálculo, lo que mejora notablemente el rendimiento en tareas complejas.
Rendimiento: clave en contextos largos
Uno de los puntos críticos en modelos de lenguaje es el “prefill”, el proceso inicial donde se cargan grandes cantidades de contexto.
Aquí, GreenBoost destaca especialmente:
- Puede ser entre 5 y 10 veces más rápido que soluciones basadas en CPU
- Mantiene el rendimiento incluso con contextos muy largos
- Permite flujos de trabajo más complejos y continuos
Esto lo hace especialmente útil para aplicaciones avanzadas de IA generativa.
Compatibilidad y uso
GreenBoost funciona en sistemas Linux con GPU NVIDIA y se integra de forma transparente con herramientas de inferencia como Ollama.
Además:
- No sustituye los drivers oficiales
- No crea una GPU virtual
- Utiliza mecanismos oficiales de CUDA
También incluye compatibilidad con entornos como contenedores, máquinas virtuales o WSL2 mediante métodos alternativos.
Un proyecto open source con potencial
Distribuido bajo licencia GPL v2, GreenBoost es completamente open source y ya cuenta con contribuciones de la comunidad que amplían su compatibilidad y escenarios de uso.
El desarrollo continúa activo, con nuevas versiones en camino y mejoras en pruebas.
