집에서 LLM을 구동해보자 ! – Local LLM 구축 (2) 로컬 LLM 구동 도구 리서치

안녕하세요, 프롬토리입니다.

이번 포스팅은 Local LLM 구축 두 번째 시간인, 로컬 LLM 구동 도구 리서치 입니다. 앞서 첫 번째 포스팅에서는 Local LLM 구축&사용 목적과 사양에 대해 다뤘었죠? 이번에는 로컬 LLM 구동 도구에는 어떤 것들이 있는지, 최종적으로는 어떤 것을 선택하여 사용하게 되었는지에 대해 자세히 다뤄보겠습니다. 그럼 시작할게요!

1. 로컬 LLM 구동 도구

로컬 LLM 구동 도구에는 크게 잘 알려진 3가지가 있습니다. 바로 Ollama, Llama.cpp, LM Studio인데요. 1번 헤딩에서는 이 세 가지 도구에 대해 정리하겠습니다.

1.1 Ollama

개요

Ollama는 Go로 작성된 오픈소스 Local LLM 런타임으로, 모델을 이미지로 가져오고 구동 및 관리하는 Docker와 유사한 방식으로 동작합니다. 내부적으로 추후 설명할 Llama.cpp를 감싸 단일 명령어 인터페이스를 제공하고, 모델 다운로드/양자화 선택 등을 자동 처리합니다.

특징

  • 설치 후 모델을 pull해서 실행하면 localhost:11434에 OpenAI 호환 REST API가 노출되어, 기존 OpenAI SDK 코드를 base URL 한 줄만 바꿔 그대로 붙일 수 있습니다.
  • 2026년 1월부터는 Anthropic 메시지 포맷 엔드포인트(api/anthropic/v1/messages)도 함께 노출합니다.
  • 모델을 콘텐츠 주소 기반 블롭으로 다운로드해, 베이스 레이어를 공유하는 모델끼리는 캐시를 재사용합니다(대역폭·디스크 절약).
  • Modelfile(Dockerfile 같은 개념)로 커스텀 모델 정의 및 Hugging Face의 GGUF 임포트가 가능합니다.
  • 2026년에는 :cloud 접미사를 붙이면 로컬 대신 Ollama 자체 인프라로 라우팅되는 하이브리드 클라우드, 코딩 에이전트를 한 번에 띄우는 ollama launch 명령 등이 추가됐습니다.

장점

  • 설치·실행이 가장 쉽고, 헤드리스 서버·자동화·Docker 배포에 자연스럽습니다.
  • 생태계 통합이 타의 추종을 불허합니다. 거의 모든 로컬 AI 도구가 Ollama를 지원합니다(Open WebUI, Continue, LangChain 등).
  • macOS·Linux·Windows 모두 지원하며, 2026년에는 Windows ARM64 네이티브 빌드도 추가됐습니다.

단점

  • PagedAttention이나 continuous batching이 없어, 동시 요청이 5~6개를 넘으면 P99 지연이 급등합니다. 따라서 팀/프로덕션 다중 사용자 환경엔 vLLM이 적합합니다.
  • GGUF 외 포맷이 필요하거나 동시 사용자가 많아지면 다른 도구로 옮겨야 하는 명확한 한계가 있습니다.
  • Llama.cpp를 감싸는 래퍼 특성상 직접 Llama.cpp를 사용하는 것보다 항상 약간 느립니다.

1.2 Llama.cpp

개요

추론 엔진의 근본! 순수 C/C++로 외부 의존성 없이 작성됐고 GGUF 모델 포맷을 중심으로 사실상 어떤 하드웨어에서도 구동됩니다. GGUF(GPT-Generated Unified Format)는 가중치·토크나이저 설정·아키텍처 정보·양자화 파라미터를 하나의 이식 가능한 단일 파일로 묶은 포맷으로, 이제 로컬 모델 배포의 표준입니다. (이걸 Ollama에서 써보려다가 고생한건 다음에 공유하도록 함)

특징

  • 하드웨어(CPU 기능, GPU)를 자동 감지해 SIMD 명령어와 GPU 커널로 최적 실행 경로를 구성하고, 프로세서에 맞는 양자화 커널을 자동 선택합니다.
  • llama-server로 OpenAI 호환 API를 제공합니다. 즉, 단순 라이브러리가 아니라 그 자체로 완결된 추론 백엔드입니다(llama-cli는 대화형 CLI).
  • K-퀀트, I-퀀트(중요도 행렬 기반) 등 세밀한 양자화 옵션으로 레이어별 정밀도 조정까지 가능합니다. 즉 Ollama/MLX보다 훨씬 세밀한 제어가 가능합니다.
  • GBNF 문법 기반 구조적 출력(JSON 강제 등), 브라우저 WebGPU 지원 등 새 기능이 가장 먼저 도착하는 곳입니다.

