llama.cpp 프로젝트는 모델 추론의 프리필 단계에 특화하여 Metal 백엔드를 위한 스파스 플래시 어텐션(FA) 지원을 도입했습니다. 이 업데이트에는 유한 마스크 엔트리를 행별 인덱스 목록으로 압축하는 새로운 커널과 선택적 스파스 인덱스 수집 기능을 갖춘 벡터 FA 커널 확장이 포함됩니다.
- n_kv_max가 0보다 크고 다른 조건이 충족될 때 스파스 경로를 활성화하기 위한 호스트 측 게이트 구현이 추가되었습니다.
- 이전에는 다중 행 사례에서 실패를 유발했던 스파스 플래시 어텐션 커널의 행 주소 지정 버그를 수정하는 수정 사항이 적용되었습니다.
- 스레드별 레지스터에 유한 위치를 유지하여 중복 마스크 읽기를 피하는 단일 패스 스파스 인덱스 압축을 수행하기 위한 최적화 기법이 추가되었습니다.
- 헤드 크기, 양자화 유형 및 다양한 구성 매개변수를 검증하기 위해 테스트 케이스와 성능 벤치마크가 추가되었습니다.
이 변경사항은 스파스 어텐션 힌트가 활용될 때 프리필 단계 중 메모리 트래픽을 줄임으로써 Metal 사용자의 효율성을 향상시킵니다.