지피지기 백전백퇴

RTX 4090에 Qwen3.6 27B 세팅하기


서론

한동안 카카오님의 은총으로 두달간 저렴한 가격으로 ChatGPT 프로 모델을 물쓰듯 썼지만 어쨌든 종말을 맞았다. 이렇게 된 김에 한동안 멀리 떨어져 살았던 Claude Pro 구독으로 다시 돌아와 봤는데, 5시간 쿼터가 단 쿼리 3개만에 멸-망하는 모습을 보여줬다.

한달 구독이니 한달뒤에 다시 OpenAI 프로 구독을 한다 쳐도 어쨌든 20달러 클로드 구독으로 한달은 버텨야 하는 상황이다. 킹쩔수없이 무지성 코딩은 로컬 모델로 때워보자 하고 오랜만에 llm-daemon 코드를 다시 열어보게 되었다…

삽질

적당히 업데이트도 해주고 설정도 몇개 추가해주고 여기저기 기름칠 좀 해서 Qwen3.6 27B 모델을 돌렸다. 참고로 이 블로그 글도 초안은 Qwen으로 작성했다.

from bihyung import daemon_from_hf, _server_path

daemon = daemon_from_hf(
    # "bartowski/google_gemma-4-E2B-it-GGUF:Q4_K_M", # working
    # "bartowski/Qwen_Qwen3.6-27B-GGUF:Q4_K_M", # Gibberish
    "unsloth/Qwen3.6-27B-GGUF:UD-Q4_K_XL",
    _server_path,
    [ "--temp", "0.6", "--top-p", "0.95", "--top-k", "20", "--presence_penalty", "1.5", "--min-p", "0.00",
      "-ngl", "99", "-fa", "1", "-c", "131072",
      "--cache-type-k", "q4_0", "--cache-type-v", "q4_0" ],
)
daemon.__enter__()
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 595.71.05              Driver Version: 595.71.05      CUDA Version: 13.2     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4090        Off |   00000000:01:00.0  On |                  Off |
| 72%   58C    P2            250W /  250W |   21974MiB /  24564MiB |     97%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A             924      G   Hyprland                                150MiB |
|    0   N/A  N/A             977      G   Xwayland                                 15MiB |
|    0   N/A  N/A            1456      G   /usr/lib/firefox/firefox                253MiB |
|    0   N/A  N/A            1958      G   alacritty                                30MiB |
|    0   N/A  N/A            6439      G   alacritty                                59MiB |
|    0   N/A  N/A           28530      G   alacritty                                30MiB |
|    0   N/A  N/A           29633      C   ...daemon/bihyung/bihyung/server      21216MiB |
+-----------------------------------------------------------------------------------------+

Pi-coding-agent에서 OpenAI 호환 endpoint를 설정하고, bihyung으로 구동시킨 llama.cpp server를 뒤에서 돌리도록 했다. 당장은 귀찮아서 별도 스크립트로 서버를 띄우긴 했는데 사실 pi-coding-agent를 적당히 감싸서 llm-daemon을 띄우도록 하면 daemon의 처음 취지에 맞게 agent 구동시에만 GPU를 사용하도록 할 수도 있다.

왜 Qwen3.6 27B인가?

Qwen3.6 27B는 현재 로컬에서 돌릴 만한 모델 중 성능/크기 비율이 매우 좋은 후보입니다. 4090의 24GB VRAM으로는 FP16(약 54GB)은 불가능하지만, GGUF 양자화(Q4_K 계열)로 압축하면 GPU에 충분히 실립니다.

이런저런 Quant 버전을 써 봤는데 일단 Unsloth 버전에서 동작이 돼서 이걸로 했다.

다만 왜 bartowski 버전은 비정상으로 작동하는지 직접적인 원인을 규명하진 못했다. CUDA 버전도 낮추고 컴파일러도 변경하는 등의 이런저런 시도가 있었고, 그중 하나가 들어맞은 것일수도.

주요 파라미터 해설

파라미터설명
-ngl99모든 레이어를 GPU에 올림 (4090 필수)
-fa1Flash Attention 활성화 — 메모리 효율 + 속도 향상
-c131072컨텍스트 길이 128K 토큰
--cache-type-k/vq4_0KV 캐시를 Q4 양자화
--temp0.6온도 낮게 — 일관된 출력
--presence_penalty1.5반복 방지 (높은 값으로 설정)

KV 캐시 양자화(q4_0)가 핵심입니다. 일단 이 설정으로 하면 브라우저 띄워놔도 메모리 사용량 <22GB 정도로, 2500MiB 정도의 여유공간이 남는다.

실행

cd /srv/llm-daemon
python example_server.py

첫 실행 시 모델이 HuggingFace에서 자동으로 다운로드됩니다. UD-Q4_K_XL은 약 16GB 정도의 용량입니다.

결론

하지만 한참 작업하고 나자 X댐을 감지한 앤스로픽이 X.com 오너 일론 머스크랑 짝짜꿍을 해서 사용량 쿼터를 x2배로 늘려줬다. 씨X…