La otra tarde, mientras me tomaba un café asiático bien cargado frente al puerto de Cartagena —el de aquí, el de los romanos y el Submarino Peral, no nos confundamos—, me quedé mirando las grúas del puerto. Pensaba en cómo hemos pasado de construir barcos de acero a depender de nubes de datos que ni siquiera sabemos dónde están. La verdad es que me da un poco de repelús. Cada vez que le preguntas algo a ChatGPT o a Claude, tus datos cruzan el charco, se procesan en un servidor que consume el agua de medio desierto de Nevada y vuelven a ti con una respuesta que, a veces, parece escrita por un notario con prisas.
Y ahí es donde entra el concepto del Homelab. Para los que no estéis metidos en el mundillo, un homelab no es más que tener un servidor (o un ordenador viejo haciendo cosas de servidor) en casa. Pero hoy no vamos a hablar de guardar fotos de las vacaciones en un NAS. Vamos a hablar de montar nuestra propia Inteligencia Artificial. Sí, un LLM (Large Language Model) que corra en local, sin conexión a internet si no quieres, y que no le cuente tus secretos a ninguna multinacional de Silicon Valley.
Ojo, que esto no es solo por paranoia de la privacidad, que también. Es por el placer de cacharrear. Es como cuando mi abuelo se empeñaba en arreglar el motor del SEAT 600 él mismo: si lo entiendes y lo controlas, es tuyo. Si depende de una suscripción de 20 dólares al mes, solo lo tienes alquilado. Y aquí, en aquinohayquienviva.es, somos muy de tener las llaves de nuestra propia casa digital.
El «Hierro»: ¿Qué necesitas para no freír un huevo en la placa base?
Vamos a quitarnos la tirita rápido: la IA traga recursos. No es como montar un servidor de archivos o un bloqueador de publicidad tipo Pi-hole. Aquí lo que manda es la VRAM. Si tienes una tarjeta gráfica vieja por ahí, probablemente no te sirva de mucho a menos que tenga, al menos, 8 GB de memoria dedicada. Y eso para ir tirando por lo bajini.
La verdad es que en España el mercado de segunda mano, tipo Wallapop o eBay, es nuestro mejor aliado. Si buscas una NVIDIA RTX 3060 de 12GB, tienes el punto de entrada perfecto. ¿Por qué NVIDIA? Pues porque su arquitectura CUDA es, nos guste o no, el estándar. Intentar hacer esto con AMD en Linux es posible, pero te vas a encontrar con más piedras en el camino que paseando por las ruinas del Teatro Romano. Se puede, pero vas a sudar.
Si te sobra el dinero o has pillado un buen pellizco en la lotería, una RTX 3090 de segunda mano es el «Santo Grial». Esos 24 GB de VRAM te permiten cargar modelos de un tamaño decente (los de 13B o incluso 30B de parámetros con algo de compresión) sin que el ordenador empiece a pedir socorro. Además, ahora que el precio de la luz en España nos da algún respiro de vez en cuando, tener el servidor encendido no supone pedir una hipoteca, aunque ojo con dejarlo computando a tope durante las horas punta.
Y no te olvides de la RAM del sistema. Si la GPU se queda corta, el sistema intentará usar la RAM normal. Es mucho más lenta, vaya que si lo es, pero te permite ejecutar cosas que de otro modo simplemente darían un error de «Out of Memory». Yo diría que 32 GB es el mínimo para dormir tranquilo.
Software Libre: El alma de la máquina
Aquí es donde la cosa se pone divertida. No necesitamos Windows para nada. De hecho, Windows solo va a estorbar con sus actualizaciones en mitad de la noche y su consumo de recursos en segundo plano. Lo ideal es una distribución de Linux limpia. Yo soy muy de Debian por aquello de la estabilidad, pero si quieres algo que funcione «out of the box» con los drivers de NVIDIA, Ubuntu Server es una apuesta segura.
Pero vamos al grano, ¿qué software usamos para que el modelo nos conteste? Olvidaos de programar en C++ desde cero. La comunidad de software libre ha hecho un trabajo increíble creando herramientas que hasta mi tía la de la Algameca podría instalar.
- Ollama: Es, sin duda, el rey de la sencillez. Te bajas un binario, escribes
ollama run llama3y, de repente, estás hablando con un modelo de última generación. Es casi mágico. Lo bueno de Ollama es que gestiona él solo la carga del modelo en la memoria y tiene una API que puedes conectar a cualquier cosa. - LocalAI: Si buscas algo más profesional que emule la API de OpenAI, esto es lo tuyo. Te permite sustituir las llamadas que harías a GPT-4 por llamadas a tu propio servidor local. Es ideal si estás desarrollando alguna aplicación y no quieres gastar ni un céntimo en tokens.
- vLLM: Esto ya es para cuando te pones serio. Si vas a dar servicio a varios usuarios o quieres una velocidad de respuesta que te despeine, vLLM es lo que usan las startups de aquí para optimizar el rendimiento.
La verdad es que ver cómo una terminal te responde en milisegundos sin que salga un solo paquete de datos de tu router es una sensación de poderío tecnológico bastante curiosa. Es como tener tu propia biblioteca de Alejandría metida en una caja de zapatos bajo el escritorio.
Modelos: ¿A quién le pedimos consejo?
Hace un par de años, los modelos libres eran… bueno, digamos que eran un poco «cortitos». Te daban respuestas circulares o se inventaban cosas sin ningún sentido. Pero hoy en día, la cosa ha cambiado radicalmente. Tenemos modelos que le tosen en la cara a las versiones comerciales.
El nombre que más suena es Llama 3, de Meta. Sí, ya sé que Meta no es precisamente el adalid de la ética, pero han liberado los pesos del modelo y la comunidad los ha destripado y mejorado. Para un homelab, el modelo de 8 billones de parámetros (8B) vuela en casi cualquier hardware moderno. Si tienes una bestia de 24 GB de VRAM, puedes intentar meter el de 70B, aunque irá un poco más a pedales.
Pero no todo es lo que viene de fuera. En España tenemos proyectos muy interesantes. El Barcelona Supercomputing Center (BSC) lleva tiempo trabajando en modelos entrenados específicamente en castellano y lenguas cooficiales. Usar un modelo que entiende nuestras expresiones, nuestros giros lingüísticos y que no te contesta como si fuera un doblaje de película de sobremesa es un soplo de aire fresco.
Y ojo con Mistral. Estos franceses han hecho un trabajo fino, fino. Su modelo Mistral 7B es, para mi gusto, uno de los más equilibrados. Es eficiente, rápido y tiene una mala leche contestando que me recuerda a los camareros de los bares de toda la vida de la calle Mayor: directo y sin rodeos.
Instalación paso a paso (sin morir en el intento)
Venga, vamos a mancharnos las manos. Imagina que tienes un PC con Ubuntu ya instalado. No necesitas ser un hacker de película de los 90 para poner esto en marcha. La verdad es que con Docker, la vida es mucho más fácil. Si no tienes Docker, instálalo, que estamos en 2024.
Primero, necesitamos que Docker pueda hablar con nuestra tarjeta NVIDIA. Para eso instalamos el nvidia-container-toolkit. Es un paso un poco aburrido, pero vital. Sin esto, el modelo correrá en el procesador (CPU) y te dará tiempo a irte a dar un paseo por Cala Cortina y volver antes de que termine de escribir una frase.
# Añadimos el repositorio de NVIDIA curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg # ... y configuramos el repositorio
Una vez que tenemos eso, lanzar Ollama es literalmente una línea de código:
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
¿Y ahora qué? Pues ahora le pedimos que descargue un modelo. Vamos a probar con Llama 3, que es el que está de moda:
docker exec -it ollama ollama run llama3
Ya está. Ya puedes preguntarle qué tiempo hace en Cartagena (aunque probablemente te mienta porque no tiene acceso a internet en tiempo real, a menos que lo configures) o que te escriba un poema sobre el expolio del Odyssey. Todo en tu hardware, todo bajo tu control.
La importancia de la cuantización (o cómo meter un elefante en un Seat Ibiza)
Aquí es donde la ciencia se vuelve un poco oscura. Los modelos originales ocupan muchísima memoria. Un modelo de 70B de parámetros podría necesitar 140 GB de VRAM si se carga tal cual. Obviamente, nadie tiene eso en casa a menos que seas un jeque árabe.
Para eso inventaron la cuantización. Básicamente, consiste en reducir la precisión de los números que forman el modelo. En lugar de usar números muy precisos (16 bits), usamos unos más «redondeados» (4 bits o incluso 2 bits). ¿Se vuelve el modelo más tonto? Un poco, pero la pérdida de inteligencia es mínima comparada con el ahorro de espacio.
Para nosotros, los mortales, esto significa que podemos correr modelos potentes en tarjetas gráficas de consumo. Los formatos más comunes que veréis por ahí son GGUF (ideal para usar con el procesador y algo de gráfica) y EXL2 (optimizado para ir a toda pastilla en la GPU). Si usas Ollama, él se encarga de todo esto por detrás, pero si te pones a descargar modelos de Hugging Face (el «GitHub» de la IA), verás que hay mil versiones de un mismo modelo. Mi consejo: busca siempre las versiones «Q4_K_M». Es el punto dulce entre velocidad y cerebro.
¿Y qué hacemos con la interfaz?
Hablar con una terminal está muy bien para sentirse un experto en Matrix, pero para el día a día, queremos algo más visual. Algo que se parezca a ChatGPT. Aquí es donde entra Open WebUI (antes conocido como Ollama WebUI).
Es una interfaz web preciosa que corre en un contenedor Docker y se conecta a tu servidor de Ollama. Tiene historial de chats, permite subir documentos para que el modelo los analice (lo que llaman RAG, pero no nos pongamos técnicos ahora) y puedes crear diferentes usuarios. Yo lo tengo instalado y la verdad es que es una gozada. Mis amigos vienen a casa y se quedan locos cuando ven que tengo mi propio «GPT» privado funcionando en un servidor que hace menos ruido que un ventilador de verano.
Además, Open WebUI te permite conectar modelos de diferentes fuentes. Puedes tener un modelo de Mistral para programar código y otro de Llama para escribir correos electrónicos. La versatilidad es total.
Privacidad y Ética: El elefante en la habitación
Hace poco leía en el blog de YouTube sobre sus nuevas iniciativas para proteger la identidad de los creadores frente a la IA generativa. Mencionaban una inversión millonaria en Dublín para el bienestar digital. Todo eso suena muy bien, de verdad, pero al final del día, son empresas cerradas. Ellos deciden qué es seguro, qué se puede decir y qué no.
Cuando montas tu propio homelab, tú eres el comité de ética. Si quieres que el modelo sea sarcástico, lo configuras para que lo sea. Si quieres que analice datos médicos privados sin que nadie más los vea, puedes hacerlo con la total seguridad de que esos datos no van a acabar alimentando el próximo modelo publicitario de una Big Tech.
En España, con la nueva Ley de Inteligencia Artificial de la UE, el tema de la soberanía de datos va a ser cada vez más importante. Tener la capacidad de procesar información localmente no es solo un hobby para frikis de la tecnología; es una ventaja competitiva para pequeñas empresas y profesionales autónomos. Imagina un abogado en Cartagena que puede analizar miles de sentencias sin que el secreto profesional se vea comprometido por subir archivos a la nube.
El coste real: No todo es el hardware
Vamos a ser realistas. Montar esto tiene un coste en tiempo. Vas a pasar horas peleándote con versiones de drivers, configurando redes locales y probando modelos que luego resultan ser un fiasco. Y luego está la factura de la luz. Un servidor con una GPU potente a pleno rendimiento puede consumir 300 o 400 vatios. Si lo tienes 24/7 dándole caña, a final de mes te vas a acordar de la compañía eléctrica.
Pero, ¿sabes qué? La satisfacción de aprender cómo funciona esta tecnología por dentro compensa cada euro. Es como cuando vas a las fiestas de Carthagineses y Romanos: te gastas el dinero, acabas cansado, pero la experiencia y lo que aprendes sobre la historia (o en este caso, sobre el futuro) no tiene precio.
Además, hay trucos para ahorrar. Puedes configurar el servidor para que se apague por la noche o usar herramientas como nvpmodel en dispositivos tipo Jetson para limitar el consumo. La cuestión es ser inteligente con el uso de la energía, igual que somos inteligentes con el uso de los datos.
¿Hacia dónde vamos?
La verdad es que esto no ha hecho más que empezar. Cada semana sale un modelo nuevo que es más pequeño, más rápido y más listo que el anterior. Estamos llegando a un punto donde no necesitaremos una tarjeta gráfica de 1000 euros para correr una IA decente. Ya hay modelos que funcionan sorprendentemente bien en una Raspberry Pi 5 o en los nuevos procesadores con NPU integrada.
Para que nos entendamos: estamos viviendo la democratización de la inteligencia. Antes, solo las grandes universidades o empresas como Google podían jugar con esto. Ahora, cualquier chaval con ganas de aprender y un PC medio decente puede montar su propio laboratorio de investigación en su cuarto.
Al final del día, montar un LLM Homelab con software libre es un acto de rebeldía digital. Es decir: «Mis datos son míos, mi capacidad de cómputo es mía y yo decido cómo uso la tecnología». Y eso, en los tiempos que corren, es algo que vale la pena defender.
Así que, si tienes por ahí un ordenador cogiendo polvo o te pica la curiosidad, dale una oportunidad. No hace falta que seas un ingeniero del MIT. Solo necesitas un poco de paciencia, una conexión a internet para bajar los modelos y, si puede ser, un buen café para acompañar las horas de cacharreo. Quién sabe, igual acabas creando una IA que explique la historia de Cartagena mejor que los guías del bus turístico.
Vaya, que la conclusión que saco de todo esto es que el futuro será abierto y local, o simplemente no será nuestro. Y yo, por si acaso, ya tengo mis GPUs calentando motores.
Deja una respuesta