Ik llama.cpp
De Le Wiki de Lug
Autres actions
Prérequis
- Un GPU est recommandé, idéalement NVIDIA avec le plus de VRAM possible. ik_llama.cpp met particulièrement l’accent sur CUDA, le multi-GPU et les configurations hybrides GPU/CPU. Comme llama.cpp, il permet de répartir une partie du modèle entre GPU et CPU si la VRAM est insuffisante, au prix d’une baisse de performances. Voir ce lien pour partager un GPU dans un LXC
- Les modèles peuvent fonctionner sur CPU uniquement, mais avec des performances très faibles pour les gros modèles, souvent inutilisables en pratique pour un usage interactif.
- VRAM recommandée : dépend du niveau d’offload GPU et de la taille du contexte utilisé. Pour un usage optimal, prévoir environ la taille du modèle quantifié + 1 à 3 Go pour le KV cache. Il est toutefois possible de réduire la VRAM nécessaire en déportant une partie du modèle en RAM.
- RAM recommandée : au minimum équivalente à la taille du modèle, idéalement 1,5 à 2 fois, notamment si une partie du modèle est exécutée sur CPU ou si l’on utilise une configuration hybride GPU/CPU.
- Espace disque à prévoir en fonction du ou des modèles que vous allez utiliser ou tester. Exemples :
- qwen2.5:7b (Q4) ≈ 4–5 Go
- qwen2.5:14b (Q4) ≈ 8–10 Go
- llama3:70b (Q4) ≈ 35–40 Go
- Utiliser un SSD/NVMe améliore fortement les temps de chargement des modèles.
- CPU / vCPU recommandés :
- Avec GPU : 4 à 8 vCPU recommandés, notamment pour la gestion du serveur, du KV cache et d’un éventuel offload partiel CPU.
- Sans GPU : prévoir au minimum 8 à 16 vCPU, les performances restant très limitées sur les modèles importants.
- Note : Q4 correspond au niveau de quantization, c’est-à-dire une réduction de la précision numérique du modèle afin de diminuer son utilisation en mémoire, notamment en VRAM. Les niveaux vont généralement de Q1 à Q8 : Q8 est le plus précis, proche du modèle original, mais aussi le plus gourmand en ressources. À l’inverse, Q1 est très léger mais fortement dégradé. En pratique, Q4 ou Q5 est généralement considéré comme le meilleur compromis entre performances, consommation de VRAM et qualité de réponse.
Installation
Prérequis système
Installer les dépendances nécessaires :
# apt update && apt upgrade # apt install build-essential git libcurl4-openssl-dev curl libgomp1 cmake
Récupération du projet
# cd /opt # git clone https://github.com/ikawrakow/ik_llama.cpp
Compilation
Choisir une seule méthode de compilation selon le matériel disponible.
| Méthode | Description | Recommandation |
|---|---|---|
| CPU uniquement | Compilation sans accélération GPU. | Non testé / déconseillé pour de gros modèles. |
| GPU NVIDIA CUDA | Compilation avec accélération GPU via CUDA. | Recommandé avec une carte NVIDIA compatible. |
En cas de changement de méthode de compilation, supprimer le dossier de compilation avant de relancer CMake :
# rm -rf /opt/ik_llama.cpp/build
| Option A — CPU uniquement |
|---|
|
Cette méthode ne nécessite pas de GPU compatible, mais les performances seront limitées. # cd /opt/ik_llama.cpp # cmake -B build -DGGML_NATIVE=ON # cmake --build build --config Release -j$(nproc) Si processeur avec instructions AVX512 (certains CPU Zen 4 / Zen 5 etc..) : (Source) # cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DGGML_NATIVE=ON \
-DGGML_AVX512=ON \
-DGGML_AVX512_VBMI=ON \
-DGGML_AVX512_VNNI=ON \
-DGGML_AVX512_BF16=ON
# cmake --build build --config Release
|
| Option B — GPU NVIDIA CUDA |
|---|
|
Cette méthode est recommandée avec une carte NVIDIA compatible CUDA. Installation du support GPU NVIDIA CUDA(Optionnel) Vérifier la dernière version disponible du paquet cuda-keyring : # curl https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64/ | grep keyring Installer le dépôt CUDA NVIDIA : # cd /opt # wget https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64/cuda-keyring_1.1-1_all.deb # dpkg -i cuda-keyring_1.1-1_all.deb # apt update Installer le toolkit CUDA : # apt install -y cuda-toolkit Compilation avec support CUDAConnaître les versions de nvcc installées : # find /usr /opt -name nvcc 2>/dev/null Compiler llama.cpp avec le support CUDA : # cd /opt/ik_llama.cpp # export CUDACXX=/usr/local/cuda-13.3/bin/nvcc # cmake -B build -DGGML_NATIVE=ON -DGGML_CUDA=ON # cmake --build build --config Release -j$(nproc) |
Emplacement des binaires
Les binaires seront disponibles dans :
/opt/ik_llama.cpp/build/bin/