El proyecto llama.cpp lanzó la versión b10242, introduciendo un nuevo muestreador de backend para penalizaciones que permite descargar el manejo de penalizaciones a la GPU. Este cambio mejora la función `common_sampler_init` y actualiza la estructura `llama_sampler_penalties` para heredar de `llama_sampler_backend`, habilitando ajustes de frecuencia y presencia en el backend.

  • La implementación incluye lógica para la inicialización del backend, aplicación de penalizaciones y soporte para penalizaciones top-k en el muestreo del backend.
  • La estabilidad numérica se mejora preservando los logits enmascarados como -Inf para prevenir la generación de NaN durante el muestreo.
  • La validación asegura que los valores de penalización de repetición sean finitos y mayores que 0, con pruebas añadidas para parámetros inválidos.
  • El lanzamiento proporciona binarios para macOS (Apple Silicon e Intel), Linux (CPU, Vulkan, ROCm, OpenVINO, SYCL), Android, Windows (CPU, CUDA 12/13, Vulkan, OpenCL, HIP, OpenVINO, SYCL) y arquitecturas openEuler.