[가이드] Ternary Bonsai 2가 ik_llama.cpp에서 100% 작동하게 되었습니다 (네이티브 CUDA 오프로드 + 빠른 CPU
요약
ik_llama.cpp가 Ternary Bonsai 2 모델을 위한 네이티브 CUDA 오프로드와 빠른 CPU 추론 기능을 지원하도록 업데이트되었습니다. 이제 상위 가중치 변환 스크립트를 통해 PQ2_0 포맷으로 손실 없이 재패킹할 수 있으며, GPU 및 CPU 모두에서 안정적이고 최적화된 사용이 가능합니다.
핵심 포인트
- 네이티브 CUDA 커널 병합으로 모든 레이어를 GPU에 완벽하게 오프로드 가능.
- 상위 TQ2_0/TQ1_0 가중치를 PQ2_0 포맷으로 손실 없이 재패킹하는 스크립트 제공.
- CPU 추론 시 '-rtr 1' 옵션을 사용하면 프롬프트 처리가 극적으로 가속화됨.
- 기존의 sign tensor 병목 현상 문제가 해결되어 안정적인 구동이 가능함.
여러분, PrismML의 Ternary Bonsai 2를 사용해 보시는 분들께 빠르게 알려드립니다! 아주 최근까지는 Prism 자체 포크(fork) 외부에서 실행하는 것이 다소 어려움이 있었습니다. 상위 버전 llama.cpp는 블록 크기 QK=256 (TQ2_0)을 사용하는 반면, Prism은 QK=128 (PQ2_0)을 사용하며, 다른 포크에서 CUDA로 레이어를 오프로드(offload)하려고 하면 Hadamard sign tensor 처리 때문에 병목 현상이 발생하거나 작동이 멈추곤 했습니다. ik_llama.cpp에 최신 커밋들이 반영되면서, 이제 CUDA와 CPU 모두에서 완벽하고 네이티브한 지원을 갖게 되었습니다. 깔끔하게 설정하는 방법은 다음과 같습니다.
상위 가중치(Upstream weights)를 손실 없이 변환하기 (PR #2694)
Prism으로부터 이미 PQ2_0 GGUF 파일을 다운로드했다면 이 과정은 건너뛸 수 있습니다. 만약 상위 버전의 TQ2_0 또는 TQ1_0 파일을 다운로드했다면, ik_llama.cpp가 이제 스크립트를 제공하여 단 몇 초 만에 이를 PQ2_0으로 손실 없이 재패킹(repack)할 수 있습니다 (정확한 trits 보존, 재양자화 불필요):
python3 scripts/repack_ternary_to_prism.py Bonsai-2-27B-TQ2_0.gguf Bonsai-2-27B-PQ2_0.gguf
네이티브 CUDA 전체 오프로드 (PR #2691 & PR #2747)
PQ2_0에 대한 네이티브 CUDA 커널(kernels)이 병합되었습니다. 토큰 손상이나 무거운 k-quant로 폴백(fallback)할 필요 없이 모든 것을 Nvidia GPU로 오프로드할 수 있습니다:
./build/bin/llama-cli -m Bonsai-2-27B-PQ2_0.gguf -ngl 99 -p "Explain the theory of relativity in simple terms." --temp 0.7 --top-p 0.95 --top-k 20
빠른 프롬프트 수집을 이용한 CPU 추론 (-rtr 1)
CPU에서 테스트하는 경우, ik_llama.cpp는 iqk_mul_mat 커널로 지원되는 8행 인터리브 형식(PQ2_0_R8)을 사용합니다. 프롬프트 처리를 극적으로 가속화하려면 반드시 -rtr 1 (런타임 재패킹) 옵션을 전달해야 합니다:
./build/bin/llama-cli -m Bonsai-2-27B-PQ2_0.gguf -rtr 1 -t 8 -p "Explain the theory of relativity in simple terms." --temp 0.7 --top-p 0.95 --top-k 20
요약 (TL;DR): GPU에서 더 이상 sign tensor 병목 현상이 없습니다. PR #2747은 네이티브 CUDA 커널을 가져왔고, PR #2694는 상위 가중치로부터 즉각적인 손실 없는 재패킹을 제공하며, -rtr 1을 이용한 CPU 프롬프트 수집 속도는 매우 빠릅니다. Ternary 모델이 네이티브하게 작동하도록 만든 Iwan Kawrakow와 모든 기여자분들께 큰 박수를 보냅니다!
제출자: /u/Any_Bus9205 [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기