Un utilisateur a publié un fork de llama.cpp comportant un échantillonneur de détection de boucle expérimental conçu pour identifier et interrompre les cycles de tokens répétitifs lors de l'inférence. Cet nouvel échantillonneur composable surveille en temps réel le flux de tokens générés, détecte les motifs de répétition exacts et augmente temporairement la température d'échantillonnage pour perturber la boucle.

  • L'échantillonneur utilise des paramètres tels que last_n (défaut 64), min_pattern_len (défaut 3) et min_reps (défaut 3) pour définir la sensibilité de détection.
  • Lorsqu'une boucle est détectée, il applique un multiplicateur de température (temp_factor) pour augmenter l'aléatoire et sortir le modèle du cycle.
  • La configuration est disponible via des indicateurs CLI, une API JSON pour llama-server, ou programmatiquement via la chaîne d'échantillonneurs de l'API C.
  • L'implémentation permet un réglage pour équilibrer la détection précoce des boucles et l'évitement des faux positifs sur les phrases répétées légitimes.