22GB VRAM으로 개조된 RTX 2080 Ti 2개로 Qwen3.6 27B 모델 초당 38토큰 구동하기
2 old RTX 2080 Ti with 22GB vram each Qwen3.6 27B at 38 token/s with f16 kv cache
핵심 요약
22GB로 개조된 RTX 2080 Ti 2개를 활용해 Qwen3.6 27B 모델을 초당 38토큰 속도로 구동하는 설정과 팁을 공유합니다.
- 하드웨어 설정 — 22GB VRAM으로 개조된 RTX 2080 Ti 2개를 150W 전력 제한으로 구동함.
- 성능 최적화 — split-mode tensor 옵션 적용으로 토큰 생성 속도를 14t/s에서 38t/s로 대폭 향상함.
- 안정성 확보 — KV 캐시를 f16으로 설정하여 긴 코딩 세션에서도 모델 루프 현상을 방지함.
- 비용 효율성 — 1,000달러 미만의 예산으로 고성능 LLM 추론 환경을 구축함.
두 카드 모두 전력 제한을 150W로 걸어뒀다는 점을 명심하세요(소음이 너무 싫어서요).
현재 제 설정을 공유합니다. 다른 분들께 도움이 될지도 모르겠네요.
services:
llama-server:
image: ghcr.io/ggml-org/llama.cpp:full-cuda12-b9128
container_name: llama-server
restart: unless-stopped
ports:
- "16384:8080"
volumes:
- ./models:/models:ro
command: >
--server
--model /models/Qwen3.6-27B-IQ4_XS-uc.gguf
--alias "Qwen3.6 27B"
--temp 0.6
--top-p 0.95
--min-p 0.00
--top-k 20
--port 8080
--host 0.0.0.0
--cache-type-k f16
--cache-type-v f16
--fit on
--presence-penalty 1.32
--repeat-penalty 1.0
--jinja
--chat-template-file /models/Qwen3.6.jinja
--mmproj /models/Qwen3.6-27B-mmproj-BF16.gguf
--webui
--spec-default
--chat-template-kwargs '{"preserve_thinking": true}'
--reasoning-budget 8192
--reasoning-budget-message "... thinking budget exceeded, let's answer now.\n"
--split-mode tensor
user: "1000:1000"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
environment:
- NVIDIA_VISIBLE_DEVICES=all
이게 제 정확한 설정입니다. 아주 오래된 2080Ti GPU 2개를 중국에서 22GB VRAM으로 개조해서 쓰고 있고, 이베이에서 NVLink도 샀습니다(측정 가능한 차이가 없으니 구매는 추천하지 않습니다).
양자화는 IQ4_XS를 사용 중입니다.
KV 캐시를 q8_0으로 바꾸면 긴 코딩 세션 중에 모델이 루프에 빠지는 경우가 가끔 있어서, kv-cache를 f16으로 설정했더니 그 뒤로는 문제가 없습니다.
저는 hauhaucs의 Qwen3.6 uncensored 모델을 IQ4 매트릭스 양자화 버전으로 사용합니다.
이 카드들은 대역폭 제한이 아니라 연산 제한(compute bound) 상태라 MTP는 신경 안 쓰셔도 됩니다.
가장 큰 성능 향상은 --split-mode tensor 옵션에서 왔습니다. 덕분에 14t/s에서 38t/s로 빨라졌습니다.
전력 제한을 풀면 45t/s는 나올 것 같습니다.
--fit on 옵션도 생각 못 했던 건데, 항상 컨텍스트 길이를 수동으로 설정했었거든요. VRAM을 항상 95%씩 점유하는 건 좋은 생각이 아닌 것 같습니다. fit on을 쓰니 토큰 생성 속도도 약간 좋아졌습니다.


