coffreobsidian/inbox/Guide Complet des Paramètres LLM.md
2025-04-30 17:20:20 +02:00

5.3 KiB
Raw Blame History

📘 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 dun 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 dapparition.

  - 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 dajustement dans lalgorithme 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 linfé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 linfé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


{

  "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