laptop_mac macOS Sonoma
Intermediate
schedule 8 min read
by Alex Rivera • May 14, 2024
Exécuter Llama 3 sur Linux vous offre un contrôle maximal et des performances optimales. Nous utiliserons llama.cpp — un moteur d'inférence C++ hautement optimisé qui prend en charge nativement NVIDIA CUDA, AMD ROCm, ainsi que l'inférence CPU seul.
Introduction
Bien que les wrappers comme Ollama et LM Studio soient excellents pour démarrer rapidement, ils abstraient le moteur sous-jacent. Si vous souhaitez extraire chaque dernière goutte de performance de votre matériel Linux, compiler llama.cpp directement depuis les sources est la référence absolue.
Ce guide vous accompagnera à travers la compilation du moteur avec le support NVIDIA CUDA, le téléchargement du modèle Llama 3 8B, et son exécution directement depuis votre terminal.
Step 1 Prérequis
Tout d'abord, nous devons installer les outils de compilation essentiels et le toolkit NVIDIA CUDA. Ouvrez votre terminal et exécutez :
Terminal
sudo apt update
sudo apt install build-essential git python3-pip
sudo apt install nvidia-cuda-toolkit
Vérifiez que vos pilotes NVIDIA et CUDA fonctionnent correctement :
Step 2 Compilation
Nous allons cloner le dépôt llama.cpp depuis GitHub et le compiler. Nous passons le flag LLAMA_CUDA=1 à la commande make pour garantir que le compilateur génère le binaire avec l'accélération GPU NVIDIA.
Terminal
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make -j$(nproc) LLAMA_CUDA=1
Une fois la compilation terminée, vous disposerez de plusieurs fichiers exécutables dans le répertoire racine, notamment llama-cli et llama-server.
Step 3 Téléchargement des poids Llama 3
llama.cpp utilise le format de fichier .gguf. Nous pouvons utiliser la CLI HuggingFace pour télécharger de manière sécurisée le modèle Llama 3 8B de Meta directement sur notre serveur.
Installez d'abord la CLI :
Terminal
pip3 install -U "huggingface_hub[cli]"
Téléchargez maintenant la version quantifiée Q4_K_M du modèle. Cette quantification 4 bits offre un équilibre parfait entre vitesse et intelligence, tout en tenant confortablement dans 8 Go de VRAM.
Terminal
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
Il est temps de dialoguer avec Llama 3. Nous utiliserons l'outil llama-cli.
Le flag -ngl 99 est l'élément le plus critique de cette commande : il indique à llama.cpp de décharger 99 couches (essentiellement la totalité pour un modèle 8B) vers la VRAM de votre GPU NVIDIA.
Terminal
./llama-cli -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.\n\nUser: Hello!\nAI:"
Vous devriez voir le moteur s'initialiser, charger le modèle en VRAM, et vous présenter un prompt interactif.
Step 5 Le serveur API local
Si vous hébergez ceci sur un serveur Ubuntu sans interface graphique et souhaitez accéder au modèle à distance (ou via une interface comme Open WebUI), vous pouvez lancer le serveur HTTP intégré.
Terminal
./llama-server -m ./models/Meta-Llama-3-8B-Instruct-Q4_K_M.gguf -ngl 99 --host 0.0.0.0 --port 8080
Votre backend haute performance, accéléré par CUDA, est désormais à l'écoute sur http://YOUR_SERVER_IP:8080 et agit comme un remplacement direct de l'API OpenAI !