꽤 괜찮은 Qwen3.8 27B 설정 공유, 도움 되길 바람
Here my pretty good qwen3.8 27B setup, hope it helps
핵심 요약
7900XTX 환경에서 Qwen3.8 27B 모델을 효율적으로 구동하기 위한 하드웨어 및 소프트웨어 설정 공유.
- 하드웨어 구성 — 8700G CPU와 24GB VRAM의 7900XTX를 활용한 로컬 LLM 환경 구축함
- 최적화 설정 — MTP 및 spec-draft-p-min 파라미터 조정을 통해 22~40 t/s의 속도 확보함
- 소프트웨어 스택 — llama-swap과 systemd를 사용하여 모델 서버를 안정적으로 관리함
- 오픈코드 연동 — Playwright를 포함한 MCP 설정으로 AI 에이전트 기능을 확장함
어차피 돈도 안 되는 거, 시간 들여서 알아낸 김에 내가 대충 짜깁기한 거 공유 좀 할게.
일단 내 하드웨어랑 소프트웨어 스택부터 깔고 시작함:
OS: Debian 13
CPU: 8700G
GPU: 7900XTX (이건 다른 7900XTX랑 똑같이 VRAM 24GB임)
시스템 램도 당연히 있긴 한데, 이 설정에선 램을 거의 안 건드려서 굳이 언급 안 함.
예전에 Qwen3.6-27B로 비슷한 짓 해봤는데, 왜 그렇게 느려 터졌는지 도저히 모르겠더라고. MTP 때문인가 싶기도 한데, 이번 설정으로 해결된 듯함.
그래서...
양자화는 unsloth의 Qwen3.8-27B-UD-IQ4_XS.gguf를 골랐어. 여유 좀 두려고. 별다른 설정 없이도 22~30 t/s 정도 나오는데, 이 정도면 꽤 괜찮지.
참고로 UD 접두사가 붙은 게 뭔지 정확히는 모르겠는데, unsloth가 처음에 내놓은 것보다 나중에 나온 거라 꽤 중요한 역할을 하는 것 같아. 일반 버전보다 용량도 작으니까 새로 받는 거 추천함.
예전에 MTP 쓸 때 다들 엄청 빨라진다고 난리였는데 나만 개판이라 진짜 골치 아팠거든. 긴 대화로 넘어가면 바로 맛이 가버리더라고. 그래서 챗GPT한테 llama-server 문서 좀 뒤져보라고 시켰지. 솔직히 자기 전에 문서 읽는 건 딱 질색이라. 그랬더니 --spec-draft-p-min 옵션을 찾아주더라. 이게 여기서 꽤 큰일을 함. 신뢰도가 임계값보다 낮으면 MTP를 바로 쳐내거든. 이것저것 건드려봤는데 지금 설정한 값이 딱인 듯.
마지막으로 흥미로운 거 하나 더. KV 캐시 양자화를 다시 시도해 봤는데, 예전엔 툭하면 뻗더니 이젠 멀쩡하네. 아무튼 요약하자면 3 long MTP는 잘 돌아가는 것 같아. 작업 환경에 따라 알아서 조절해 봐. 난 Vue UI 빌드하는 걸로 "벤치마크" 돌려봤는데, 내 생성 작업이 워낙 뻔하고 흔한 거라 모든 상황을 대변하진 못할 수도 있음.
마지막으로 내가 llama-swap 안에서 쓰는 llama-server 명령어는 이거야:
macros:
models_dir: "${env.HOME}/.local/share/llama-swap/models"
llamasrv: "${env.HOME}/.local/bin/llama-server"
models:
qwen3.8:
cmd: >
${llamasrv}
--port ${PORT}
-c 140000
--parallel 1
--model ${models_dir}/qwen3.8/Qwen3.8-27B-UD-IQ4_XS.gguf
--mmproj ${models_dir}/qwen3.8/mmproj-F16.gguf
--model-draft ${models_dir}/qwen3.8/mtp-Qwen3.8-27B-Q4_0.gguf
--spec-type draft-mtp
--spec-draft-n-max 3
--spec-draft-p-min 0.70
--spec-draft-ngl all
--cache-type-k q8_0
--cache-type-v q8_0
--spec-draft-type-k q8_0
--spec-draft-type-v q8_0
--flash-attn on
-ngl 999
capabilities:
context: 128000
실행하면 VRAM을 22.1GB 정도 거의 꽉 채워 먹어. VRAM이 좀 더 필요하면 컨텍스트 사이즈를 줄이거나 더 낮은 양자화 모델을 써봐. 그럼 블렌더나 AI 기반 게임 같은 거 돌릴 여유는 좀 생길 거야. (난 소프트웨어 개발자라 이 설정으로 코딩만 함. 게임은 어차피 잘 안 만들고, 만들어도 퀄리티가 구려서... AI랑 게임을 동시에 돌릴 일도 별로 없음.)

