Проект llama.cpp выпустил версию b10242, внедрив новый бэкенд-сэмплер для штрафов, который позволяет перенести обработку штрафов на GPU. Это изменение улучшает функцию `common_sampler_init` и обновляет структуру `llama_sampler_penalties`, чтобы она наследовалась от `llama_sampler_backend`, что обеспечивает корректировку частоты и присутствия на бэкенде.
- Реализация включает логику для инициализации бэкенда, применения штрафов и поддержки штрафов top-k при сэмплировании на бэкенде.
- Численная стабильность улучшена за счёт сохранения замаскированных логитов как -Inf, чтобы предотвратить генерацию NaN во время сэмплирования.
- Валидация гарантирует, что значения повторного штрафа являются конечными и больше 0, добавлены тесты для некорректных параметров.
- Релиз предоставляет бинарные файлы для архитектур macOS (Apple Silicon и Intel), Linux (CPU, Vulkan, ROCm, OpenVINO, SYCL), Android, Windows (CPU, CUDA 12/13, Vulkan, OpenCL, HIP, OpenVINO, SYCL) и openEuler.