Llama.cpp sur Windows : Le guide CUDA

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

Si vous voulez des performances maximales, un contrôle absolu et zéro logiciel superflu, compiler llama.cpp directement depuis le code source à l'aide du NVIDIA CUDA Toolkit est la seule approche qui vaille. Voici exactement comment procéder sous Windows.

Introduction

llama.cpp est le moteur C++ sous-jacent qui propulse presque tous les outils d'IA locaux (y compris Ollama et LM Studio). En le compilant et en l'exécutant nativement depuis le terminal Windows, vous éliminez toute surcharge liée à l'interface graphique et obtenez un contrôle total sur les indicateurs d'allocation de la VRAM.

Step 1 Prérequis

Vous devez installer les outils de compilation nécessaires pour compiler du code C++ sous Windows avec la prise en charge de CUDA.

  1. Installez Git for Windows.
  2. Installez CMake (assurez-vous qu'il est ajouté à votre PATH).
  3. Installez Visual Studio Build Tools 2022 (sélectionnez « Développement Desktop en C++ »).
  4. Installez le NVIDIA CUDA Toolkit (requis pour l'accélération GPU).

Step 2 Compilation

Ouvrez une Invite de commandes développeur pour VS 2022 (recherchez-la dans le menu Démarrer de Windows).

Clonez le dépôt et compilez-le en utilisant l'indicateur LLAMA_CUDA=ON afin de garantir l'exploitation de votre 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

Une fois la compilation terminée, les fichiers exécutables se trouveront dans build\bin\Release\.

Step 3 Téléchargement des poids

Nous devons télécharger un modèle au format .gguf. Nous utiliserons huggingface-cli dans une fenêtre 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 4 Exécution de l'inférence

À présent, dialoguons avec le modèle. L'indicateur -ngl 99 indique au moteur de décharger toutes les couches vers la VRAM de votre 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 5 Serveur local

Si vous souhaitez héberger un point de terminaison d'API compatible OpenAI directement depuis le terminal, utilisez l'exécutable llama-server :

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

Votre backend CUDA haute performance est désormais en écoute à l'adresse http://127.0.0.1:8080.