« Strata » : différence entre les versions
Autres actions
| (13 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 6 : | Ligne 6 : | ||
# cd Strata | # cd Strata | ||
# sudo ./setup.sh | # sudo ./setup.sh | ||
== Mise à jour == | |||
# cd /opt/Strata | |||
# sudo ./update.sh | |||
== Configuration == | |||
Après avoir laissé le moteur effectuer son réglage automatique, il est possible d’ajuster manuellement certains paramètres : | |||
# sudo vi /opt/Strata/<font color="blue">strata-unsloth-ud-iq4_xs</font>.json | |||
=== Table N-GRAM en RAM === | |||
Pour charger la table N-GRAM en RAM plutôt que depuis le stockage, ajouter les paramètres suivants dans la section <code>args</code> : | |||
"--ple-io", | |||
"ram", | |||
Cette option est particulièrement intéressante lorsque le modèle est stocké sur un SSD SATA ou un support relativement lent. | |||
=== fit_max_tokens === | |||
Pour éviter qu’une requête soit refusée lorsque la somme du prompt et du nombre maximal de tokens de sortie dépasse la taille du contexte, ajouter à la racine du fichier JSON : | |||
"fit_max_tokens": true, | |||
Strata réduit alors automatiquement <code>max_tokens</code> afin que la réponse tienne dans le contexte restant. | |||
=== Nombre de workers CPU === | |||
Le paramètre <code>--pool-workers</code> permet de définir le nombre de workers utilisés pour le calcul des experts sur le CPU. | |||
Par exemple : | |||
"--pool-workers", | |||
"10", | |||
Sur un processeur 12 cœurs / 24 threads, 10 workers accompagnés du thread hôte de Strata utilisent 11 cœurs physiques, ce qui laisse un cœur physique libre pour les threads auxiliaires, CUDA et le système. | |||
=== CPU auxiliaires === | |||
Le paramètre <code>--aux-cpus</code> permet à Strata de réserver automatiquement certains processeurs logiques aux threads auxiliaires, afin qu’ils ne viennent pas perturber le pool chargé du calcul des experts. | |||
Ajouter dans la section <code>args</code> : | |||
"--aux-cpus", | |||
"auto", | |||
Cette option peut notamment être utile lorsque le processeur est fortement sollicité par les workers CPU. Les threads auxiliaires, comme certains threads CUDA, de préchargement ou d’adaptation, sont alors déplacés vers des CPU logiques distincts lorsque cela est possible. | |||
=== Réglage vision === | |||
* Vision sur CPU : | |||
"vision": { | |||
"exe": "/opt/Strata/engine/strata-vision", | |||
"mmproj": "/opt/Strata-data/models/mmproj-Qwen3.8-Flash-Next-BF16.gguf", | |||
"model": "/opt/Strata-data/models/IQ3_S/Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00001-of-00002.gguf", | |||
"gpu": <font color = green>false</font>, | |||
"max_tokens": 1024 | |||
} | |||
* Vision sur GPU auxiliaire : | |||
"vision": { | |||
"exe": "/opt/Strata/engine/strata-vision", | |||
"mmproj": "/opt/Strata-data/models/mmproj-Qwen3.8-Flash-Next-BF16.gguf", | |||
"model": "/opt/Strata-data/models/IQ3_S/Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00001-of-00002.gguf", | |||
"gpu": true, | |||
<font color = green>"cuda_device": 0,</font> | |||
"max_tokens": 1024 | |||
} | |||
=== Désactiver le partage CPU du prefill === | |||
{{Méta bandeau | |||
| niveau = information | |||
| icône = loupe | |||
| texte = | |||
La documentation indique que ce partage est activé par défaut sur certaines configurations à un seul GPU, mais reste désactivé par défaut en layer-split multi-GPU. | |||
}} | |||
Sur les processeurs ne disposant pas d’AVX-512, il peut être intéressant de désactiver la participation du CPU au prefill afin d’éviter certaines dégradations de performances. | |||
Ajouter à la racine du fichier JSON : | |||
"env": { | |||
"STRATA_PREFILL_CPU_SHARE": "0" | |||
}, | |||
Cette variable désactive le partage du calcul du prefill avec le CPU. Elle peut être utile sur les anciens Xeon AVX2 lorsque le pool CPU perturbe ensuite les performances de décodage. | |||
La valeur <code>"0"</code> est entre guillemets car il s’agit d’une variable d’environnement. | |||
=== Privilégier la qualité de Qwen à la vitesse === | |||
{{Méta bandeau | |||
| niveau = information | |||
| icône = loupe | |||
| texte = | |||
Concerne la sortie de la version 0.2.7. | |||
}} | |||
Certaines optimisations approximatives de Strata privilégient la vitesse au prix de possibles différences de qualité. | |||
Ajouter à la racine du fichier JSON de configuration du modèle, entre "layer_split" et "vision" : | |||
"env": { | |||
"STRATA_ROUTE_TAIL_SKIP": "0", | |||
"STRATA_ROUTE_PRIOR": "0", | |||
"STRATA_KVA": "0" | |||
}, | |||
* <code>STRATA_ROUTE_TAIL_SKIP=0</code> : empêche d’ignorer certains experts faiblement pondérés. | |||
* <code>STRATA_ROUTE_PRIOR=0</code> : empêche de favoriser les experts déjà présents en VRAM. | |||
* <code>STRATA_KVA=0</code> : désactive la lecture approximative des longs prompts. | |||
Ne pas ajouter <code>STRATA_DEFAULTS=026</code> : ce réglage désactiverait également des améliorations sans perte qualitative notable, notamment le ''layer-major prefill'' accélérant fortement la lecture des longs prompts avec deux cartes NVIDIA. | |||
Redémarrer complètement Strata après la modification. | |||
Dernière version du 28 octobre 2026 à 09:38
Installation
# sudo apt update && sudo apt upgrade # sudo apt install git build-essential # cd /opt/ # sudo git clone https://github.com/Niko1221/Strata.git # cd Strata # sudo ./setup.sh
Mise à jour
# cd /opt/Strata # sudo ./update.sh
Configuration
Après avoir laissé le moteur effectuer son réglage automatique, il est possible d’ajuster manuellement certains paramètres :
# sudo vi /opt/Strata/strata-unsloth-ud-iq4_xs.json
Table N-GRAM en RAM
Pour charger la table N-GRAM en RAM plutôt que depuis le stockage, ajouter les paramètres suivants dans la section args :
"--ple-io", "ram",
Cette option est particulièrement intéressante lorsque le modèle est stocké sur un SSD SATA ou un support relativement lent.
fit_max_tokens
Pour éviter qu’une requête soit refusée lorsque la somme du prompt et du nombre maximal de tokens de sortie dépasse la taille du contexte, ajouter à la racine du fichier JSON :
"fit_max_tokens": true,
Strata réduit alors automatiquement max_tokens afin que la réponse tienne dans le contexte restant.
Nombre de workers CPU
Le paramètre --pool-workers permet de définir le nombre de workers utilisés pour le calcul des experts sur le CPU.
Par exemple :
"--pool-workers", "10",
Sur un processeur 12 cœurs / 24 threads, 10 workers accompagnés du thread hôte de Strata utilisent 11 cœurs physiques, ce qui laisse un cœur physique libre pour les threads auxiliaires, CUDA et le système.
CPU auxiliaires
Le paramètre --aux-cpus permet à Strata de réserver automatiquement certains processeurs logiques aux threads auxiliaires, afin qu’ils ne viennent pas perturber le pool chargé du calcul des experts.
Ajouter dans la section args :
"--aux-cpus", "auto",
Cette option peut notamment être utile lorsque le processeur est fortement sollicité par les workers CPU. Les threads auxiliaires, comme certains threads CUDA, de préchargement ou d’adaptation, sont alors déplacés vers des CPU logiques distincts lorsque cela est possible.
Réglage vision
- Vision sur CPU :
"vision": {
"exe": "/opt/Strata/engine/strata-vision",
"mmproj": "/opt/Strata-data/models/mmproj-Qwen3.8-Flash-Next-BF16.gguf",
"model": "/opt/Strata-data/models/IQ3_S/Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00001-of-00002.gguf",
"gpu": false,
"max_tokens": 1024
}
- Vision sur GPU auxiliaire :
"vision": {
"exe": "/opt/Strata/engine/strata-vision",
"mmproj": "/opt/Strata-data/models/mmproj-Qwen3.8-Flash-Next-BF16.gguf",
"model": "/opt/Strata-data/models/IQ3_S/Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00001-of-00002.gguf",
"gpu": true,
"cuda_device": 0,
"max_tokens": 1024
}
Désactiver le partage CPU du prefill
Sur les processeurs ne disposant pas d’AVX-512, il peut être intéressant de désactiver la participation du CPU au prefill afin d’éviter certaines dégradations de performances.
Ajouter à la racine du fichier JSON :
"env": {
"STRATA_PREFILL_CPU_SHARE": "0"
},
Cette variable désactive le partage du calcul du prefill avec le CPU. Elle peut être utile sur les anciens Xeon AVX2 lorsque le pool CPU perturbe ensuite les performances de décodage.
La valeur "0" est entre guillemets car il s’agit d’une variable d’environnement.
Privilégier la qualité de Qwen à la vitesse
Certaines optimisations approximatives de Strata privilégient la vitesse au prix de possibles différences de qualité.
Ajouter à la racine du fichier JSON de configuration du modèle, entre "layer_split" et "vision" :
"env": {
"STRATA_ROUTE_TAIL_SKIP": "0",
"STRATA_ROUTE_PRIOR": "0",
"STRATA_KVA": "0"
},
STRATA_ROUTE_TAIL_SKIP=0: empêche d’ignorer certains experts faiblement pondérés.STRATA_ROUTE_PRIOR=0: empêche de favoriser les experts déjà présents en VRAM.STRATA_KVA=0: désactive la lecture approximative des longs prompts.
Ne pas ajouter STRATA_DEFAULTS=026 : ce réglage désactiverait également des améliorations sans perte qualitative notable, notamment le layer-major prefill accélérant fortement la lecture des longs prompts avec deux cartes NVIDIA.
Redémarrer complètement Strata après la modification.