q1_0 속도폭발
ggml-cpu: Optimized x86 and generic cpu q1_0 dot (follow up) by pl752 · Pull Request #21636 · ggml-org/llama.cpp
·2026.04.21 20:41
핵심 내용
q1_0/q8_0 dot 경로를 최적화해 x86에서 최대 67배대 처리량 향상을 보고했다.
자세히 보기
llama.cpp의 CPU q1_0 dot product 경로를 다시 손봤다.
- 범용 구현은 비트 연산과 곱셈을 줄여
(q1_0, q8_0)dot을 더 효율적으로 처리한다. - x86 SIMD 구현은 SSSE3부터 AVX2까지의 현실적인 x86_64 타깃을 넓게 커버한다.
- 검증은
test-quantization-fns, 모델 동작, wikitext-2 perplexity,llama-bench로 진행했다.
Bonsai 1.7B 기준, AMD Ryzen 5 7640HS(65W), WSL VM, LPDDR5 6400MT, 10 threads에서 성능이 크게 올랐다.
- pp 512: 초기 2.05 t/s → AVX2 + FMA 131.03 t/s
- tg 128: 초기 1.32 t/s → AVX2 + FMA 73.85 t/s
- SSSE3, AVX, AVX + F16C, AVX2 + FMA, AVX512 순으로 점진적 향상이 확인됐다.
- 정확도 측면에서는 top token 일치율과 KLD가 전반적으로 안정적이었고, 큰 품질 저하는 보이지 않았다.
작성자는 향후 nrc==2 분기, Zen 5/현대 Xeon용 AVX512, 그리고 RISC-V SIMD 확장 가능성도 언급했다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.