Ir al contenido principal

Ejecuta GLM-5 en local para programación con agentes

Ejecuta GLM-5, el mejor modelo de IA de pesos abiertos, en una sola GPU con llama.cpp y conéctalo a Aider para convertirlo en un potente agente de programación local.
Actualizado 22 abr 2026  · 8 min leer

GLM-5 es el nuevo modelo de razonamiento abierto de Z.ai y ha ganado atención rápidamente por su gran rendimiento en código, flujos de trabajo con agentes y chats con contextos muy largos. 

Muchos desarrolladores ya lo usan para crear sitios web en un solo intento, construir apps pequeñas y experimentar con agentes de IA locales.

El reto es que GLM-5 es un modelo muy grande, y ejecutarlo en local no es realista con hardware de consumo. Incluso las versiones cuantizadas requieren cientos de gigabytes de memoria y una GPU potente.

En este tutorial, veremos una forma práctica de ejecutar GLM-5 en local con una cuantización GGUF de 2 bits en un pod NVIDIA H200, servirlo con llama.cpp y conectarlo a Aider para que puedas usar GLM-5 como un agente real de programación dentro de tus propios proyectos.

También te recomiendo ver nuestra guía sobre ejecutar GLM 4.7 Flash en local.

Requisitos previos: qué necesitas para ejecutar GLM-5

Antes de ejecutar GLM-5 en local, necesitas la variante correcta del modelo, suficiente memoria para cargarlo y una pila de software de GPU funcional.

Los requisitos de hardware dependen del tamaño de la cuantización:

  • 2 bits (281 GB): cabe en un sistema con ~300 GB de memoria unificada, o funciona bien con 1×24 GB de GPU + ~300 GB de RAM usando MoE offloading
  • 1 bit: cabe en ~180 GB de RAM
  • 8 bits: requiere ~805 GB de RAM

Para obtener el mejor rendimiento, la VRAM + la RAM del sistema combinadas deberían acercarse al tamaño de la cuantización. Si no, llama.cpp puede descargar a SSD, pero la inferencia será más lenta. Usa --fit en llama.cpp para maximizar el uso de GPU.

En nuestra configuración, ejecutamos GLM-5-UD-Q2_K_XL en una NVIDIA H200, con suficiente VRAM y RAM del sistema para alojar el modelo de forma eficiente.

Requisitos de software:

  • Controladores de GPU instalados
  • CUDA Toolkit
  • Un entorno de Python funcional

Cómo ejecutar GLM-5 en local

A continuación, encontrarás las instrucciones paso a paso para ejecutar GLM-5 en local: 

1. Configura tu entorno local

Incluso la versión de 1 bit de GLM-5 es demasiado grande para la mayoría de portátiles de consumo, así que para este tutorial usaré Runpod con una GPU NVIDIA H200.

Empieza creando un pod nuevo y seleccionando la plantilla más reciente de PyTorch.

Pod template at the Runpod

Luego haz clic en Edit para ajustar la configuración del pod:

  • Aumenta el tamaño del disco a 500 GB ya que nuestro modelo de 2 bits ocupa ~280 GB y necesitamos espacio extra para compilaciones y pruebas.
  • Abre el puerto 8080 para poder acceder a la interfaz de Chat de llama.cpp directamente desde tu navegador.
  • Añade tu token de Hugging Face como variable de entorno para acelerar las descargas del modelo (puedes generar un token desde tu cuenta de Hugging Face).

modifying the pod template

Cuando todo esté correcto, revisa el resumen del pod y haz clic en Deploy On-Demand.

pod summary on runpod

Cuando el pod esté listo, abre JupyterLab, lanza un Terminal y trabaja desde ahí. Usar el terminal de Jupyter es cómodo porque puedes ejecutar varias sesiones sin depender de SSH.

launching the terminal in the Jupyter Lab in Runpod

Primero, confirma que la GPU está disponible:

nvidia-smi 

Deberías ver la H200 listada en la salida.

nvidia-smi of the H200 GPU

Después, instala los paquetes de Linux necesarios para clonar y compilar llama.cpp:

sudo apt update
sudo apt install -y git cmake build-essential curl jq

2. Compila llama.cpp con soporte CUDA

