IceFog72 a implémenté un échantillonneur "scatter" expérimental pour llama.cpp qui lisse localement la distribution de probabilité du prochain jeton parmi les meilleurs candidats. Cette approche vise à réduire la rigidité de la génération sans introduire de bruit provenant de la queue profonde de la distribution.

  • L'échantillonneur utilise une étape de diffusion locale sur le rang des jetons, permettant aux rangs voisins d'échanger de la masse probabiliste tout en préservant l'ensemble des candidats filtrés.
  • Il est positionné dans la chaîne d'échantillonnage par défaut entre "xtc" et "temperature", mais il est désactivé par défaut.
  • Les fonctionnalités incluent une force de diffusion fixe ou adaptative basée sur le retour d'entropie, l'absorption optionnelle des jetons répétés et la commutation de collision.
  • L'implémentation comprend des fonctions API natives et des tests d'invariants au sein du framework llama.cpp.

Cet outil offre une alternative plus localisée à l'augmentation de la température, offrant un contrôle plus fin sur la diversité de la génération de texte tout en évitant les sauts incohérents causés par les jetons de queue faibles.