mirror of
https://github.com/Ladebeze66/coffreobsidian.git
synced 2025-12-16 21:57:44 +01:00
317 lines
5.3 KiB
Markdown
317 lines
5.3 KiB
Markdown
|
||
|
||
# 📘 Paramètres Avancés LLM – Open WebUI & Ollama
|
||
|
||
|
||
|
||
Ce document présente une explication claire et complète des paramètres de génération d’un modèle LLM via Open WebUI, compatible avec un usage dans **Obsidian**.
|
||
|
||
|
||
|
||
---
|
||
|
||
|
||
|
||
## ⚙️ Paramètres Généraux
|
||
|
||
|
||
|
||
- **Streamer la réponse de la conversation**
|
||
|
||
- Active le mode de génération mot par mot, visible en temps réel.
|
||
|
||
- ✅ Recommandé pour le chat interactif.
|
||
|
||
- ❌ Peut réduire les performances sur des machines lentes.
|
||
|
||
|
||
|
||
- **Function Calling**
|
||
|
||
- Permet au modèle de déclencher des fonctions (si la fonction est supportée par le modèle, comme GPT-4).
|
||
|
||
|
||
|
||
- **Seed**
|
||
|
||
- Graine aléatoire pour rendre les générations reproductibles.
|
||
|
||
- Exemple : `seed = 42` -> toujours la même sortie pour le même prompt.
|
||
|
||
- Par défaut : valeur aléatoire.
|
||
|
||
|
||
|
||
- **Séquence d'arrêt (`stop`)**
|
||
|
||
- Liste de chaînes qui, si rencontrées, interrompent immédiatement la génération.
|
||
|
||
- Exemple : `["\nUser:", "###"]`
|
||
|
||
|
||
|
||
---
|
||
|
||
|
||
|
||
## 🔥 Paramètres de Style et de Créativité
|
||
|
||
|
||
|
||
- **Température (`temperature`)**
|
||
|
||
- Contrôle la créativité du modèle.
|
||
|
||
- Borne typique : `0.0` (très déterministe) à `1.5` (très créatif).
|
||
|
||
- ✅ Valeurs recommandées : `0.7` (équilibré), `1.0+` pour brainstorm.
|
||
|
||
- 🧊 `0.0` = réponse toujours identique.
|
||
|
||
|
||
|
||
- **Top K**
|
||
|
||
- Ne garde que les `K` tokens les plus probables à chaque étape.
|
||
|
||
- Borne : `0` (désactivé) à `100+`.
|
||
|
||
- Exemple : `Top K = 40` -> le modèle choisit parmi les 40 tokens les plus probables.
|
||
|
||
|
||
|
||
- **Top P (`top_p`)**
|
||
|
||
- Filtrage probabiliste : garde les tokens jusqu'à atteindre une somme de probabilité donnée.
|
||
|
||
- Borne : `0.0` à `1.0`.
|
||
|
||
- Exemple : `0.9` = conserve les tokens représentant 90% de probabilité cumulée.
|
||
|
||
|
||
|
||
- **P min**
|
||
|
||
- Probabilité minimale absolue pour inclure un token dans le choix.
|
||
|
||
- Borne : `0.0` à `1.0`.
|
||
|
||
|
||
|
||
---
|
||
|
||
|
||
|
||
## 🧠 Paramètres de Contrôle de la Répétition
|
||
|
||
|
||
|
||
- **Pénalité de fréquence**
|
||
|
||
- Pénalise les tokens répétés selon leur fréquence d’apparition.
|
||
|
||
- Valeurs typiques : `0.0` (pas de pénalité) à `2.0`.
|
||
|
||
|
||
|
||
- **Pénalité de présence**
|
||
|
||
- Pénalise les tokens qui ont déjà été générés une fois.
|
||
|
||
- Utile pour éviter la redondance.
|
||
|
||
|
||
|
||
- **Pénalité de répétition (Ollama)**
|
||
|
||
- Directement appliquée au moteur Ollama.
|
||
|
||
- Valeurs typiques : `1.0` (neutre), `>1.0` pour plus de diversité (ex. `1.2`), `<1.0` = plus conservateur.
|
||
|
||
|
||
|
||
- **Répéter les N derniers**
|
||
|
||
- Longueur de la fenêtre contextuelle analysée pour la détection de répétitions.
|
||
|
||
|
||
|
||
---
|
||
|
||
|
||
|
||
## 🧪 Algorithmes Avancés
|
||
|
||
|
||
|
||
- **Effort de raisonnement**
|
||
|
||
- Ajuste la profondeur logique du modèle.
|
||
|
||
- Plus la valeur est haute, plus le modèle essaiera de construire une réponse "logique" (si supporté).
|
||
|
||
|
||
|
||
- **Logit Bias**
|
||
|
||
- Permet de favoriser ou de bloquer certains tokens.
|
||
|
||
- Format : dictionnaire `{token_id: bias_value}`
|
||
|
||
- Exemple : `{1234: -100}` empêche un token d'apparaître.
|
||
|
||
|
||
|
||
- **Mirostat**
|
||
|
||
- Algorithme pour maintenir une perplexité constante.
|
||
|
||
- `0` = désactivé, `1` = activé.
|
||
|
||
- Utilisé pour une génération plus stable.
|
||
|
||
|
||
|
||
- **Mirostat Eta**
|
||
|
||
- Taux d’ajustement dans l’algorithme Mirostat.
|
||
|
||
- Valeur typique : `0.1` à `1.0`.
|
||
|
||
|
||
|
||
- **Mirostat Tau**
|
||
|
||
- Cible de perplexité à maintenir.
|
||
|
||
- Valeur typique : `2.0` à `5.0`.
|
||
|
||
|
||
|
||
- **Tfs Z**
|
||
|
||
- Top Free Sampling : alternative à Top P avec une approche basée sur la surprise du token.
|
||
|
||
- Moins courant, expérimental.
|
||
|
||
|
||
|
||
---
|
||
|
||
|
||
|
||
## 🧩 Contexte et Tokenisation
|
||
|
||
|
||
|
||
- **Tokens à conserver (`num_keep`)**
|
||
|
||
- Nombre de tokens à préserver lors du rafraîchissement du contexte.
|
||
|
||
- Utile pour les instructions système ou les préambules.
|
||
|
||
|
||
|
||
- **Nb max de tokens (`num_predict`)**
|
||
|
||
- Limite maximale de tokens générés en réponse.
|
||
|
||
- Typiquement : `128` à `4096` voire `32k` selon les modèles.
|
||
|
||
|
||
|
||
- **Longueur du contexte (Ollama)**
|
||
|
||
- Taille mémoire maximale disponible pour prompt + génération.
|
||
|
||
- Varie selon le modèle : `4096`, `8192`, `32768`, `128000`, etc.
|
||
|
||
|
||
|
||
---
|
||
|
||
|
||
|
||
## 🧵 Exécution & Performance (spécifique à Ollama)
|
||
|
||
|
||
|
||
- **Batch Size (`num_batch`)**
|
||
|
||
- Nombre de tokens traités simultanément.
|
||
|
||
- Peut accélérer l’inférence mais consomme plus de RAM/VRAM.
|
||
|
||
|
||
|
||
- **Utiliser mmap**
|
||
|
||
- Active le chargement du modèle en mémoire mappée (plus rapide, nécessite moins de RAM).
|
||
|
||
|
||
|
||
- **Utiliser mlock**
|
||
|
||
- Empêche le modèle d’être swapé sur le disque (nécessite des droits root).
|
||
|
||
|
||
|
||
- **Threads (`num_thread`)**
|
||
|
||
- Nombre de threads CPU utilisés pour l’inférence.
|
||
|
||
- Exemple : `8`, `16`, selon ton CPU.
|
||
|
||
|
||
|
||
- **GPU (`num_gpu`)**
|
||
|
||
- Nombre de GPU à utiliser.
|
||
|
||
- `0` = désactive le GPU, `1` = un seul GPU, `auto` = automatique.
|
||
|
||
|
||
|
||
---
|
||
|
||
|
||
|
||
## 📤 Exemple d'appel API Ollama
|
||
|
||
|
||
|
||
```json
|
||
|
||
{
|
||
|
||
"model": "llama3.2-vision:90b-instruct-q8_0",
|
||
|
||
"prompt": "Explique la gravité quantique",
|
||
|
||
"temperature": 0.7,
|
||
|
||
"top_p": 0.9,
|
||
|
||
"repeat_penalty": 1.1,
|
||
|
||
"num_predict": 512,
|
||
|
||
"stream": false
|
||
|
||
}
|
||
|
||
```
|
||
|
||
|
||
|
||
---
|
||
|
||
|
||
|
||
## 🔗 Liens utiles
|
||
|
||
|
||
|
||
- [🔗 Docs OpenWebUI](https://docs.openwebui.com)
|
||
|
||
- [🔗 Ollama Modelfile Reference](https://github.com/ollama/ollama/blob/main/docs/modelfile.md) |