Nvidia RTX A4000 4개로 Qwen 3.6 27B Q8 모델 구동하기 (Llama.cpp 및 MTP 활용)
Qwen 3.6 27B Q8 on four Nvidia RTX A4000 (16GB each) with Llama.cpp and MTP enabled
핵심 요약
구형 RTX A4000 4개를 활용해 Qwen 3.6 27B 모델을 효율적으로 구동하며 로컬 추론 성능을 극대화한 사례.
- 하드웨어 구성 — RTX A4000 16GB 4개를 장착하여 총 64GB VRAM 환경 구축함
- 성능 최적화 — Llama.cpp와 MTP 설정을 통해 코딩 작업 시 초당 60토큰 이상의 속도 확보함
- 모델 비교 — Qwen 3.6 27B와 35B MoE 모델을 각각 테스트하여 추론 성능과 코딩 품질을 비교함
- 사용자 경험 — 과거의 하드웨어 투자가 로컬 추론 환경에서 빛을 발하며 만족스러운 결과를 얻음
Qwen 3.6 27B Q8 on four Nvidia RTX A4000 (16GB each) with Llama.cpp and MTP enabled
제 서버 구성은 이기종 환경입니다. 원래는 OpenShift/K8s 클러스터를 돌리기 위해 서버(Lenovo ThinkStation P3 Tower Gen 2)를 마련했는데, 나중에 Nvidia RTX A4000(각 16GB VRAM)을 하나씩 사 모으기 시작했습니다. 구형 기술이긴 하지만 제 말을 들어보세요. 카드당 140W 전력을 소모하고 카드당 PCIe 슬롯 하나를 차지하는데, 제 서버에 카드 4개를 장착할 수 있습니다.
최대 전력에서는 성능이 별로라는 글을 읽고 카드 전력을 125W로 제한했는데, 실제로 성능이 꽤 좋고 안정적으로 유지됩니다.
제가 사용하는 옵션입니다. MTP를 위한 --spec-draft-n-max 4 설정이 가장 좋은 성능을 냅니다. 당연히 CUDA 드라이버가 설치된 Fedora 43을 사용 중입니다.
ExecStart=/usr/bin/bash -lc '\
/home/user/llama-server-experiments/llama.cpp/build/bin/llama-server \
--models-dir /home/user/qwen3.6/mtp-variations \
--chat-template "$(cat /home/user/qwen3.6/chat_template.jinja)" \
--ctx-size 262114 \
--fit on \
--n-gpu-layers 999 \
--split-mode tensor \
--parallel 1 \
--flash-attn on \
--host 0.0.0.0 \
--port 8081 \
--timeout 2200 \
--spec-type mtp \
--spec-draft-n-max 4'
MTP가 활성화된 GGUF 형식의 Qwen 3.6 27B Q8 버전을 실행하고 있습니다.
https://huggingface.co/froggeric/Qwen3.6-27B-MTP-GGUF
추론 시에는 초당 45토큰 정도가 나옵니다. 코딩 작업 시에는 보시다시피 초당 60토큰 정도로 속도가 상당히 빨라집니다.
KV 캐시 양자화 없이 전체 컨텍스트를 사용하고 있습니다.
결국 제 그래픽 카드들이 나쁜 구매는 아니었다는 생각이 듭니다.
구매 당시에는 865달러였는데, 지금은 중고가 1,300달러 정도이고 새 제품은 거의 1,500달러나 하네요.
또한 Qwen 3.6 35B A3B Q8 MoE 모델도 --split-mode layer 옵션으로 돌리고 있는데, 코딩 시 초당 90토큰, 추론 시 초당 80토큰 정도가 나옵니다.
이 MoE 모델은 텐서 모드에서는 맞지 않고 레이어 모드에서만 작동하며, 전력 소모도 훨씬 적습니다.
하지만 실제 코딩 능력에는 완전히 만족하지 못합니다. 오해하지 마세요. 해결책을 찾아내긴 하지만 두세 번 시도해야 합니다. 반면 Qwen 2.6 27B 덴스 모델은 첫 시도에 성공하는 경우가 더 많거나, 두 번째 시도에서 좋은 피드백을 받으면 해결되는 편입니다.


