인프라와 비용

llama.cpp, Hexagon 백엔드에 Q1_0·Q2_0 양자화 추가

llama.cpp b11716이 Qualcomm Hexagon 백엔드에 Q1_0과 Q2_0 양자화 형식을 추가했다. Snapdragon용 Android와 Linux 빌드가 함께 배포됐다.

루카스 ·

llama.cpp 프로젝트가 b11716 빌드에서 Hexagon 백엔드에 Q1_0과 Q2_0 두 가지 양자화 형식을 지원하도록 했다. 변경 내용은 풀 리퀘스트 #30122로 반영됐고, 릴리스는 2026년 10월 18일 게시됐다.

Qualcomm Snapdragon 450 모바일 칩셋을 찍은 사진으로, 칩 패키지와 표면의 회로 구성이 보인다.
Qualcomm Snapdragon 450 칩셋 사진Jaredryandloneria / Wikimedia Commons · CC BY-SA 4.0 · 원본 · 크기 조정

써 보려면 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가 올라 있다.

댓글

기사에 대한 의견이나 틀린 내용 제보를 남겨 주세요.

댓글을 불러오고 있습니다.