Desde la explosión de ChatGPT hace más de un año, casi todas las empresas con las que hablo están montando arquitecturas RAG. Pero siempre chocamos con el mismo muro legal: enviar documentos confidenciales de la empresa a la API de OpenAI es un riesgo de privacidad inasumible para muchos clientes corporativos.
Necesitábamos una forma de correr la inteligencia artificial en nuestros propios servidores. Hace unos años, intentar correr un modelo de miles de millones de parámetros exigía un clúster de tarjetas gráficas NVIDIA A100 que costaban cientos de miles de euros. Este fin de semana, he corrido un modelo de última generación en mi humilde portátil gracias al ecosistema Open Source.
Cuantización y el milagro de Ollama
El secreto técnico para que un modelo gigante quepa en la memoria RAM de un portátil normal se llama Cuantización.
Cuando Meta u otras empresas entrenan modelos, los pesos de la red neuronal se guardan en coma flotante de 16 bits (FP16). Eso ocupa muchísimo espacio. La comunidad open source ha descubierto que si comprimes esos números a enteros de 4 bits (un formato llamado GGUF), el modelo pierde una fracción minúscula de precisión, pero reduce su tamaño en memoria drásticamente. Un modelo de 8.000 millones de parámetros pasa de requerir 16 GB de RAM a caber holgadamente en 5 GB.
La herramienta que hace que esto sea ridículamente fácil se llama Ollama. Ya no hace falta compilar código en C++; es tan sencillo como usar Docker:
# Instalamos ollama y bajamos el modelo (como las filtraciones o versiones tempranas de Llama 3)
ollama run llama3
# Y si queremos exponerlo como una API local (100% compatible con la sintaxis de OpenAI)
curl -X POST http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama3",
"messages": [{"role": "user", "content": "Escribe un script de Python"}]
}'
Reflexión: La venganza del Open Source
Ver el cursor parpadear en la terminal de mi portátil, generando texto coherente sin estar conectado a internet, me ha puesto cachondo.
La historia de la informática es un péndulo entre lo centralizado y lo descentralizado. Los gigantes como Google o Microsoft quieren que dependamos de sus APIs cerradas cobrándonos por cada token. Pero la comunidad de código abierto avanza a una velocidad imparable. Al igual que Linux terminó aplastando a los sistemas operativos de servidor propietarios, estoy convencido de que en un par de años el estándar corporativo no será conectarse a ChatGPT, sino tener tu propia granja de pequeños modelos Open Source, privados, cuantizados y corriendo en tus propios servidores locales.