Test Hermes IA en local (avec eGPU)
-
Prix sur AMAZON 589 Euros : GIGABYTE GeForce RTX 5060 Ti WINDFORCE MAX OC 16G Carte Graphique – 16 Go GDDR7, 128 bits, PCI-E 5.0, 2587 MHz Fréquence du processeur, 3 x DisplayPort, 1 x HDMI, NVIDIA DLSS 4, GV-N506TWF2MAX OC-16GD .
-
Extrait :
# cat /tmp/llama-server.stderr.log | grep "rompt eval time" | awk '{print $15 " " $16 " " $17 " " $18 " " $19 " " $20 " " $21 " " $22 " " $23 " " $24 " " $25 " " $26 " " $27 " " $28}' 124894.37 ms / 16631 tokens ( 7.51 ms per token, 133.16 tokens per second) 11378.99 ms / 612 tokens ( 18.59 ms per token, 53.78 tokens per second) 37118.28 ms / 4566 tokens ( 8.13 ms per token, 123.01 tokens per second) 73316.53 ms / 9289 tokens ( 7.89 ms per token, 126.70 tokens per second) 12112.80 ms / 147 tokens ( 82.40 ms per token, 12.14 tokens per second) -
J’ai l’impression que cela a planté …
# nvidia-smi Fri Jul 17 18:49:02 2026 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 610.43.03 KMD Version: 610.43.03 CUDA UMD Version: 13.3 | +-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA GeForce RTX 3060 ... Off | 00000000:01:00.0 Off | N/A | | N/A 51C P8 11W / 115W | 118MiB / 6144MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ | 1 NVIDIA GeForce RTX 5060 Ti Off | 00000000:05:00.0 Off | N/A | | 30% 42C P1 24W / 180W | 14780MiB / 16311MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | 0 N/A N/A 20801 C /usr/local/bin/llama-server 110MiB | | 1 N/A N/A 20801 C /usr/local/bin/llama-server 14772MiB | +-----------------------------------------------------------------------------------------+ # gpustat tuxedo-17 Fri Jul 17 18:49:10 2026 610.43.03 [0] NVIDIA GeForce RTX 3060 Laptop GPU | 51°C, 0 % | 118 / 6144 MB | root(110M) [1] NVIDIA GeForce RTX 5060 Ti | 42°C, 0 % | 14780 / 16311 MB | root(14772M) -
Après 3 jours d’utilisation pas de plantage. L’architecture semble stable.
-
Crash … j’essaye une nouvelle configuration et crash aussi :
ExecStart=/usr/local/bin/llama-server \ -m /models/Qwen3.6-27B-Q3_K_M.gguf \ --mmproj /models/mmproj-BF16.gguf \ --ctx-size 200000 \ --temp 1.0 \ --top-p 0.95 \ --top-k 20 \ --min-p 0.00 \ -fa on -ngl 99 -nkvo -np 1 \ --reasoning-preserve \ --host 0.0.0.0 \ --port 8080-
Modèles & Multimodalité
-m /models/Qwen3.6-27B-Q3_K_M.gguf : Spécifie le fichier du modèle LLM principal à charger. Ici, il s’agit de Qwen 3.6 (27 milliards de paramètres), quantifié au format Q3_K_M (quantification 3 bits moyenne, offrant un bon compromis entre taille mémoire et précision).
–mmproj /models/mmproj-BF16.gguf : Le fichier d’imagerie/multimodalité (Multimodal Projector). Il permet au modèle de comprendre et d’analyser des images en plus du texte.
-
Gestion de la mémoire & Contexte
–ctx-size 200000 : Définit la taille maximale de la fenêtre de contexte à 200 000 tokens. C’est une très grande fenêtre permettant d’analyser de longs documents ou d’entretenir d’immenses conversations.
-
Paramètres de génération (Échantillonnage / Sampling)
–temp 1.0 : La température. Ajuste la créativité et la variabilité des réponses (1.0 est la valeur standard/neutre).
–top-p 0.95 : Nucleus sampling. Le modèle ne conserve que les tokens les plus probables dont la somme des probabilités atteint 95 %, écartant les choix très improbables.
–top-k 20 : Limite le choix des tokens suivants aux 20 plus probables.
–min-p 0.00 : Min-P sampling. Désactivé ici (0.00). Quand il est activé (ex: 0.05), il filtre les tokens dont la probabilité est inférieure à X % de la probabilité du token le plus probable.
-
Optimisation matérielle & Performances (GPU/CPU)
-fa on : Active la Flash Attention. Cela accélère le traitement du contexte et réduit drastiquement l’impact sur la mémoire VRAM, particulièrement utile avec une grande fenêtre de contexte (200k).
-ngl 99 (Number of GPU Layers) : Force le chargement de 99 couches du modèle directement sur la carte graphique (VRAM). Si le modèle a moins de 99 couches, il sera 100 % déchargé sur le GPU.
-nkvo (No KV Offload) : Indique au serveur de ne pas décharger le cache KV (Key-Value) sur le GPU (il reste donc en RAM CPU). Utilisé généralement si la VRAM est insuffisante pour stocker à la fois le modèle et le cache d’un grand contexte.
-np 1 (Number of Parallel slots) : Définit le nombre de requêtes traitées en parallèle. Ici fixé à 1, ce qui réserve toute la puissance et la mémoire pour un seul utilisateur/flux à la fois.
-
Fonctionnalités spécifiques & Réseau
–reasoning-preserve : Conserve la chaîne de réflexion (Chain of Thought / raisonnement) dans la réponse générée, ce qui est particulièrement utile avec les modèles entraînés pour la réflexion explicite.
–host 0.0.0.0 : Règle l’adresse d’écoute du serveur. 0.0.0.0 rend le serveur accessible depuis n’importe quel appareil connecté au réseau local (et pas seulement depuis localhost).
–port 8080 : Le numéro de port sur lequel le serveur Web/API écoute (ici accessible via http://<IP>:8080).
-
-
Nouvelle configuration :
ExecStart=/usr/local/bin/llama-server \ -m /models/Qwen3.6-27B-Q3_K_M.gguf \ --mmproj /models/mmproj-BF16.gguf \ --ctx-size 220000 \ --temp 1.0 \ --top-p 0.95 \ --top-k 20 \ --min-p 0.00 \ # -fa on -ngl auto -nkvo -np 1 \ --reasoning-preserve \ --no-mmproj-offload \ --flash-attn auto \ --host 0.0.0.0 \ --port 8080A suivre.
-
Suppression du driver : intel_snd_hp
cat /etc/modprobe.d/nvidia.conf | grep -v "#" | grep -v "$^" blacklist nvidia_drm blacklist nvidia_modeset blacklist intel_snd_hp options nouveau modeset=0 blacklist nouveau -
Nouvelle configuration :
ExecStart=/usr/local/bin/llama-server -m /models/Qwen3.6-27B-Q3_K_M.gguf --mmproj /models/mmproj-BF16.gguf --ctx-size 180000 --temp 1.0 --top-p 0.95 --top-k 20 --min-p 0.00 --reasoning-preserve --no-mmproj-offload --host 0.0.0.0 --fit off -ngl 40 --port 8080 -
je viens de voir les erreurs :
[ 823.259377] perf: interrupt took too long (2504 > 2500), lowering kernel.perf_event_max_sample_rate to 79000 [ 922.592324] perf: interrupt took too long (3131 > 3130), lowering kernel.perf_event_max_sample_rate to 63000 [ 1048.900414] perf: interrupt took too long (3939 > 3913), lowering kernel.perf_event_max_sample_rate to 50000 [ 1297.235387] perf: interrupt took too long (4930 > 4923), lowering kernel.perf_event_max_sample_rate to 40000 [ 1723.004740] perf: interrupt took too long (6211 > 6162), lowering kernel.perf_event_max_sample_rate to 32000 [ 3033.029902] perf: interrupt took too long (7767 > 7763), lowering kernel.perf_event_max_sample_rate to 25000Je vais devoir modifier /etc/sysctl.conf :
# Fixer le taux d'échantillonnage maximal kernel.perf_event_max_sample_rate = 25000 # Empêcher le noyau d'ajuster automatiquement ce taux kernel.perf_cpu_time_max_percent = 0 -
Cela continue de diminuer : 13000 .
# dmesg | grep "interrupt" [ 0.551798] ACPI: EC: interrupt blocked [ 0.555553] ACPI: Using IOAPIC for interrupt routing [ 1.108411] ACPI: EC: interrupt unblocked [ 2.914974] usbhid 3-5.3:1.1: couldn't find an input interrupt endpoint [ 4.274769] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt [ 823.259377] perf: interrupt took too long (2504 > 2500), lowering kernel.perf_event_max_sample_rate to 79000 [ 922.592324] perf: interrupt took too long (3131 > 3130), lowering kernel.perf_event_max_sample_rate to 63000 [ 1048.900414] perf: interrupt took too long (3939 > 3913), lowering kernel.perf_event_max_sample_rate to 50000 [ 1297.235387] perf: interrupt took too long (4930 > 4923), lowering kernel.perf_event_max_sample_rate to 40000 [ 1723.004740] perf: interrupt took too long (6211 > 6162), lowering kernel.perf_event_max_sample_rate to 32000 [ 3033.029902] perf: interrupt took too long (7767 > 7763), lowering kernel.perf_event_max_sample_rate to 25000 [70258.708817] perf: interrupt took too long (9766 > 9708), lowering kernel.perf_event_max_sample_rate to 20000 [75718.579850] perf: interrupt took too long (12234 > 12207), lowering kernel.perf_event_max_sample_rate to 16000 [78137.442426] perf: interrupt took too long (15324 > 15292), lowering kernel.perf_event_max_sample_rate to 13000 -
Bonjour ! Vous semblez intéressé par cette conversation, mais vous n’avez pas encore de compte.
Marre de refaire défiler les mêmes messages ? Créez un compte pour retrouver votre position, recevoir des notifications des nouvelles réponses, sauvegarder vos favoris et voter pour les messages que vous appréciez.
Grâce à votre participation, ce message peut devenir encore meilleur 💗
S'inscrire Se connecter