« Trace install tas - Ollama » : différence entre les versions
Documentation mise à jour Ollama ROCm et client |
Ajout Qwen3.8 Q4/Q8 et variante abliterated |
||
| Ligne 268 : | Ligne 268 : | ||
L'instance NVIDIA reste dépendante de la cohérence entre le pilote noyau, les bibliothèques NVIDIA, le toolkit et le CDI. | L'instance NVIDIA reste dépendante de la cohérence entre le pilote noyau, les bibliothèques NVIDIA, le toolkit et le CDI. | ||
== Qwen3.8 (2026-08-19) == | |||
Modèles installés dans l’instance AMD/ROCm : | |||
* `qwen3.8-q4-256k` : modèle officiel Qwen3.8 27B, Q4_K_M, environ 17 Go. | |||
* `qwen3.8-q8-256k` : modèle officiel Qwen3.8 27B, Q8_0, environ 29 Go. | |||
* `qwen3.8-abliterated-q4-256k` : `huihui_ai/Qwen3.8-abliterated:27b`, variante communautaire Q4, environ 17 Go. | |||
Les trois modèles configurés utilisent `num_ctx=262144` et `temperature=0.2`. La variante abliterated n’est pas une publication officielle Alibaba/Ollama et peut avoir un comportement de sûreté différent. | |||
Le Quadlet ROCm définit également `OLLAMA_CONTEXT_LENGTH=262144`, `OLLAMA_FLASH_ATTENTION=1`, `OLLAMA_KV_CACHE_TYPE=q8_0`, `OLLAMA_NUM_PARALLEL=1`, `OLLAMA_MAX_LOADED_MODELS=1` et `OLLAMA_LOAD_TIMEOUT=15m`. Le stockage partagé reste `/media/loic/nem/ollama`. | |||
Les Modelfiles sont archivés dans `minidev/ollama-qwen38/` sur Nextcloud. Le Q4 a été testé via l’API et a répondu correctement ; le test de génération a utilisé 4096 tokens uniquement pour limiter le coût du test, la configuration persistante restant à 256K. | |||
Dernière version du 19 août 2026 à 13:28
Trace install tas - Ollama
Rôle
API locale de modèles LLM avec deux instances distinctes :
- une instance AMD/ROCm sur la Radeon RX 7900
- une instance NVIDIA/CUDA sur la GeForce RTX 3070
Accès
Instance AMD / ROCm
- Local : http://10.8.0.1:11434
- Depuis le terminal local : `OLLAMA_HOST=http://127.0.0.1:11434`
- Public : https://lololand.hopto.org:25434
Instance NVIDIA / CUDA
- Local : http://10.8.0.1:11435
- Depuis le terminal local : `OLLAMA_HOST=http://127.0.0.1:11435`
- Pas d'exposition publique dédiée documentée à ce stade
Ports
- 11434/tcp : serveur Ollama AMD / ROCm
- 11435/tcp : serveur Ollama NVIDIA / CUDA
- 25434/tcp : proxy public Caddy vers l'instance AMD/ROCm, protégé par basicauth
Exécution / runtime
AMD / ROCm
- Service systemd user généré : `ollama-rocm.service`
- Conteneur : `ollama_roc`
- Image : `docker.io/ollama/ollama:rocm`
- Devices : `/dev/kfd`, `/dev/dri`
NVIDIA / CUDA
- Service systemd user généré : `ollama-nvidia.service`
- Conteneur : `ollama_nv`
- Image : `docker.io/ollama/ollama:latest`
- Intégration GPU : Podman + NVIDIA Container Toolkit + CDI
- Device CDI utilisé : `nvidia.com/gpu=all`
Chemins de configuration
- `/home/loic/.config/containers/systemd/ollama-rocm.container`
- `/home/loic/.config/containers/systemd/ollama-nvidia.container`
- `/etc/caddy/Caddyfile`
- `/home/loic/.bashrc` (alias CLI)
- `/home/loic/upgrade/ollama-dual-gpu-plan.md`
Volumes / persistance
- Stockage modèles partagé entre les deux instances : `/media/loic/nem/ollama`
- Montage conteneur : `/media/loic/nem/ollama -> /root/.ollama`
Dépendances
- Caddy 25434 -> 11434 avec basicauth pour l'instance AMD/ROCm
- NVIDIA driver 580 open pour la RTX 3070
- NVIDIA Container Toolkit
- CDI NVIDIA généré dans `/var/run/cdi/nvidia.yaml`
- clients comme Open WebUI
Remarques
- L'instance NVIDIA n'a fonctionné correctement qu'après mise en place de NVIDIA Container Toolkit et CDI.
- Le stockage de modèles est partagé entre les deux serveurs pour éviter les doublons disque.
- Par prudence, éviter les `ollama pull` simultanés sur les deux instances.
- Faire préférentiellement les opérations d'écriture (`pull`, `rm`, création de modèles) sur une seule instance à la fois.
- Le proxy public documenté actuellement cible uniquement l'instance AMD/ROCm.
Utilisation CLI
Sélection explicite du serveur
Pour cibler un serveur particulier depuis le terminal local, utiliser `OLLAMA_HOST`.
Exemples :
OLLAMA_HOST=http://127.0.0.1:11434 ollama list OLLAMA_HOST=http://127.0.0.1:11434 ollama run qwen3 OLLAMA_HOST=http://127.0.0.1:11435 ollama list OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3
Alias shell
Alias ajoutés dans `/home/loic/.bashrc` :
alias ollama-amd='OLLAMA_HOST=http://127.0.0.1:11434 ollama' alias ollama-nvidia='OLLAMA_HOST=http://127.0.0.1:11435 ollama'
Exemples :
ollama-amd list ollama-amd run qwen3 ollama-nvidia list ollama-nvidia run qwen3
Exemples de tests
Test basique de disponibilité
curl http://127.0.0.1:11434/api/tags curl http://127.0.0.1:11435/api/tags
Questions de test
OLLAMA_HOST=http://127.0.0.1:11434 ollama run qwen3 "Donne-moi un résumé en 3 phrases de la différence entre ROCm et CUDA." OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3 "Donne-moi un résumé en 3 phrases de la différence entre ROCm et CUDA."
OLLAMA_HOST=http://127.0.0.1:11434 ollama run qwen3 "Écris un haïku sur les GPU." OLLAMA_HOST=http://127.0.0.1:11435 ollama run qwen3 "Écris un haïku sur les GPU."
Vérifier le GPU utilisé côté NVIDIA
Les logs de `ollama-nvidia.service` doivent montrer une détection CUDA du type :
- `library=CUDA`
- `description="NVIDIA GeForce RTX 3070"`
Supervision / diagnostic
État des services
systemctl --user status ollama-rocm.service systemctl --user status ollama-nvidia.service
Journaux
journalctl --user -u ollama-rocm.service -n 100 --no-pager journalctl --user -u ollama-nvidia.service -n 100 --no-pager
Vérifier la carte NVIDIA
nvidia-smi watch -n 1 nvidia-smi
Vérifier que CDI voit le GPU
nvidia-ctk cdi list
Conteneurs actifs
podman ps | grep -E 'ollama_roc|ollama_nv'
Contrôler la réponse API
curl http://127.0.0.1:11434/api/tags curl http://127.0.0.1:11435/api/tags
Données / emplacements à sauvegarder
- `/media/loic/nem/ollama`
- `/home/loic/.config/containers/systemd/ollama-rocm.container`
- `/home/loic/.config/containers/systemd/ollama-nvidia.container`
- `/etc/caddy/Caddyfile`
- `/home/loic/.bashrc`
Sauvegarde
- Sauvegarder le répertoire de modèles partagé `/media/loic/nem/ollama`.
- Sauvegarder les deux services systemd user Ollama.
- Sauvegarder la configuration Caddy liée à `25434`.
Restauration
- Restaurer `/media/loic/nem/ollama`.
- Restaurer les fichiers systemd user `ollama.service` et `ollama-nvidia.service`.
- Recharger systemd user puis relancer les services :
systemctl --user daemon-reload systemctl --user restart ollama-rocm.service systemctl --user restart ollama-nvidia.service
- Vérifier ensuite `curl http://127.0.0.1:11434/api/tags` et `curl http://127.0.0.1:11435/api/tags`.
Procédure de mise à jour — ROCm et client CLI
La procédure ci-dessous met à jour uniquement l’instance AMD/ROCm. Elle ne redémarre pas ollama-nvidia.service et ne modifie pas les modèles.
Mise à jour du conteneur ROCm
# Sauvegarder la définition Quadlet avant modification éventuelle
STAMP=$(date +%Y%m%d-%H%M%S)
mkdir -p /home/loic/backups/ollama
cp -p /home/loic/.config/containers/systemd/ollama-rocm.container \
/home/loic/backups/ollama/ollama-rocm.container.before-update-${STAMP}.bak
# Télécharger l’image flottante ROCm puis recréer le conteneur
podman pull docker.io/ollama/ollama:rocm
systemctl --user daemon-reload
systemctl --user restart ollama-rocm.service
# Contrôler le service et la version API
systemctl --user is-active ollama-rocm.service
podman ps --filter name=ollama_roc
curl -fsS http://127.0.0.1:11434/api/version
curl -fsS http://127.0.0.1:11434/api/tags
Le 14 août 2026, cette procédure a fait passer l’API ROCm de 0.32.0 à 0.32.9. Le journal confirme la détection ROCm de la Radeon RX 7900 XTX.
Mise à jour du client CLI utilisateur
Le binaire système /usr/bin/ollama était une installation root en version client 0.30.7. Comme l’accès sudo n’était pas disponible, le client officiel a été installé dans /home/loic/.local/bin, qui est prioritaire dans le PATH.
# Télécharger l’archive officielle Linux AMD64 TMP=$(mktemp -d) trap 'rm -rf "$TMP"' EXIT curl -fsSL https://ollama.com/download/ollama-linux-amd64.tar.zst \ -o "$TMP/ollama.tar.zst" zstd -d "$TMP/ollama.tar.zst" -o "$TMP/ollama.tar" tar -xf "$TMP/ollama.tar" -C "$TMP" # Installer le client pour l’utilisateur courant mkdir -p /home/loic/.local/bin install -m 0755 "$TMP/bin/ollama" /home/loic/.local/bin/ollama hash -r # Vérifier la résolution et la version command -v ollama ollama --version # Tester le client contre l’instance AMD OLLAMA_HOST=http://127.0.0.1:11434 ollama list
Résultat vérifié : /home/loic/.local/bin/ollama, client version 0.32.9, aligné avec l’API ROCm.
Pour remplacer également le binaire système, après validation et avec un compte root :
sudo cp -p /usr/bin/ollama /home/loic/backups/ollama/ollama-client.system.before-update-$(date +%Y%m%d-%H%M%S).bin sudo install -o root -g root -m 0755 /home/loic/.local/bin/ollama /usr/bin/ollama /usr/bin/ollama --version
Retour arrière
# Revenir à l’image actuellement utilisée avant le pull : utiliser son digest podman image ls --digests docker.io/ollama/ollama # Restaurer le Quadlet si nécessaire, puis relancer systemctl --user daemon-reload systemctl --user restart ollama-rocm.service # Désactiver le client utilisateur pour revenir au client système mv /home/loic/.local/bin/ollama /home/loic/.local/bin/ollama.disabled hash -r /usr/bin/ollama --version
Maintenance documentaire
Lors d'un changement de port, de proxy public, de stockage des modèles, de pilote GPU, de toolkit NVIDIA, d'alias shell ou d'architecture AMD/NVIDIA, mettre à jour cette page et la page centrale Trace install tas.
Trace documentaire
Cette page fait partie de Trace install tas.\n\n== État Quadlet confirmé — 2026-07-25 ==
Les deux instances Ollama sont définies par Quadlet :
- ROCm :
ollama-rocm.service, conteneurollama_roc, port11434, imagedocker.io/ollama/ollama:rocm, API vérifiée en version0.32.9le 14 août 2026 - NVIDIA :
ollama-nvidia.service, conteneurollama_nv, port11435, imagedocker.io/ollama/ollama:latest - Fichiers :
/home/loic/.config/containers/systemd/ollama-rocm.containeretollama-nvidia.container - Modèles partagés :
/media/loic/nem/ollama
L’API ROCm répond en version 0.32.9 après mise à jour du conteneur le 14 août 2026. Le tag :rocm est flottant ; pour figer une version, comparer son digest à un tag versionné tel que :0.32.3-rocm puis modifier le Quadlet.
L'instance NVIDIA reste dépendante de la cohérence entre le pilote noyau, les bibliothèques NVIDIA, le toolkit et le CDI.
Qwen3.8 (2026-08-19)
Modèles installés dans l’instance AMD/ROCm :
- `qwen3.8-q4-256k` : modèle officiel Qwen3.8 27B, Q4_K_M, environ 17 Go.
- `qwen3.8-q8-256k` : modèle officiel Qwen3.8 27B, Q8_0, environ 29 Go.
- `qwen3.8-abliterated-q4-256k` : `huihui_ai/Qwen3.8-abliterated:27b`, variante communautaire Q4, environ 17 Go.
Les trois modèles configurés utilisent `num_ctx=262144` et `temperature=0.2`. La variante abliterated n’est pas une publication officielle Alibaba/Ollama et peut avoir un comportement de sûreté différent.
Le Quadlet ROCm définit également `OLLAMA_CONTEXT_LENGTH=262144`, `OLLAMA_FLASH_ATTENTION=1`, `OLLAMA_KV_CACHE_TYPE=q8_0`, `OLLAMA_NUM_PARALLEL=1`, `OLLAMA_MAX_LOADED_MODELS=1` et `OLLAMA_LOAD_TIMEOUT=15m`. Le stockage partagé reste `/media/loic/nem/ollama`.
Les Modelfiles sont archivés dans `minidev/ollama-qwen38/` sur Nextcloud. Le Q4 a été testé via l’API et a répondu correctement ; le test de génération a utilisé 4096 tokens uniquement pour limiter le coût du test, la configuration persistante restant à 256K.