로컬 LLM — LM Studio · llama.cpp · Ollama · vLLM
로컬 LLM — LM Studio · llama.cpp · Ollama · vLLM
대형 언어 모델을 자기 컴퓨터에서 직접 돌리려는 흐름이 2023 년부터 빠르게 자리 잡았습니다. 클라우드 API 만 쓰던 자리에 GGUF 같은 양자화 포맷, llama.cpp 같은 추론 런타임, LM Studio · Ollama · vLLM 같은 도구가 합쳐지며 노트북에서도 비교적 큰 모델을 굴릴 수 있게 됐습니다.
1. 도구들에 대한 이야기
llama.cpp — Georgi Gerganov 가 2023 년 3 월 공개한 C/C++ 추론 런타임. Meta 의 LLaMA 가중치를 CPU 에서 굴릴 수 있게 만든 것이 시작. 이후 GPU 가속 (CUDA · Metal · Vulkan · ROCm), 다양한 모델군, GGUF 포맷 표준화로 영역이 넓어졌습니다. 다른 도구 다수가 내부 엔진으로 llama.cpp 를 씁니다.
LM Studio — Element Labs 가 2023 년 공개한 데스크탑 앱. Windows · macOS · Linux 에서 GUI 로 모델을 검색·내려받고 추론을 띄울 수 있습니다. 내부적으로 llama.cpp 와 MLX (Apple Silicon) 백엔드를 함께 씁니다. OpenAI 호환 로컬 서버 (http://localhost:1234/v1) 를 켜면 다른 앱이 그대로 붙는 점이 강점. 비상업적 사용은 무료, 상업 사용은 라이선스 정책 별도 확인.
Ollama — 2023 년 공개된 CLI 중심 도구. ollama run llama3.2 한 줄로 모델을 끌어와 띄우는 단순함. 자체 서버 (기본 127.0.0.1:11434) 와 OpenAI 호환 엔드포인트. Modelfile 모양이 Docker 와 닮아 있습니다.
vLLM — UC Berkeley Sky Computing Lab 이 2023 년 공개한 서빙 엔진. PagedAttention 이라는 KV 캐시 관리 기법으로 처리량을 끌어올렸습니다. 단일 사용자가 가벼운 추론을 돌리는 LM Studio · Ollama 와는 위치가 다릅니다 — 다수의 동시 요청 · 고처리량 서빙이 목적이고 GPU 가 사실상 전제.
2. GGUF 와 양자화
GGUF (GPT-Generated Unified Format) 는 GGML 의 후속으로 2023 년 8 월쯤 자리 잡은 포맷. 모델 가중치 + 메타데이터 (토크나이저 · 아키텍처) 를 한 파일에 담습니다. 양자화 (quantization) 는 가중치를 16/32 비트 부동소수점에서 더 적은 비트로 줄이는 기술.
| 표기 | 비트 수 | 메모 |
|---|---|---|
| Q2_K | 2~3 | 가장 작음 · 품질 손실 큼 |
| Q4_0 / Q4_K_M | 4~5 | 흔한 절충점 |
| Q5_K_M | 5~6 | 품질·크기 균형 |
| Q6_K | 6~7 | 품질 양호 |
| Q8_0 | 8 | 손실 작음 · 크기 절반 |
| F16 / BF16 | 16 | 풀-프리시전에 가까움 |
K 가 붙은 변형은 K-quants — 블록별 양자화로 같은 비트 수에서 품질 향상. _M · _S 는 medium · small.
3. 모델 크기 vs 메모리
7B 모델 기준 대략적인 RAM · VRAM 점유 (컨텍스트 길이 · KV 캐시에 따라 더 늘어남):
| 모델 크기 | F16 | Q4_K_M | Q8_0 |
|---|---|---|---|
| 7B | 약 13~14 GB | 약 4~5 GB | 약 7~8 GB |
| 13B | 약 24~26 GB | 약 7~8 GB | 약 13~14 GB |
| 70B | 약 130 GB+ | 약 38~42 GB | 약 70 GB+ |
정확한 수치는 모델·토크나이저·구현에 따라 달라지므로 모델 카드와 측정값을 참고합니다.
4. 추론 백엔드
- CUDA — NVIDIA GPU. 대부분 도구가 가장 잘 지원.
- Metal — Apple Silicon (M1/M2/M3/M4). 통합 메모리 (Unified Memory) 덕분에 시스템 RAM 의 큰 부분을 GPU 가 사용 가능.
- ROCm — AMD GPU. 지원이 점차 확장.
- Vulkan — 범용. 성능은 CUDA · Metal 보다 보통 낮음.
- CPU — 가장 느리지만 어디서나 동작.
5. 다른 도구
| 도구 | 위치 | 특징 |
|---|---|---|
| LM Studio | 데스크탑 GUI | 검색·내려받기·로컬 서버 한 화면. |
| Ollama | CLI · 백그라운드 데몬 | ollama run 으로 단순. |
| llama.cpp | 라이브러리 · 바이너리 | 가장 낮은 레이어. |
| Jan | 데스크탑 GUI | 오픈소스 LM Studio 대안. |
| GPT4All | 데스크탑 GUI | Nomic 주도 · 자체 모델 생태계. |
| vLLM | 서버 엔진 | 고처리량 · 멀티유저 · GPU 전제. |
| TGI | 서버 엔진 | Hugging Face 의 서빙 도구. |
| MLX | Apple Silicon 프레임워크 | Apple 이 2023 년 공개. |
| llamafile | 단일 실행 파일 | Mozilla 의 Justine Tunney. |
6. OpenAI 호환 서버
LM Studio · Ollama · vLLM 모두 OpenAI 호환 엔드포인트를 제공합니다. 클라이언트 코드를 거의 그대로 두고 base URL 만 바꾸면 됩니다.
export OPENAI_BASE_URL=http://localhost:1234/v1
export OPENAI_API_KEY=anything
윈도우 PowerShell 에서는 $env:OPENAI_BASE_URL = "...".
7. 모델 선택의 가닥
- 7~8B — 노트북·소비자 GPU 로 실용. 일반 대화·요약에 무난.
- 13~14B — 한 단계 위. 16 GB+ VRAM 권장.
- 30~34B — 24 GB+ VRAM 또는 통합 메모리 큰 Mac.
- 70B+ — 데이터센터급 또는 다중 GPU.
컨텍스트 길이와 KV 캐시 — 컨텍스트가 길어지면 모델 크기와 별도로 KV 캐시가 메모리를 점유합니다. 8k → 32k → 128k 로 늘릴수록 캐시 크기가 비례 이상으로 늘어 OOM 의 흔한 원인.
8. 자주 걸리는 자리
모델 라이선스 차이 — Llama · Gemma · Qwen · Mistral 모두 라이선스가 다릅니다. 상업적 사용·재배포 조건은 모델 카드에서 확인.
토크나이저 불일치 — GGUF 변환 과정에서 토크나이저 차이로 출력이 어긋나는 사례. 가능한 한 공식 변환본을.
양자화 한계 — Q2 · Q3 같은 저비트 양자화는 작은 모델에서 품질 손실이 두드러집니다. 큰 모델일수록 같은 비트 수에서 손실이 상대적으로 작다는 관찰.
GPU 메모리 + 시스템 메모리 분배 — GPU 에 다 못 올리면 일부가 CPU 로 떨어지면서 속도가 급격히 느려집니다.
드라이버·CUDA 버전 — NVIDIA 드라이버 · CUDA 버전이 도구가 기대하는 범위에서 어긋나면 GPU 가속이 빠진 채 실행됩니다.
로컬 서버를 외부에 노출 — 기본 바인딩은 보통 127.0.0.1. 외부 노출 시 인증·방화벽 따로 챙깁니다.
벤치마크와 체감의 차이 — 양자화 후의 실제 사용감은 짧은 벤치마크와 다를 수 있습니다. 자기 도메인 입력으로 직접 대조.
하고픈 말
로컬 LLM 은 비용 0 · 프라이버시 · 인터넷 독립이 매력입니다. 7B Q4_K_M 이 노트북·소비자 GPU 의 실용 출발점입니다. 큰 모델 + 큰 컨텍스트는 KV 캐시가 메모리를 결정하니 컨텍스트 길이를 도메인 요구만큼 줄이는 흐름이 표준입니다.
Next
- rag-pgvector
- prompt-design
llama.cpp GitHub · LM Studio · Ollama · vLLM · GGUF 명세 · Apple MLX · NVIDIA CUDA 를 참고합니다.