llama.cpp 프로젝트가 버전 b10532를 출시하여, Metal 백엔드에서 양자화된 키-값(KV) 캐시를 Flash Attention 실행 전에 F16으로 디쿼ン테이션하는 전처리 패스를 도입했습니다.
- 새로운 커널은 Q8_0 KV 텐서를 연속적인 F16 임시 버퍼로 디쿼ン테이션하여, 커널 내 디쿼ン테이션 대신 기존 F16 Flash Attention 커널을 사용할 수 있게 합니다.
- Metal이 지원하는 모든 양자화된 KV 유형(Q4_0, Q4_1, Q5_0, Q5_1 포함)에 대한 지원이 확장되었습니다.
- V가 K의 뷰인 MLA 기반 모델의 경우, 중복된 V 디쿼ン테이션을 생략하고 K의 F16 버퍼에서 V를 읽습니다.
- M2 Ultra에서의 검증 결과, q8_0 KV를 사용하는 Qwen2.5-0.5B의 퍼플렉시티가 F16 기준과 정확히 일치하는 것으로 나타났습니다(PPL 1.0008).
이 변경사항은 양자화된 KV 캐시에 연속적인 F16 버퍼를 활용하여 Metal 장치에서 효율적인 Flash Attention 실행을 가능하게 하며, 표준 F16 구현과 정확도 동등성을 보장합니다.