$400 Qwen 3.6-27B 설정 - Dual RTX 3060 - 30-50 t/s
요약
저예산 Dual RTX 3060 구성을 통해 Qwen 3.6-27B 모델을 구동한 성능 테스트 결과입니다. 7900 XTX 대비 안정적인 연산 성능과 30-50 t/s의 디코딩 속도를 확인했습니다.
핵심 포인트
- Dual RTX 3060을 활용한 초저예산 24GB VRAM 구성
- Qwen 3.6-27B 모델에서 30-50 t/s의 디코딩 속도 달성
- PCIe 3.0 x8 분할 지원 구형 플랫폼 활용의 효율성
- MTP 사용 시 프리필 속도와 디코딩 속도 간의 트레이드오프
이전에 7900 XTX를 구매하여 qwen3.6-27b를 잘 구동했지만, 제 마음에 들지는 않았습니다. 연산 성능 (compute performance)이 저에게는 상당히 불안정합니다. MTP를 사용하면 디코딩 속도 (decode speed)가 40-60 t/s에 도달할 수 있지만, 프리필 (prefill)이 너무 느립니다. ROCm이나 Vulkan을 사용하든 상관없이, 프리필 속도는 매우 긴 프롬프트에서도 300t/s에서 500t/s 사이를 오갑니다.
저는 Dual 3060을 사용하는 초저예산 24GB 설정을 시도해보고 싶어 근질근질했습니다. 지난 며칠 동안 합리적인 가격에 두 번째 3060을 구할 수 있었습니다. 그래서 7900 XTX를 제거하고, 3060들을 설치한 뒤 테스트를 시작했습니다.
테스트 구성
- 테스트 플랫폼: i7 4770k + Gigabyte GA-Z87MX-D3H
- 10년 넘게 사용된 상당히 오래된 플랫폼입니다. 하지만 흥미롭게도, 두 슬롯을 모두 사용할 때 PCIe 3.0 x16을 두 개의 PCIe 3.0 x8로 분할하여 SLI를 지원합니다. 최신 메인보드들은 이러한 분할을 제공하지 않는 것 같지만, 많은 제품이 하나의 풀스피드 PCIe 5.0 x16 슬롯과 하나의 PCIe 4.0 x4 슬롯을 제공합니다. 우리가 알다시피, PCIe 4.0 x4는 PCIe 3.0 x8과 동일합니다. 따라서 이 오래된 플랫폼은 PCIe 병목 현상 측면에서 최신 플랫폼과 대등합니다.
- 모니터는 iGPU를 사용하여 메인보드에 연결되어 있습니다.
- OS: Kubuntu 24.04
- CUDA: 13.2
- 모델 (Models):
- unsloth/Qwen3.6-27B-MTP-GGUF
- unsloth/Qwen3.6-27B-GGUF
- 양자화 (Quantization): Qwen3.6-27B-Q4_K_S.gguf
- 소프트웨어: llama.cpp 5/25/2026 master, CUDA 지원을 포함하여 자체 컴파일됨 (공식 사전 컴파일된 Linux CUDA 바이너리는 다운로드할 수 없음).
- 필수 설치 사항:
sudo apt install nvidia-cuda-toolkit
- 필수 설치 사항:
- 설정 (Settings) (상세 설정은 게시물 끝에 있음):
- 텐서 병렬 (Tensor parallel):
-sm tensor -ts 1,1 -sm tensor는-ctk및-ctv와 동시에 활성화할 수 없습니다. 이는 KV 캐시 양자화 (KV cache quantization)를 사용할 수 없음을 의미하며, 컨텍스트 윈도우 (context window)를 약 64k로 제한합니다. 저는 보통 160k 컨텍스트가 필요하기 때문에 이 점은 다소 답답합니다.--spec-type draft-mtp --spec-draft-n-max 1.--spec-draft-n-max 2는 일시적인 VRAM 피크로 인한 OOM (Out of Memory) 발생 때문에 불안정할 수 있습니다. 지적해주신 u/laul_pogan 님께 감사드립니다.
- 텐서 병렬 (Tensor parallel):
테스트 결과
2.16.262.271 I slot print_timing: id 0 | task 701 | prompt eval time = 3056.70 ms / 1394 tokens ( 2.19 ms per token, 456.05 tokens per second)
2.16.262.276 I slot print_timing: id 0 | task 701 | eval time = 22538.95 ms / 975 tokens ( 23.12 ms per token, 43.26 tokens per second)
2.16.262.277 I slot print_timing: id 0 | task 701 | total time = 25595.65 ms / 2369 tokens
2.16.262.291 I slot print_timing: id 0 | task 701 | graphs reused = 1016
2.16.262.292 I slot print_timing: id 0 | task 701 | draft acceptance = 0.77618 ( 593 accepted / 764 generated)
2.16.262.310 I statistics draft-mtp: #calls(b,g,a) = 10 1038 1038, #gen drafts = 1038, #acc drafts = 959, #gen tokens = 2076, #acc tokens = 1792, dur(b,g,a) = 0.018, 8380.839, 3.772 ms
2.16.263.267 I slot release: id 0 | task 701 | stop processing: n_tokens = 12343, truncated = 0
초기 최고 속도는 pp 600+ t/s 및 tg 50 t/s에 도달했습니다. 실제 컨텍스트 길이인 12k에서 프롬프트 처리(pp)는 456.05 t/s를 기록했고, 텍스트 생성(tg)은 43.26 t/s였습니다. 이는 제가 기대했던 것보다 훨씬 높은 수치입니다. 비록 7900 XTX의 최대 최고 속도를 따라가지는 못하지만, 속도가 믿을 수 없을 정도로 안정적이며 GPU 활용률이 장시간 동안 100%를 유지합니다. 정말 CUDA는 훨씬 더 성숙하다는 말이 나옵니다.
덧붙여, MTP를 비활성화하면 MTP 없이도 컨텍스트를 96k까지 확장할 수 있으며, pp 속도는 600+ t/s를 유지하고 tg 속도는 31 t/s로 떨어지는데, 이 역시 상당히 괜찮은 수준입니다.
| 시나리오 | 컨텍스트 창 | 프리필 (pp) | 생성 (tg) |
|---|---|---|---|
| MTP 초기 최고치 | 64k | 620 t/s | 50 t/s |
| ... |
결론
단점(Cons)
SPLIT_MODE_TENSOR는 현재 KV 캐시 양자화와 함께 사용할 수 없어 24GB가 다소 빠듯하게 느껴집니다. 하지만 이는 특정 분야의 요구사항이 아니며, 간단한 Q8 양자화만으로 컨텍스트를 128k / 192k까지 두 배로 늘릴 수 있습니다. 미래는 유망해 보입니다.
장점(Pros)
- 믿기지 않을 정도의 가성비(Value for money). 거주 지역에 따라 다르겠지만, RTX 3060 두 장은 400달러 정도로 저렴하게 구성할 수 있습니다.
- CUDA 생태계가 성숙해 있습니다. GPU 사용률(Utilization)이 긴 시간 동안 100%로 안정적으로 유지되며, 한 번 컴파일(Compiled)되면 지속적인 문제 해결(Troubleshooting) 없이 완벽하게 작동합니다. 마음이 편안합니다.
- 3060은 슬림한 폼 팩터(Form factor)를 가지고 있으며, 짧은 싱글 팬 또는 듀얼 팬 변형 모델을 사용할 수 있어 대부분의 ATX 및 mATX 메인보드와 케이스에 문제없이 호환됩니다.
추론 (Inferences)
- 약간 더 빠른 듀얼 16GB 카드(예: 4060 Ti, 5060 Ti)를 사용하면 아마도 훨씬 더 나은 결과를 얻을 수 있겠지만, 가성비(Price-to-performance ratio)는 떨어질 것입니다. 다시 말하지만, CUDA는 더 나은 활용도(Utilization)를 제공합니다. 이런 방식으로 32GB를 확보하는 것은 예를 들어 성능이 제한된 AI Pro R9700보다 훨씬 빠르면서도 비용은 여전히 더 적게 들 것입니다.
기타 참고 사항 (Other Notes)
- vLLM도 짧게 시도해 보았으나, VRAM 제약이 있는 시나리오에 최적화가 잘 되어 있지 않은 것 같으며 무엇을 해도 OOM(Out of Memory) 오류가 계속 발생했습니다. 게다가 vLLM은 시작하는 데 시간이 너무 오래 걸려 디버깅(Debugging)이 고통스러웠기에, 더 이상 건드리지 않기로 했습니다.
부록 (Appendix)
상세 설정 (Detailed Configuration):
--no-mmproj-offload \
-dev CUDA0,CUDA1 -sm tensor -ts 1,1 \
--fit off \
--host 0.0.0.0 --port "$PORT" \
-t 0 -ngl 99 -np 1 \
--kv-unified --flash-attn on --ctx-size 64000 \ # 또는 96000
--spec-type draft-mtp --spec-draft-n-max 1 \ # 또는 이 줄을 제거
-rea on \
--temp 0.6 --top-k 20 --top-p 0.95 --min-p 0.0 --repeat-penalty 1.0 --presence-penalty 0.0
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기