llama.cpp 프로젝트가 b11716 빌드에서 Hexagon 백엔드에 Q1_0과 Q2_0 두 가지 양자화 형식을 지원하도록 했다. 변경 내용은 풀 리퀘스트 #30122로 반영됐고, 릴리스는 2026년 10월 18일 게시됐다.
써 보려면 Snapdragon 전용 빌드를 받으면 된다. Android arm64 Snapdragon 빌드와 Linux arm64 Snapdragon 빌드가 있고, 두 빌드 모두 CPU, Adreno GPU, Hexagon NPU를 대상으로 한다. 설치 안내 문서는 플랫폼별로 따로 마련돼 있다.
작업은 여러 커밋으로 진행됐다. 먼저 Q1_0 가중치를 2D HMX 행렬곱(MUL_MAT) 경로에서 쓸 수 있게 했고, 이어 Q2_0을 추가했다. 두 형식은 타일이 정사각형이 아니어서, 행렬곱 코드가 정사각 타일을 전제하던 부분(MUL_MAT_NX)을 고쳤다. 오래된 assert와 특수 처리도 걷어냈다.
성능 쪽 손질도 포함됐다. Q1_0 데이터 배치를 바꿔 압축을 푸는 과정과 vrmpy 연산의 부담을 줄이도록 바꿨고, 반복문 안의 나눗셈을 없앴으며, 벡터 내적(vec_dot) 함수를 추가로 최적화했다. 다만 릴리스 노트에는 성능을 측정한 수치가 없다. 타일 형식은 개발자 문서 developer.md와 헤더 파일 htp-tensor.h에 정리했다.
커밋의 공동 작성자 항목에는 Max Krasnyansky가 올라 있다.
출처
이 기사는 아래 자료를 바탕으로 정리했습니다. 제목을 누르면 원문이 새 창으로 열립니다.
- ggml-org/llama.cpp b11716 github.com