Пользователь выпустил форк llama.cpp с экспериментальным детектором циклов, предназначенным для выявления и прерывания повторяющихся циклов токенов во время инференса. Этот новый композиционный сэмплер в реальном времени отслеживает поток генерируемых токенов, обнаруживает точные повторяющиеся паттерны и временно увеличивает температуру сэмплирования для нарушения цикла.

  • Сэмплер использует параметры, такие как last_n (по умолчанию 64), min_pattern_len (по умолчанию 3) и min_reps (по умолчанию 3), для определения чувствительности обнаружения.
  • При обнаружении цикла применяется множитель температуры (temp_factor) для увеличения случайности и вывода модели из цикла.
  • Конфигурация доступна через флаги CLI, JSON API для llama-server или программно через цепочку сэмплеров C API.
  • Реализация позволяет настраивать баланс между ранним обнаружением циклов и избеганием ложных срабатываний на легитимных повторяющихся фразах.