이전 Betelgeuse(bel-cli / bel-server) 관련 글에서 댓글을 통해 제기된 주요 반론은 다음과 같았습니다. “좋습니다만, IQ2_XS에서는 22 tok/s가 나왔지만, 2비트는 너무 낮지 않나요? 전문가(experts)가 거의 2배 더 큰 실제 4비트 양자화(quant)인 IQ4_XS에서는 어떻게 되나요?” 그리고 “왜 일반적인 듀얼 채널 2x 8GB 대신 단일 16GB DDR4 스틱으로 테스트했나요?” 공정한 질문들입니다. 그래서 저는 oracle + victim-cache DMA 경로를 업그레이드하고, IQ4_XS(약 100GB 이상급, 전체 4비트 전문가)를 패킹하여 동일한 RTX 3060 12GB에서 두 가지 RAM 구성 모두로 테스트했습니다 (두 테스트 모두 총 시스템 RAM은 여전히 16GB).
구성 A: 1x 16GB DDR4 (싱글 채널, 약 19 GB/s 호스트 대역폭)
구성 B: 2x 8GB DDR4 (일반적인 듀얼 채널 16GB 게이밍 PC 설정, 약 38 GB/s 호스트 대역폭)
(총 16GB RAM + RTX 3060 12GB에서 측정된 IQ4_XS 결과)
| 모델 / 양자화 | RAM 구성 (총 16GB) | Stock llama.cpp Strata (--low-ram) | Betelgeuse (bel-server) | 출력 일치도 vs. Stock IQ4_XS (4비트) |
|---|
| IQ4_XS (4비트) | 1x 16GB (싱글 채널) | ~0.5 tok/s (thrash) | ~4–5 tok/s | 14.0 tok/s, 100% Byte-Exact |
| IQ4_XS (4비트) | 2x 8GB (듀얼 채널) | ~0.6 tok/s (thrash) | ~5–6 tok/s | 24.0 tok/s, 100% Byte-Exact |
| IQ2_XS (GSQ-RCO) | 1x 16GB (싱글 채널) | 1.47 tok/s | 8.11 tok/s | 22.03 tok/s (48 tok/s 버스트), 100% Byte-Exact |
| IQ2_XS (GSQ-RCO) | 2x 8GB (듀얼 채널) | - | - | - |
| Q8_K_XL (8비트) | 1x 16GB (싱글 채널) | OOM / <0.1 tok/s | 적합하지 않음 | 8.0 cold / 12.0 warm tok/s, 100% Byte-Exact |
왜 1x 16GB에서 2x 8GB로 전환했을 때 IQ4_XS가 14 tok/s $ o$ 24 tok/s로 급증했는가:
Betelgeuse는 VRAM 슬롯 풀과 NVMe 드라이브 사이에 독점 호스트 RAM 피해 캐시(Exclusive Host RAM Victim Cache)와 비동기 하드웨어 DMA(Async Hardware DMA)(MOE_DMA=1)를 사용하기 때문입니다. 전문가(expert)가 VRAM에서 제거되면, 이는 호스트 RAM의 피해 캐시에 저장됩니다 (이때 MOE_DROP_MMAP은 OS 페이지 캐시에서 중복된 GGUF 페이지를 삭제하여 VRAM과 RAM에 중복을 갖지 않게 합니다). 단일 16GB 스틱에서는 싱글 채널 DDR4가 약 ~17–19 GB/s로 제한되므로, CPU와 PCIe H2D DMA 엔진이 하나의 64비트 메모리 채널을 두고 경쟁하게 됩니다 (IQ4_XS에서 14 tok/s).
2x 8GB 듀얼 채널 DDR4(여전히 총 16GB RAM이며, 일반적인 16GB 게이밍 PC의 95%가 실제로 갖춘 사양)를 사용하면 호스트 RAM 대역폭이 두 배로 늘어나 GPU의 하드웨어 DMA 엔진이 PCIe를 통해 피해 캐시 히트(victim-cache hits)를 최대 속도로 끌어올릴 수 있게 됩니다. 동시에 업그레이드된 oracle은 백그라운드에서 차가운 NVMe 미스(cold NVMe misses)를 사전 준비하며, IQ4_XS의 성능을 곧바로 24 tok/s까지 끌어올립니다. 링크 및 다음 단계 GitHub (Betelgeuse Engine — bel-cli & bel-server ): [https://github.com/Betelgeuse-AI/Betelgeuse] HuggingFace (사전 패키징된 Alpha-Orionis-XS 3.2GB Dense + Experts 번들): https://huggingface.co/Betelgeuse-AI/Alpha-Orionis-XS 상위 llama.cpp PR: [https://github.com/ggml-org/llama.cpp/pull/31469] 제가 다음에 작업할 내용: 현재 이 정확한 스트리밍 + 피해 캐시(streaming + victim-cache) 아키텍처를 DeepSeek V4.1 Flash (1017)로 옮기고 있습니다. 개발 중인 초기 테스트만으로도 동일 하드웨어 클래스에서 이미 약 ~25 tok/s 수준을 기록하고 있습니다. 질문에 답변하거나 벤치마크의 허점을 지적해 주시는 것을 환영합니다! 저희에게 Star를 남겨주세요 :) 제출자 /u/zyxciss [링크] [댓글]