llama.cppプロジェクトはバージョンb10242をリリースし、ペナルティ処理をGPUにオフロードできる新しいバックエンドサンプラーを導入しました。この変更により、`common_sampler_init`関数が強化され、`llama_sampler_penalties`構造体が`llama_sampler_backend`から継承するようになり、周波数と存在性の調整がバックエンドで可能になりました。
- 実装には、バックエンドの初期化、ペナルティの適用、およびバックエンドサンプリングにおけるtop-kペナルティのサポートに関するロジックが含まれています。
- サンプリング中にNaNの生成を防ぐため、マスクされたログ値を-Infとして保持することで数値安定性が向上しました。
- 検証により、繰り返しペナルティ値が有限かつ0より大きいことが保証され、無効なパラメータ用のテストが追加されました。
- このリリースでは、macOS(Apple SiliconおよびIntel)、Linux(CPU、Vulkan、ROCm、OpenVINO、SYCL)、Android、Windows(CPU、CUDA 12/13、Vulkan、OpenCL、HIP、OpenVINO、SYCL)、openEuler向けのバイナリが提供されています。