블로그로 돌아가기

vLLM은 GGUF를 실행할 수 있을까? 가능하다, 단 GPU에서만

2026년 9월 23일

지난주 한 독자가 물었다. GPU 없는 머신의 vLLM에서는 GGUF 파일이 실패하는데, 같은 파일이 Ollama에서는 멀쩡히 돌아가는 이유가 뭔가, 하고. 답부터 짧게: 가능합니다. vLLM은 GGUF를 실행한다 — 공식 플러그인을 통해, GPU에서만. 플러그인 이름은 vllm-gguf-plugin, 문법은 repo:quant_type입니다. CPU에서 시도하는 순간 지원 하드웨어 표 밖으로 나갑니다. 이하 내용은 전부 vLLM 공식 문서와 vllm-project/vllm 저장소 기록(2023년 2월 이후 9만2천+ 스타)에서 왔고, 제 벤치머시의 이야기가 아닙니다.

GGUF 모델을 vLLM으로 서빙하려면?

두 단계입니다. 플러그인을 설치하고, vLLM을 모델에 향하게 한다. GGUF 지원은 더 이상 vLLM 코어 안에 살지 않습니다 — 문서는 ”vllm-gguf-plugin으로 이전했다”고 적시하고, 단순한 pip install vllm으로은 부족합니다:

uv pip install vllm-gguf-plugin

# Hugging Face에서 바로, repo_id:quant_type 형식으로:
vllm serve unsloth/Qwen3-0.6B-GGUF:Q4_K_M 
  --tokenizer Qwen/Qwen3-0.6B

# 또는 이미 받아둔 로컬 파일:
vllm serve ./Qwen3-0.6B-Q4_K_M.gguf 
  --tokenizer Qwen/Qwen3-0.6B

--tokenizer 플래그는 장식이 아닙니다. 공식 문서는 베이스 모델의 토크나이저를 쓰라고 권합니다. GGUF 토크나이저 변환이 “시간이 오래 걸리고 불안정하며, 어휘가 큰 모델에서 특히 그렇다”기 때문입니다. 이를 건너뛰는 것은 한 줄 플래그를 길고 변덕스러운 시작과 바꾸는 일입니다.

GPU 두 장, 모델 하나: --tensor-parallel-size 2를 붙이면 같은 GGUF를 두 카드에 나눠 실습니다. 텐서 병렬화는 GGUF에서도 다른 형식과 똑같이 동작합니다.

vLLM은 왜 CPU에서 GGUF를 거부하는가?

의외인 부분이 바로 여기입니다. GGUF의 평판은 CPU 퍼스트입니다 — llama.cpp가 노트북과 라즈베리파이 위에서 이름을 쌓은 바로 그 형식이죠. 그런데 vLLM 안에서는 상황이 뒤집힙니다. 공식 하드웨어 호환표의 GGUF 행은 이렇습니다:

하드웨어vLLM에서의 GGUF
NVIDIA Volta / Turing / Ampere / Ada / Hopper지원
AMD GPU지원
Intel GPU미지원
x86 CPU미지원
Arm CPU미지원

출처: vLLM 양자화 문서. 이유는 아키텍처에 있습니다. vLLM의 GGUF 경로는 블록을, 배치 서빙을 위해 만들어진 GPU 커널로 역양자화합니다. 그 뒤에 CPU 커널은 없습니다. vLLM은 서빙 엔진이지 노트북 장난감이 아니기 때문입니다. GPU가 없는 머신에서는 어떤 플래그도 구해주지 않습니다 — llama.cpp를 쓰십시오.

무엇이 깨지는가: 한계에 대한 정직한 목록

같은 문서 페이지에는 그대로 인용할 가치가 있는 경고가 있습니다: “vLLM의 GGUF 지원은 고도로 실험적이고 최적화가 부족합니다” 구체적으로는:

  • 양자화 지원 폭이 llama.cpp보다 좁습니다. 모두가 내려받는 K-quant(Q4_K_M 등)는 동작하지만, 이색 스킴은 늘 그렇지 않습니다. 형식의 레퍼런스 구현은 여전히 llama.cpp입니다.
  • 아키텍처 지원은 뒤따라옵니다. 새 모델 계열은 먼저 llama.cpp에 착지하고, 플러그인이 그다음입니다.
  • mmap식 지연 로딩이 없습니다. llama.cpp는 파일을 메모리에 매핑하지만, vLLM은 일반 체크포인트처럼 로드합니다.
  • 근본적으로는 메모리 풋프린트 기능입니다. 문서는 GGUF를 VRAM 사용량을 줄이는 수단으로 프레임하지, 처리량 플레이로 보지 않습니다.

이 중 하나도 숨겨져 있지 않습니다. 전부 공식 GGUF 페이지 첫 문단에 있습니다 — 대부분의 실험적 기능이 주는 것보다 많은 정직함입니다.

GGUF라면, vLLM과 llama.cpp 중 누가 이기나?

같은 파일을 읽는, 다른 도구들입니다:

vLLM + GGUFllama.cpp
CPU 추론불가가능, 일급
동시 사용자continuous batching, 그러라고 만든 것제한적
양자화 지원 폭부분 집합, 실험적레퍼런스
설치vLLM + 플러그인바이너리 하나
최적GPU 한 장, 사용자 다수사용자 하나, 하드웨어 무관

GPU 한 장으로 팀에 모델을 서빙한다면, vLLM + GGUF로 local-LLM 세계가 공유하는 같은 Q4_K_M 파일을 재활용할 수 있습니다 — 더 많은 선택지는 GGUF 양자화 가이드에서. 엔진 전체 비교는 llama.cpp vs OllamaGGUF 모델을 로컬에서 실행하는 법을 참고하십시오.

한 줄 규칙: 같은 파일, 정반대의 본능 — llama.cpp는 GGUF을 그 형식 자체로 대하고, vLLM은 선택지 하나로 대한다.

FAQ

vLLM은 GGUF 모델을 실행할 수 있나요?

네. vllm-gguf-plugin을 설치하고 repo:quant_type 문법으로 serve하면 됩니다 — 단 GPU에서만요. vLLM의 CPU 경로는 GGUF를 지원하지 않습니다.

vLLM은 CPU에서 GGUF를 실행할 수 있나요?

아니요. 공식 하드웨어 호환표는 GGUF를 x86·Arm CPU에서 미지원으로 표시합니다 — CPU 경로는 llama.cpp나 Ollama의 몫입니다.

GGUF 서빙은 vLLM과 llama.cpp 중 무엇으로?

한 장의 GPU로 여러 동시 사용자를 감당해야 하면 vLLM. GPU가 없는 장비거나 가장 넓은 양자화 지원이 필요하면 llama.cpp입니다.

— mrsaynothing

— mrsaynothing

AI, Linux, 셀프 호스팅 필드 노트.

다음 how-to를 이메일로 받아보세요

포스트당 한 통. 고치고 넘어가세요.

self-hosted · 제3자 없음 · 원클릭 구독 해지

이게 뭔가요?

데스크톱의 128k 컨텍스트는 거짓말이다. KV 캐시가 먹어치웠다.

글이 마음에 드셨나요? 제 본업이 바로 이런 일입니다. 저를 고용하세요