Ahora que tu entorno en Runpod está listo y la GPU funciona, el siguiente paso es instalar y compilar llama.cpp con aceleración CUDA para que GLM-5 se ejecute de manera eficiente en la H200.

Primero, entra en el directorio de trabajo y clona el repositorio oficial de llama.cpp:

cd /workspace
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp

Es importante destacar que la última versión estable de llama.cpp aún no ofrece compatibilidad completa con GLM-5 de serie. Debes traer una pull request específica del upstream que incluye cambios recientes necesarios para la compatibilidad adecuada.

Recupera y haz checkout de la rama actualizada:

git fetch origin pull/19460/head:MASTER && git checkout MASTER && cd ..

A continuación, configuramos el sistema de build para compilar llama.cpp con CUDA activado, permitiendo que el modelo use aceleración por GPU en lugar de ejecutarse solo en CPU.

Ejecuta CMake con la opción de CUDA activada:

cmake llama.cpp -B llama.cpp/build \
   -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON

Buildign the llama.cpp build file.

Esto crea un directorio build/ dedicado y garantiza que los binarios del servidor de llama.cpp soporten la ejecución en GPU de NVIDIA.

Una vez completada la configuración, compila el objetivo llama-server:

cmake --build llama.cpp/build --config Release -j --clean-first --target llama-server

installing llama.cpp

Este paso puede tardar unos minutos según el pod, pero al finalizar tendrás un binario del servidor con CUDA listo para ejecutar GLM-5.

Por último, copia los ejecutables compilados a la carpeta principal para acceder a ellos más fácilmente:

cp llama.cpp/build/bin/llama-* llama.cpp

3. Descarga el modelo GLM-5 desde Hugging Face

Con llama.cpp compilado y listo, el siguiente paso es descargar los archivos del modelo GLM-5 GGUF desde Hugging Face.

Como estos checkpoints son extremadamente grandes, es importante activar los métodos de descarga más rápidos disponibles. 

Hugging Face ofrece herramientas opcionales como hf_xet y hf_transfer, que aceleran significativamente las descargas, especialmente en máquinas en la nube como Runpod.

Empieza instalando las utilidades de descarga de Hugging Face necesarias:

pip -q install -U "huggingface_hub[hf_xet]" hf-xet
pip -q install -U hf_transfer

Estos paquetes permiten descargas paralelas más rápidas y mejor rendimiento al traer cientos de gigabytes en fragmentos del modelo.

Ahora descarga la variante cuantizada específica que usamos en este tutorial. Solo queremos los archivos UD-Q2_K_XL, no todo el conjunto de subidas:

hf download unsloth/GLM-5-GGUF \
   --local-dir models/GLM-5-GGUF \
   --include "*UD-Q2_K_XL*"

Esto guardará el modelo directamente en el directorio models/GLM-5-GGUF.

En nuestra configuración, las descargas alcanzan velocidades de alrededor de 1,2 GB/s porque activamos hf_xet y proporcionamos un token de Hugging Face. Las descargas anónimas suelen ser mucho más lentas, así que configurar la autenticación y la aceleración de transferencia marca una gran diferencia con modelos de este tamaño.

downloading the GLM-5 2 bit model

4. Inicia el modelo GLM-5 en una sola GPU

Ahora que el modelo está descargado y llama.cpp está compilado con soporte CUDA, podemos iniciar GLM-5 usando el llama-server incluido.

Ejecuta el siguiente comando para lanzar el servidor:

./llama.cpp/llama-server \
  --model models/GLM-5-GGUF/UD-Q2_K_XL/GLM-5-UD-Q2_K_XL-00001-of-00007.gguf \
  --alias "GLM-5" \
  --host 0.0.0.0 \
  --port 8080 \
  --jinja \
  --fit on \
  --threads 32 \
  --ctx-size 16384 \
  --batch-size 512 \
  --ubatch-size 128 \
  --flash-attn auto \
  --temp 0.7 \
  --top-p 0.95

Algunos argumentos importantes a tener en cuenta:

  • --host 0.0.0.0 expone el servidor para que pueda accederse desde tu navegador
  • --port 8080 coincide con el puerto que abrimos antes en Runpod
  • --fit on garantiza el uso máximo de la GPU antes de pasar a RAM
  • --ctx-size 16384 establece la ventana de contexto para la inferencia
  • --flash-attn auto activa kernels de atención más rápidos cuando se soporta

