1. Introducción
Para comenzar a usar modelos de IA local necesitamos un motor de inferencia que cargue los modelos. Para ello vamos a utilizar llama.cpp. Sin embargo, este motor debe comunicarse con nuestra GPU (tarjeta gráfica) a través de un backend que depende, entre otras cosas, del sistema operativo que usemos y la marca de nuestra tarjeta gráfica:
Necesitaremos seguir los siguientes pasos:
- Instalar los drivers actualizados de la GPU
- Elegir e instalar un backend apropiado
- Instalar Llama.CPP para su uso posterior
2. Instalación de drivers (GPU)
Antes de continuar, selecciona tu tarjeta gráfica:
Asegúrate de tener los últimos drivers de nVIDIA instalados.
Una vez instalados puedes testear desde una terminal si tu sistema detecta correctamente la GPU:
nvidia-smi
Asegúrate de tener los últimos drivers de AMD instalados.
3. Elegir el backend apropiado
Ahora necesitamos instalar y configurar el backend para comunicar la gráfica con nuestro motor de inferencia. Para ello tenemos que elegir uno de los siguientes. Observa que depende del sistema operativo y de nuestra tarjeta gráfica (y no todos los backends ofrecen el mismo rendimiento):
| Backend | Rendimiento | Nvidia | AMD | Observaciones |
|---|---|---|---|---|
| CUDA (Nvidia) | 🟩🟩🟩🟩🟩 | ✅ | ❌ | |
| ROCm/HIP (AMD) | 🟩🟩🟩🟩🟩 | ❌ | ✅ | |
| Vulkan | 🟩🟩🟩🟩⬛ | ✅ | ✅ | |
| CPU/RAM | 🟨🟨⬛⬛⬛ | ❌ | ❌ | Opción ideal para sistemas sin GPU (o poco potentes). |
Accede a la sección releases de llama.cpp y descarga la versión adecuada para tu sistema operativo.
Selecciona tu sistema operativo:
Descarga el fichero Windows x64 (CUDA13) y el fichero CUDA 13.3 DLLs. Descomprime ambos ficheros en una carpeta, por ejemplo, en C:\llama.cpp. Si experimentas problemas, baja y prueba con las versiones de CUDA 12.
Si utilizas Linux (o quieres usar llama.cpp desde Windows con WSL), para usar CUDA debes compilar llama.cpp, adaptándolo a tu hardware específico. Los pasos que deberías dar son los siguientes:
# Preparamos compilación
sudo apt update
sudo apt install -y git build-essential cmake libopenblas-dev
sudo apt install -y ccache libssl-dev # opcional, recomendable
# Descargamos llama.cpp
cd ~
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
# Instalamos CUDA Toolkit
wget https://developer.download.nvidia.com/compute/cuda/13.3.0/local_installers/cuda_13.3.0_610.43.02_linux.run
sudo sh cuda_13.3.0_610.43.02_linux.run
# Compilamos llama.cpp
cmake -B build -DGGML_CUDA=ON -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS
cmake --build build --config Release -j$(nproc)
Una vez hecho esto, comprobamos que todo ha compilado correctamente:
./build/bin/llama-cli --version
version: 9518 (7c158fbb4)
built with GNU 13.3.0 for Linux x86_64
# Si nos da la versión correctamente, instalamos en el sistema
sudo cmake --install build
sudo ldconfig
# Ahora podremos llamarla desde cualquier ruta
llama-server --version
Si experimentas problemas con CUDA o compilarlo te parece muy complicado, tu opción ideal es utilizar Vulkan.
-
En el caso de Windows, descarga
Windows x64 (HIP)y descomprimes en una carpeta, por ejemplo, enC:\llama.cpp. -
En el caso de Linux, descarga
Ubuntu x64 (ROCm 7.2)y descomprimes en una carpeta, por ejemplo, en/opt/llama.cpp.
Si experimentas problemas con CUDA, tu opción alternativa es probar Vulkan.
Vulkan ofrece algo menos de rendimiento que CUDA o ROCm, pero es la opción multiplataforma ya que está disponible tanto para Windows como para Linux, soportando tanto Nvidia como AMD.
-
En el caso de Windows, descarga
Windows x64 (Vulkan)y descomprimes en una carpeta, por ejemplo, enC:\llama.cpp. -
En el caso de Linux, descarga
Ubuntu x64 (Vulkan)y descomprimes en una carpeta, por ejemplo, en/opt/llama.cpp.
Si no tienes una tarjeta gráfica potente, puedes hacer inferencia mediante CPU. Ofrece un rendimiento muy bajo, pero en sistemas potentes con mucha RAM puede ser una opción.
-
En el caso de Windows, descarga
Windows x64 (CPU)y descomprimes en una carpeta, por ejemplo, enC:\llama.cpp. -
En el caso de Linux, descarga
Ubuntu x64 (CPU)y descomprimes en una carpeta, por ejemplo, en/opt/llama.cpp.
4. Uso
Llama.cpp tiene ficheros binarios ejecutables para múltiples casos de usos, pero el principal que vamos a utilizar es llama-server. Mi recomendación es bajar un modelo pequeño que, aunque será algo tonto, será lo suficientemente rápido para testear y probar si funciona todo bien.
Para la prueba, vamos a utilizar el modelo Qwen 3.5 0.8B sin cuantizar. Vamos a descargarlo y guardarlo en nuestra carpeta de llama.cpp.
Una vez descargado, vamos a activarlo con llama-server. Desde una terminal en la carpeta de llama.cpp escribimos el siguiente comando:
llama-server -m Qwen3.5-0.8B-BF16.gguf
Nos aparecerá mucha información, hasta que se detenga y aparezca un mensaje similar al siguiente:
llama_server: server is listening on http://127.0.0.1:8080
¡Felicidades! Ya lo tenemos listo. Esto significa que ahora podemos acceder a la página http://127.0.0.1:8080 donde encontrarás una interfaz de chat similar a ChatGPT para probar el modelo. Al escribir un mensaje, verás debajo una barra con la cantidad de tokens procesados, el tiempo que tardó en generarse y la velocidad en tokens/seg. Esta métrica es una de las más importantes, y el objetivo es que sea lo más alta posible.
Además de esto, llama-server expone una API añadiendo los parámetros --host 0.0.0.0 --port 8080 (el puerto es personalizable). Esto significa que cualquier sistema que pueda acceder a nuestra IP, puede utilizar llama-server e incluso conectarlo a agentes u otros programas.
Recuerda que el modelo concreto de Qwen que hemos usado es muy pequeño. Es un modelo orientado a dispositivos móviles y tareas de automatización muy sencillas. Lo hemos usado sólo para asegurarnos de que funciona todo correctamente antes de continuar y escalar a otros mayores. Visita la sección Modelos Qwen para encontrar modelos más potentes y visita la guía para Optimizar Llama.cpp.

