Llama.cpp no Windows: O Guia CUDA

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

Se você quer desempenho máximo, controle absoluto e zero inchaço de software, compilar o llama.cpp diretamente do código-fonte usando o NVIDIA CUDA Toolkit é o único caminho. Veja exatamente como fazer isso no Windows.

Step 1 Introdução

llama.cpp é o motor C++ subjacente que alimenta quase todas as ferramentas de IA locais (incluindo Ollama e LM Studio). Ao compilá-lo e executá-lo nativamente pelo terminal do Windows, você elimina a sobrecarga da interface gráfica e obtém controle total sobre os flags de alocação de VRAM.

Step 2 Pré-requisitos

Você precisa instalar as ferramentas de build necessárias para compilar código C++ no Windows com suporte a CUDA.

  1. Instale o Git for Windows.
  2. Instale o CMake (certifique-se de que ele foi adicionado ao seu PATH).
  3. Instale o Visual Studio Build Tools 2022 (selecione "Desenvolvimento para desktop com C++").
  4. Instale o NVIDIA CUDA Toolkit (necessário para aceleração por GPU).

Step 3 Compilação

Abra um Developer Command Prompt for VS 2022 (pesquise por ele no menu Iniciar do Windows).

Clone o repositório e compile-o usando o flag LLAMA_CUDA=ON para garantir que ele utilize sua 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

Após a compilação, os arquivos executáveis estarão localizados em build\bin\Release\.

Step 4 Baixando os Pesos

Precisamos baixar um modelo no formato .gguf. Usaremos o huggingface-cli em uma janela padrão do 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 Executando Inferência

Agora, vamos conversar com o modelo. O flag -ngl 99 instrui o motor a descarregar todas as camadas para a VRAM da sua 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

Se você quiser hospedar um endpoint de API compatível com OpenAI diretamente pelo terminal, use o executável llama-server:

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

Seu backend CUDA de alto desempenho agora está escutando em http://127.0.0.1:8080.