Al iniciar el servidor, verás que llama.cpp usa casi toda la memoria de GPU disponible, y descarga el resto de capas del modelo a la RAM del sistema. Es lo esperado y funciona bien en configuraciones con H200.

loading the GLM-5 2bit model to start the llama.cpp server

El modelo debería cargarse y empezar a servir en menos de un minuto. Si tu pod tarda mucho más, puede haber un problema con la instancia. En ese caso, suele ser más rápido terminar el pod y lanzar uno nuevo.

serving GLM-5 inference server

Cuando el servidor esté en marcha, verifica que GLM-5 está disponible consultando el endpoint compatible con OpenAI:

curl -s http://127.0.0.1:8080/v1/models | jq

Deberías ver "GLM-5" en la respuesta, confirmando que el modelo está cargado y listo.

{
  "models": [
    {
      "name": "GLM-5",
      "model": "GLM-5",
      "modified_at": "",
      "size": "",
      "digest": "",
      "type": "model",
      "description": "",
      "tags": [
        ""
      ],
      "capabilities": [
        "completion"
      ],
      "parameters": "",
      "details": {
        "parent_model": "",
        "format": "gguf",
        "family": "",
        "families": [
          ""
        ],
        "parameter_size": "",
        "quantization_level": ""
      }
    }
  ],
  "object": "list",
  "data": [
    {
      "id": "GLM-5",
      "object": "model",
      "created": 1770900487,
      "owned_by": "llamacpp",
      "meta": {
        "vocab_type": 2,
        "n_vocab": 154880,
        "n_ctx_train": 202752,
        "n_embd": 6144,
        "n_params": 753864139008,
        "size": 281373251584
      }
    }
  ]
}

5.  Prueba el modelo GLM-5 con la interfaz de chat

Con el servidor funcionando, puedes probar GLM-5 directamente desde la interfaz de Chat incorporada de llama.cpp.

Normalmente, la WebUI está disponible en local en: http://127.0.0.1:8080

Sin embargo, como estamos ejecutando en Runpod en la nube, ese enlace a localhost no funcionará desde tu máquina.

En su lugar, ve a tu panel de Runpod y haz clic en el enlace de HTTP Service para el puerto 8080. Esta es la URL pública que reenvía el tráfico a tu llama-server en ejecución.

Runpod dashboard to access the webUIAl abrir ese enlace accederás a la interfaz de Chat, con el modelo GLM-5 ya cargado y listo.

llama.cpp WebUI

Para confirmar que todo funciona, envía un mensaje sencillo como “¡Hey!!”. Verás que el modelo responde al momento. 

En nuestro caso, la inferencia corre a alrededor de 8,7 tokens por segundo, un rendimiento excelente teniendo en cuenta el tamaño de GLM-5 y el checkpoint cuantizado de 281 GB.

Testing the GLM-5 model on the Llama.cpp webUI

6. Instala y conéctate a Aider

Aider es una herramienta de pair programming con IA basada en terminal que trabaja directamente dentro de la carpeta de tu proyecto. 

Chateas con ella como con una pareja de programación, y puede crear, editar y refactorizar archivos en tu repo manteniendo todo anclado a tu base de código real y a tu flujo de trabajo con git. 

También permite conectar con cualquier endpoint de API compatible con OpenAI, lo que lo hace ideal para usarlo contra nuestro servidor local de llama.cpp.

Primero, instala Aider:

pip install -U aider-chat

Después, apunta Aider a tu servidor local de llama.cpp compatible con OpenAI. Establecemos una clave ficticia porque llama.cpp no requiere una clave real de OpenAI:

export OPENAI_API_BASE=http://127.0.0.1:8080/v1
export OPENAI_API_KEY=local
export OPENAI_BASE_URL=$OPENAI_API_BASE

Ahora crea una carpeta de proyecto de demo nueva (para que Aider tenga un repo limpio con el que trabajar):

mkdir -p glm5-demo-app
cd glm5-demo-app

Por último, inicia Aider y conéctalo a GLM-5 usando el alias del modelo que expusimos antes:

aider --model openai/GLM-5 --no-show-model-warnings

A partir de aquí, cualquier cosa que pidas dentro de Aider pasará por tu servidor local de GLM-5, y Aider aplicará cambios directamente a los archivos en glm5-demo-app.

