llama.cpp 프로젝트는 페널리 처리를 GPU로 오프로드할 수 있는 새로운 백엔드 샘플러를 도입한 버전 b10242를 출시했습니다. 이 변경은 `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 아키텍처용 바이너리를 제공합니다.