Proyek llama.cpp merilis versi b10242, memperkenalkan sampler backend baru untuk penalti yang memungkinkan penanganan penalti dialihkan ke GPU. Perubahan ini meningkatkan fungsi `common_sampler_init` dan memperbarui struktur `llama_sampler_penalties` agar mewarisi dari `llama_sampler_backend`, sehingga memungkinkan penyesuaian frekuensi dan kehadiran di backend.

  • Implementasi mencakup logika untuk inisialisasi backend, penerapan penalti, dan dukungan untuk penalti top-k dalam pengambilan sampel backend.
  • Stabilitas numerik ditingkatkan dengan mempertahankan logits yang dimask sebagai -Inf untuk mencegah generasi NaN selama pengambilan sampel.
  • Validasi memastikan nilai penalti pengulangan bersifat hingga dan lebih besar dari 0, dengan tes ditambahkan untuk parameter tidak valid.
  • Rilis ini menyediakan biner untuk macOS (Apple Silicon dan Intel), Linux (CPU, Vulkan, ROCm, OpenVINO, SYCL), Android, Windows (CPU, CUDA 12/13, Vulkan, OpenCL, HIP, OpenVINO, SYCL), dan arsitektur openEuler.