running local GLM-5 with AiderUsa GLM-5 como tu agente de programación

Una vez que Aider esté conectado a GLM-5, puedes usarlo como agente de programación dentro de tu repo. Empieza con un saludo sencillo para confirmar que responde rápido.

Simple greeting in Aider

Luego, dale una instrucción clara como esta:

Create a simple Python FastAPI project with one /health endpoint, a README, and instructions to run it locally.

Thinking about the initial prompt in Aider

Aider primero propondrá un plan y luego pedirá permiso para aplicar los cambios.

Task plan in the Aider

Acepta los cambios y generará los archivos automáticamente. 

En una cuantización de 2 bits como GLM-5-UD-Q2_K_XL, puedes ver pequeños fallos, por ejemplo, crear un archivo como pip install -r requirements.txt, que es un error. El modelo completo es menos propenso a estos fallos, pero el de 2 bits sigue siendo muy usable con una rápida revisión humana.

Creating the project files in Aider

Cuando Aider termine de escribir el proyecto, entra en la carpeta, instala dependencias y ejecuta el servidor:

cd glm5-demo-app/pip install -r requirements.txt

Inicia la app de FastAPI con Uvicorn:

uvicorn main:app --reload

El servidor se ejecutará en el puerto 8000. 

Running the FastAPI server locally.

Prueba el endpoint de salud:

curl -s http://127.0.0.1:8000/health

Deberías obtener:

{"status":"ok"}

Reflexiones finales

GLM-5 se está convirtiendo rápidamente en uno de los modelos de pesos abiertos más comentados en la comunidad de IA, sobre todo porque acerca el rendimiento open source al de modelos propietarios mientras está diseñado para razonamiento profundo, flujos de trabajo con agentes y tareas de programación.

A pesar del hype, seguir ejecutando modelos a gran escala en local es un desafío para la mayoría

Incluso con cuantización, modelos como GLM-5 requieren cientos de gigabytes de memoria y GPUs rápidas, algo que mucha gente no tiene en casa. 

Esto significa que la mayoría recurre a pods de GPU en la nube (como la H200 de este tutorial) o a servicios de API alojados. 

El carácter de pesos abiertos de GLM-5 es potente porque te permite alojar y controlar tu propia instancia sin depender de proveedores de API propietarios, pero también deja claro por qué open source en IA no significa mágicamente “se ejecuta en un portátil” para todo el mundo. 

En este tutorial, hemos visto cómo superar esas barreras de hardware usando una versión cuantizada de 2 bits de GLM-5 en una GPU H200 de Runpod. Hemos repasado la configuración del entorno, la compilación de llama.cpp con soporte CUDA, la descarga eficiente del modelo, el lanzamiento del servidor de inferencia, su prueba desde el navegador y, por último, la conexión de una herramienta de programación como Aider para usar GLM-5 como agente en tareas de desarrollo reales.

GLM-5 FAQs

¿Qué es GLM-5 y por qué es importante?

GLM-5 es el nuevo modelo de razonamiento abierto de Z.ai, diseñado específicamente para tareas complejas como programación, flujos de trabajo con agentes y chat con contextos largos. Con más de 750 mil millones de parámetros, es un modelo Mixture-of-Experts (MoE) masivo que rivaliza con los mejores modelos propietarios en lógica y resolución de problemas. Destaca especialmente por su capacidad para generar sitios web en "un solo intento" y para tareas de razonamiento profundo con las que los modelos open source más pequeños suelen tener dificultades.

¿Un modelo cuantizado a 2 bits es realmente suficientemente "listo" para programar?

Sí. Aunque la cuantización de 2 bits tradicionalmente degrada el rendimiento, la escala de GLM-5 lo hace muy resistente a la compresión. Incluso a 2 bits de precisión, el modelo conserva la gran mayoría de sus capacidades de razonamiento, superando a muchos modelos FP16 más pequeños (como Llama-3-70B) en tareas complejas de programación. Es excelente para lógica y arquitectura, aunque se recomienda usar herramientas como Aider para detectar pequeños errores de sintaxis.

¿En qué se diferencia GLM-5 de versiones anteriores como GLM-4?

