Llama.cpp su Windows: La Guida CUDA

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

Se vuoi le massime prestazioni, il controllo assoluto e zero software inutile, compilare llama.cpp direttamente dal codice sorgente usando NVIDIA CUDA Toolkit è l'unico modo per farlo. Ecco esattamente come farlo su Windows.

Step 1 Introduzione

llama.cpp è il motore C++ sottostante che alimenta quasi tutti gli strumenti AI locali (inclusi Ollama e LM Studio). Compilandolo ed eseguendolo nativamente dal terminale Windows, si elimina il sovraccarico dell'interfaccia utente e si ottiene il controllo totale sui flag di allocazione della VRAM.

Step 2 Prerequisiti

È necessario installare gli strumenti di build richiesti per compilare codice C++ su Windows con supporto CUDA.

  1. Installa Git for Windows.
  2. Installa CMake (assicurati che sia aggiunto al tuo PATH).
  3. Installa Visual Studio Build Tools 2022 (seleziona "Sviluppo desktop con C++").
  4. Installa il NVIDIA CUDA Toolkit (necessario per l'accelerazione GPU).

Step 3 Compilazione

Apri un Developer Command Prompt for VS 2022 (cercalo nel menu Start di Windows).

Clona il repository e compilalo usando il flag LLAMA_CUDA=ON per assicurarti che sfrutti la tua 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 volta compilato, i file eseguibili si troveranno in build\bin\Release\.

Step 4 Download dei Pesi

Dobbiamo scaricare un modello in formato .gguf. Utilizzeremo huggingface-cli in una finestra PowerShell standard.

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 Esecuzione dell'Inferenza

Ora, chattiamo con il modello. Il flag -ngl 99 indica al motore di trasferire tutti i livelli sulla VRAM della tua 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 Server Locale

Se vuoi ospitare un endpoint API compatibile con OpenAI direttamente dal terminale, usa l'eseguibile llama-server:

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

Il tuo backend CUDA ad alte prestazioni è ora in ascolto su http://127.0.0.1:8080.