장점

  • Raspberry Pi, 오래된 Xeon, Mac mini까지 거의 항상 구동 가능 여부가 “예”가 되는 이식성이 핵심입니다.
  • C/C++ + SIMD 최적화 덕분에 특히 CPU에서 파이썬 프레임워크 대비 약 3~8배 빠른 추론을 보입니다.
  • 새 모델 아키텍처 지원이 가장 빠르고, 오버헤드가 가장 낮습니다.

단점

  • 가장 로우레벨이라 플래그·빌드·GGUF 변환을 직접 다뤄야 해 진입 장벽이 높습니다.
  • 수평 확장이 안 되는 단일 노드 서버라, 동시 사용자가 많아지면 GPU 최적화 서버보다 처리량이 낮아 금방 한계에 부딪힙니다.
  • 공식 모바일 SDK가 없어 iOS/Android 배포엔 추가 작업이 필요합니다.

1.3 LM Studio

개요

macOS·Windows·Linux를 지원하는 데스크톱 앱으로, Hugging Face의 GGUF 모델을 다운로드하고 GUI로 설정한 뒤 OpenAI SDK 호환 로컬 API 서버를 구동합니다. llama.cpp와 Apple MLX 양쪽 런타임을 쓰며, localhost:1234에 OpenAI 호환 API를 띄웁니다.

특징

  • 내장 모델 브라우저가 핵심 — 앱 안에서 Hugging Face를 검색하고, 다운로드 전에 파일 크기·양자화 레벨·예상 VRAM 사용량까지 보여줍니다. 대부분의 경쟁 도구가 URL을 직접 찾아 붙여넣게 하는 것과 대조적입니다.
  • 내장 채팅 UI, 드래그앤드롭 문서 채팅(RAG), MCP 서버 연동(MCP 클라이언트)을 갖췄습니다.
  • 2026년 1월 0.4.0에서 서버·CI용 순수 헤드리스 모드 llmster가 추가되고, llama.cpp 병렬 슬롯 기반 continuous batching(연속 배치 처리)이 들어와 다중 동시 요청 처리가 가능해졌습니다(이후 MLX 엔진으로도 확장).
  • Tailscale와 제휴한 LM Link로 종단간 암호화된 크로스 디바이스 모델 접근, Python·TypeScript SDK를 제공합니다.

장점

  • dmg/.exe 단일 파일로 배포하기 쉬워, 터미널을 모르는 혼합 청중 대상 워크숍·데모에 훨씬 유리합니다. 5분 안에 채팅이 돌아갑니다.
  • Apple Silicon에서 MLX 백엔드가 Ollama의 GGUF 경로를 크게 앞서며, M3 Ultra에서 Gemma 3 1B 기준 LM Studio 237 tok/s 대 Ollama 149 tok/s로 약 59% 차이를 보였습니다.
  • Vulkan 지원이 좋아 내장 GPU(AMD APU, Intel Arc)에서 Ollama의 CUDA 위주 경로보다 나은 경우도 많습니다.

단점

  • NVIDIA 환경에선 상황이 역전되어, Ollama가 프로세스 메모리 ~100MB 대 LM Studio GUI ~500MB로 오버헤드가 낮고 추론 전용 시나리오에서 10~20% 더 빠릅니다.
  • Linux 빌드는 2026년 초 기준 아직 “베타” 딱지가 붙어 있고, macOS는 Apple Silicon 전용입니다.

2. 선택한 도구

그래서 무얼..선택했냐고요? 저는 일단 Ollama를 선택했습니다. 추후 GGUF 사용, 컨텍스트 길이 등 사양 개인화 작업 등 세부적인 설정을 위해 Llama.cpp를 추가할 예정이지만, 일단은 아래와 같은 세 가지 이유로 Ollama를 선택했어요.

  1. Windows에서 잘 작동할 것
  2. 원래 달성하려고 한 목적인 에이전틱 코딩 + 일상 업무 환경을 한 번에 쉽게 설정할 수 있을 것
  3. (학습하며 구축하는 초기 단계이기 때문에) 양자화를 깊게 고민하지 않을 것

그래서 이후 포스팅은 1) Ollama를 활용한 에이전틱 코딩 환경 설정 2) Llama.cpp로 스텝업 하는 순서로 작성해보겠습니다. 오늘도 긴 포스팅 읽어주셔서 감사합니다!

레퍼런스

댓글 남기기