La mayor diferencia es la escala y el enfoque. GLM-5 supone un salto generacional en razonamiento profundo y capacidades de agente. Mientras que GLM-4 era un gran generalista, GLM-5 funciona como un enorme modelo MoE (Mixture-of-Experts) diseñado para “pensar” problemas de ingeniería en varios pasos. Además, ofrece una ventana de contexto mucho mayor (hasta 200k en entrenamiento), lo que lo hace muy superior para analizar bases de código grandes o documentos extensos.

¿Por qué necesito compilar llama.cpp desde el código fuente para ejecutarlo?

Las versiones estándar de llama.cpp a menudo van por detrás de las arquitecturas de modelo más recientes. Como GLM-5 utiliza una variante específica de la arquitectura MoE y nuevas operaciones de tensores, requiere cambios concretos en upstream que aún no se han fusionado en la rama principal. Compilar desde fuente con la marca CUDA garantiza que tengas los kernels necesarios para descargar capas del modelo a GPUs como la NVIDIA H200; de lo contrario, el modelo puede no cargar.

¿GLM-5 admite tokens de "pensamiento" o "razonamiento"?

Sí, GLM-5 se presenta como un modelo de razonamiento abierto. Esto significa que, para consultas complejas, puede generar cadenas internas de “pensamiento” para descomponer problemas antes de dar una respuesta final. Al usarlo con agentes de programación como Aider, el modelo puede planificar un refactor o depurar un error críptico paso a paso, logrando una generación de código de mayor calidad que los modelos estándar de “predecir el siguiente token”.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

Soy un científico de datos certificado que disfruta creando aplicaciones de aprendizaje automático y escribiendo blogs sobre ciencia de datos. Actualmente me centro en la creación de contenidos, la edición y el trabajo con grandes modelos lingüísticos.

Temas

Los mejores cursos de IA

programa

Ingeniero Asociado de IA para Científicos de Datos

40 h
Entrena y afina los últimos modelos de IA para producción, incluidos los LLM como Llama 3. ¡Comienza hoy tu viaje para convertirte en Ingeniero de IA!
Ver detallesRight Arrow
Iniciar curso
Ver másRight Arrow
Relacionado
An AI juggles tasks

blog

Cinco proyectos que puedes crear con modelos de IA generativa (con ejemplos)

Aprende a utilizar modelos de IA generativa para crear un editor de imágenes, un chatbot similar a ChatGPT con pocos recursos y una aplicación clasificadora de aprobación de préstamos y a automatizar interacciones PDF y un asistente de voz con GPT.
Abid Ali Awan's photo

Abid Ali Awan

10 min

An avian AI exits its cage

blog

12 alternativas de código abierto a GPT-4

Alternativas de código abierto a GPT-4 que pueden ofrecer un rendimiento similar y requieren menos recursos informáticos para funcionar. Estos proyectos vienen con instrucciones, fuentes de código, pesos del modelo, conjuntos de datos e IU de chatbot.
Abid Ali Awan's photo

Abid Ali Awan

9 min

blog

10 maneras de utilizar ChatGPT para las finanzas

Descubre cómo los modelos lingüísticos de IA como ChatGPT pueden revolucionar tus operaciones financieras, desde la generación de informes hasta la traducción de jerga financiera.
Matt Crabtree's photo

Matt Crabtree

13 min

Tutorial

Guía para principiantes de LlaMA-Factory WebUI: Ajuste de los LLM

Aprende a afinar los LLM en conjuntos de datos personalizados, evaluar el rendimiento y exportar y servir modelos sin problemas utilizando el marco de trabajo de bajo/ningún código de LLaMA-Factory.
Abid Ali Awan's photo

Abid Ali Awan

Tutorial

Tutorial FLAN-T5: Guía y puesta a punto

Una guía completa para afinar un modelo FLAN-T5 para una tarea de respuesta a preguntas utilizando la biblioteca de transformadores, y ejecutando la inferencia optmizada en un escenario del mundo real.
Zoumana Keita 's photo

Zoumana Keita

Tutorial

Ajuste fino de GPT-3 mediante la API OpenAI y Python

Libere todo el potencial de GPT-3 mediante el ajuste fino. Aprenda a utilizar la API de OpenAI y Python para mejorar este modelo de red neuronal avanzado para su caso de uso específico.
Zoumana Keita 's photo

Zoumana Keita

Ver másVer más