freedzhost.cloud

Votre premier modèle local avec llama.cpp

llama.cpp est le moteur open source qui fait tourner la plupart des modèles locaux. Son serveur parle la même API que les grands fournisseurs du cloud : la plupart des outils peuvent l'utiliser sans modification.

1. Télécharger un modèle

Qwen3 8B, compressé sur 4 bits (Q4_K_M), 5,0 Go : il tient sur une carte de 8 Go.

mkdir -p ~/models
curl -L -o ~/models/Qwen3-8B-Q4_K_M.gguf \
  https://huggingface.co/unsloth/Qwen3-8B-GGUF/resolve/main/Qwen3-8B-Q4_K_M.gguf

2. Le servir

docker run --rm --gpus all \
  -p 127.0.0.1:8080:8080 \
  -v ~/models:/models \
  ghcr.io/ggml-org/llama.cpp:server-cuda \
  -m /models/Qwen3-8B-Q4_K_M.gguf \
  -ngl 99 -c 8192 -fa on \
  --host 0.0.0.0 --port 8080
cette machinecurl / votre outil127.0.0.1:8080llama-servercontainerMémoire GPUpoids 5,0 Go + contextePOST /v1/chat/completionsport publié-ngl 99Internetnon exposé
Une requête, du début à la fin, sans quitter la machine : le port n'écoute que sur 127.0.0.1.

3. Lui parler

curl http://127.0.0.1:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"messages": [{"role": "user", "content": "Dis bonjour en une phrase."}]}'

Ou ouvrez http://127.0.0.1:8080 dans un navigateur : le serveur fournit une petite page de discussion.

Un piège que nous avons mesuré

jetons/s, lecture du prompt-ctv q8_01 330-ctv q4_062,7génération : 54 jetons/s dans les deux cas
Même modèle, même carte, un seul réglage changé. Lecture d'un prompt de 7 758 jetons : 21 fois plus lent avec ‑ctv q4_0.

Pour gagner de la mémoire, on peut compresser le cache de contexte avec -ctk q8_0 -ctv q8_0. N'allez pas plus loin côté V : avec -ctv q4_0, flash attention se désactive sans prévenir et la lecture d'un long prompt est devenue 21 fois plus lente sur notre carte (62,7 au lieu de 1 330 jetons par seconde), alors que la vitesse de génération n'a pas bougé. Un test qui ne mesure que la génération ne l'aurait jamais vu.