Llama.cpp en Windows: La guía de CUDA

laptop_mac macOS Sonoma Intermediate schedule 8 min read
Author by Alex Rivera • May 14, 2024

Si deseas máximo rendimiento, control absoluto y cero software innecesario, compilar llama.cpp directamente desde el código fuente utilizando el NVIDIA CUDA Toolkit es la única opción válida. A continuación, se explica exactamente cómo hacerlo en Windows.

Step 1 Introducción

llama.cpp es el motor subyacente en C++ que impulsa casi todas las herramientas de IA local (incluyendo Ollama y LM Studio). Al compilarlo y ejecutarlo de forma nativa desde la terminal de Windows, se elimina la sobrecarga de la interfaz gráfica y se obtiene control total sobre los indicadores de asignación de VRAM.

Step 2 Requisitos Previos

Es necesario instalar las herramientas de compilación requeridas para compilar código C++ en Windows con soporte para CUDA.

  1. Instala Git for Windows.
  2. Instala CMake (asegúrate de que esté añadido a tu PATH).
  3. Instala Visual Studio Build Tools 2022 (selecciona "Desarrollo de escritorio con C++").
  4. Instala el NVIDIA CUDA Toolkit (requerido para la aceleración por GPU).

Step 3 Compilación

Abre un Developer Command Prompt for VS 2022 (búscalo en el menú Inicio de Windows).

Clona el repositorio y compílalo utilizando el indicador LLAMA_CUDA=ON para garantizar que aproveche tu GPU NVIDIA.

Terminal
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp

mkdir build
cd build
cmake .. -DLLAMA_CUDA=ON
cmake --build . --config Release

Una vez compilado, los archivos ejecutables se encontrarán en build\bin\Release\.

Step 4 Descarga de Pesos

Es necesario descargar un modelo en formato .gguf. Utilizaremos huggingface-cli en una ventana estándar de PowerShell.

Terminal
pip install -U huggingface_hub
huggingface-cli download bartowski/Meta-Llama-3-8B-Instruct-GGUF Meta-Llama-3-8B-Instruct-Q4_K_M.gguf --local-dir ./models

Step 5 Ejecución de Inferencia

Ahora, conversemos con el modelo. El indicador -ngl 99 le indica al motor que transfiera todas las capas a la VRAM de tu GPU NVIDIA.

Terminal
.\build\bin\Release\llama-cli.exe -m .\models\Meta-Llama-3-8B-Instruct-Q4_K_M.gguf -n 512 -ngl 99 --color -i -r "User:" -p "You are a helpful AI assistant.

User: Hello!
AI:"

Step 6 Servidor Local

Si deseas alojar un endpoint de API compatible con OpenAI directamente desde la terminal, utiliza el ejecutable llama-server:

Terminal
.\build\bin\Release\llama-server.exe -m .\models\Meta-Llama-3-8B-Instruct-Q4_K_M.gguf -ngl 99 --port 8080

Tu backend CUDA de alto rendimiento estará ahora a la escucha en http://127.0.0.1:8080.