Llama.cpp 및 MTP를 활성화한 4개의 Nvidia RTX A4000 (각 16GB) 환경에서의 Qwen 3.6 27B Q8 구동
요약
4개의 Nvidia RTX A4000(각 16GB) 환경에서 Llama.cpp와 MTP를 활용하여 Qwen 3.6 27B Q8 모델을 구동한 실험 결과입니다. MTP 활성화 시 추론 시 약 45 t/s, 코딩 시 60 t/s 이상의 성능을 보여주며, MoE 모델의 경우 레이어 분할 모드를 통해 높은 토큰 생성 속도를 달성할 수 있음을 확인했습니다.
핵심 포인트
- Nvidia RTX A4000 4개를 활용한 이기종 구성에서 MTP(Multi-Token Prediction)를 통해 추론 및 코딩 속도 최적화 가능
- Qwen 3.6 27B Q8 모델 구동 시 코딩 작업에서 초당 60개 이상의 토큰 생성
- MoE 모델(Qwen 3.6 35B A3B Q8)은 `--split-mode layer`를 사용하여 에너지 효율과 높은 토큰 속도(코딩 시 90 t/s) 달성 가능
- 전력 제한(125W)을 통해 성능 안정성과 효율성 확보
Llama.cpp 및 MTP를 활성화한 4개의 Nvidia RTX A4000 (각 16GB) 환경에서의 Qwen 3.6 27B Q8 구동
제 설정은 이기종(heterogenous) 구성입니다. 원래 저는 (업무 특성상) OpenShift/K8s 클러스터를 실행하기 위해 서버(Lenovo ThinkStation P3 Tower Gen 2)를 구입했습니다. 그 후, VRAM이 각각 16GB인 Nvidia RTX A4000 카드들을 하나씩 구매하기 시작했습니다. 네, 구형 기술이긴 하지만 제 말을 들어보세요. 카드당 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
추론(reasoning) 시에는 초당 약 45개의 토큰(tokens per second)이 나오는 것을 확인했습니다. 코딩(coding)의 경우, 보시는 바와 같이 초당 60개 이상의 토큰으로 속도가 상당히 빨라집니다.
저는 KV 캐시 양자화(KV cache quantization) 없이 전체 컨텍스트(full context)로 실행 중입니다.
결국 제 카드들이 아주 나쁜 구매는 아니었다고 느낍니다.
제가 구매했을 때는 865달러였는데, 현재 중고가는 약 1,300달러, 새 제품은 거의 1,500달러 정도 합니다.
또한 --split-mode layer를 사용하여 Qwen 3.6 35B A3B Q8 MoE를 실행하고 있는데, 이 모델은 코딩 시 초당 90개 정도, 추론 시 초당 80개 정도의 토큰을 달성합니다.
해당 MoE (Mixture of Experts) 모델은 텐서 모드 (tensor mode)가 아닌 레이어 모드 (layer mode)로만 구동되며, 에너지를 훨씬 적게 사용합니다.
하지만 실제 코딩 능력에 대해서는 완전히 만족스럽지는 않습니다. 오해는 마세요, 해결책을 찾아내기는 하지만 두 번째나 세 번째 시도 끝에 도달합니다. 반면 Qwen 2.6 27B dense 모델은 대부분 첫 번째 시도에서 해결하거나, 기껏해야 두 번째 시도에서 적절한 피드백을 통해 해결하는 경향이 있습니다.
1년 반 전만 해도 저는 정말 낙담해 있었습니다. 솔직히 로컬 추론 (local inference) 커뮤니티에 참여하지도 않았고, 7k 달러 상당의 서버를 가지고 있으면서 그저 OCP/K8s 워크로드만 실행할 뿐이었습니다. 하지만 이제는 보상받는 기분입니다. 이 이야기의 교훈은 우리가 하드웨어에서 더 많은 성능을 끌어내기 위해 시장에 계속해서 압력을 가해야 한다는 것입니다. 그리고 우리는 2020년형 그래픽 카드에 대해서도 그렇게 해낼 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기