research

16GB VRAM 추론 모델 비교 (2026년 3월 기준)

16GB VRAM 추론 모델 비교 (2026년 3월 기준)

Naran 프로젝트 핵심 추론 엔진 선택을 위한 HuggingFace 모델 비교. 중국 모델 포함, 양자화 포함.


후보 모델 요약표

| 모델 | 출처 | HF ID | VRAM (Q4_K_M) | Tool Call | Reasoning | |------|------|-------|---------------|-----------|-----------| | gpt-oss-20b | OpenAI 🇺🇸 | openai/gpt-oss-20b | ~14GB (MXFP4) | ⚠️ Harmony/Ollama XML | ✅ o3-mini 수준 | | Qwen3-14B | Alibaba 🇨🇳 | Qwen/Qwen3-14B-GGUF | Q4_K_M ~9GB | ✅ 표준 OpenAI 포맷 | ✅ thinking/no-thinking 전환 | | DeepSeek-R1-0528-Qwen3-8B | DeepSeek 🇨🇳 | deepseek-ai/DeepSeek-R1-0528 | Q4_K_M ~5GB | ⚠️ llama.cpp --jinja만 안정 | ✅ Qwen3-235B-thinking과 동급 | | DeepSeek R1 Distill Qwen 14B | DeepSeek 🇨🇳 | deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | ~9-10GB | ⚠️ 불안정 | ✅ 수학/순수 추론 특화 |


모델별 상세

Qwen3-14B (권장)

HuggingFace: Qwen/Qwen3-14B-GGUF 라이선스: Apache 2.0

GGUF 퀀트별 크기: | 퀀트 | 크기 | 비고 | |------|------|------| | Q4_K_M | 9GB | 기본 선택 | | Q6_K | 12.1GB | 권장 (context 여유) | | Q8_0 | 15.7GB | 최고 품질, OOM 주의 |

특징:

  • /think, /no_think 명령어로 per-turn thinking 모드 전환 가능
  • 표준 OpenAI function calling 포맷 지원 → Harmony 포맷 불필요
  • llama.cpp, Ollama, vLLM, LM Studio 모두 지원
  • 한국어 포함 다국어 우수
  • context 최대 32K (YaRN 활성화 시 128K)

Ollama 사용법:

ollama run qwen3:14b
# thinking 비활성화
# /no_think 를 프롬프트에 추가

DeepSeek-R1-0528-Qwen3-8B

HuggingFace: deepseek-ai/DeepSeek-R1-0528 (Qwen3-8B 증류 버전) GGUF: unsloth/DeepSeek-R1-0528-GGUF 라이선스: MIT

특징:

  • DeepSeek R1-0528의 CoT를 Qwen3-8B Base에 증류
  • AIME 2024에서 Qwen3 8B 대비 +10%, Qwen3-235B-thinking과 동급
  • VRAM이 작아서 여유 있게 운영 가능

Tool call 현황:

  • llama.cpp --jinja 플래그 → 동작 (chat template 기반)
  • Ollama → "does not support tools" 에러 빈발, 미안정
  • vLLM/SGLang PR 있음, 점진적 안정화 중

DeepSeek R1 Distill Qwen 14B

HuggingFace: deepseek-ai/DeepSeek-R1-Distill-Qwen-14B 라이선스: MIT

벤치마크:

  • Math 500: 94.9%
  • AIME: 66.7%
  • IFBench(instruction following): 낮음 (0.221)

수학/순수 추론에서 강하지만 instruction following과 tool call 안정성이 떨어짐. 복잡한 agentic 시나리오에는 프롬프트 엔지니어링이 많이 필요함.


Naran 적용 판단

추론 품질:     gpt-oss-20b > Qwen3-14B Q6_K ≈ DeepSeek-R1-Qwen3-8B
Tool Call:     Qwen3-14B >> gpt-oss-20b(Ollama XML) >> DeepSeek 계열
설정 단순성:   Qwen3-14B > DeepSeek > gpt-oss-20b
한국어:        Qwen3-14B > gpt-oss-20b(영어 중심) > DeepSeek
VRAM 여유:     DeepSeek-R1-Qwen3-8B(5GB) > Qwen3-14B Q4(9GB) > gpt-oss-20b(14GB)

결론:

  • 중국 모델 허용 시: Qwen3-14B Q6_K — tool call 안정, reasoning, 한국어, context 여유 모두 균형
  • 미국 모델만 허용 시: gpt-oss-20b — vLLM 방식으로 tool call 안정화
  • 추론 전용(tool call 불필요): DeepSeek-R1-0528-Qwen3-8B — 8B에서 최강 reasoning

관련 노트


실험 결과 업데이트 (2026-03-25)

Qwen3.5-35B-A3B (llama.cpp)

  • 간단한 search tool call 성공 확인
  • 16GB VRAM에서 llama.cpp로 동작 확인 (CPU 오프로드 활용)
  • 기본 function calling 파이프라인 검증됨

→ Naran 핵심 엔진 후보로 유효. multi-step tool call 안정성은 추가 테스트 필요. → -ngl 값(GPU 레이어 수) 기록하고 interactive 속도 확인 권장.


Unsloth 공식 문서 분석 (2026-03-25)

출처: https://unsloth.ai/docs/models/qwen3.5

메모리 요구사항 (RAM + VRAM 합산)

| 모델 | 3-bit | 4-bit | 6-bit | |------|-------|-------|-------| | 9B | 5.5GB | 6.5GB | 9GB | | 27B | 14GB | 17GB | 24GB | | 35B-A3B | 17GB | 22GB | 30GB |

→ 16GB VRAM 단독: 9B만 완전 GPU. 35B-A3B는 CPU 오프로드 필수.

핵심 제약사항

  • Ollama 미지원: 별도 mmproj-F16.gguf 비전 파일 때문에 Ollama 불가. llama.cpp만 가능.
  • Tool call 버그 픽스: 3월 5일 업데이트로 chat template 버그 수정. 이전 다운로드는 재다운로드 필요.
  • Thinking 기본값: 35B/27B는 기본 ON, 9B/소형 시리즈는 기본 OFF.

권장 퀀트

  • 35B-A3B: UD-Q4_K_XL (Dynamic 2.0, 중요 레이어 8/16bit upcasting)
  • Non-thinking tool call 모드: --chat-template-kwargs '{"enable_thinking":false}'

llama-server 실행 (tool call, non-thinking)

./llama.cpp/llama-server \
    --model Qwen3.5-35B-A3B-UD-Q4_K_XL.gguf \
    --mmproj mmproj-F16.gguf \
    --alias "qwen3.5-35b" \
    --temp 0.7 --top-p 0.8 --top-k 20 \
    --ctx-size 16384 \
    --port 8001 \
    --chat-template-kwargs '{"enable_thinking":false}'

Naran 선택 기준

  • 백그라운드 자동화 위주 → 35B-A3B (품질 우선)
  • UI 인터랙션 위주 → 9B (속도 우선, VRAM 여유 9GB)