로컬 LLM이란? Ollama·LM Studio·llama.cpp 선택법과 메모리 계산
AI를 활용하여 생성한 이미지입니다.
인터넷 연결 없이 내 컴퓨터에서 AI 모델을 실행하는 로컬 LLM에 관심을 가지는 사람이 많아졌어요. 그런데 “모델을 다운로드하면 바로 ChatGPT처럼 쓸 수 있다”라고 생각하면 설치 뒤에 곧바로 벽을 만나요. 모델 파일을 저장할 공간, 추론에 필요한 메모리, 컨텍스트 길이, 그래픽 가속 방식, 모델 라이선스를 함께 봐야 하기 때문이에요.[2][3][7]
이 글은 2026년 9월 6일 확인한 공식 문서를 기준으로 로컬 LLM의 구조와 선택 기준을 정리해요. Ollama, LM Studio, llama.cpp를 비교하고, 모델 크기와 양자화가 메모리에 어떤 영향을 주는지 설명할게요. 실제 토큰 생성 속도·발열·응답 품질은 컴퓨터와 모델 설정에 따라 달라지므로 이 글에서 측정했다고 말하지 않아요.[2][3][7]
로컬 LLM은 무엇일까?
로컬 LLM은 모델의 가중치 파일을 내 컴퓨터에 내려받고, 로컬 실행 도구로 문장을 생성하는 방식이에요. 웹 서비스처럼 모델과 추론 서버가 전부 원격에 있는 구조와 달리, 적어도 모델 실행 과정의 일부를 사용자가 직접 관리해요. LM Studio도 모델을 메모리에 올린다는 것을 모델 가중치와 관련 파라미터를 컴퓨터 RAM에 할당하는 과정으로 설명해요.[9]
여기서 “로컬”과 “완전한 오프라인”은 같은 말이 아니에요. 이미 내려받은 모델로 채팅하는 과정은 인터넷 없이 진행할 수 있지만, 모델을 처음 다운로드하거나 업데이트·웹 검색·외부 API·원격 도구를 쓰면 네트워크가 필요해요. LM Studio는 오프라인 동작을 주요 기능으로 소개하지만, 사용자가 어떤 모델과 기능을 선택했는지에 따라 데이터가 외부로 나가는 경로는 달라질 수 있어요.[9]
로컬 LLM을 구성하는 네 가지
로컬 LLM은 모델 하나만 설치하는 작업이 아니에요. 다음 네 부분이 함께 맞아야 해요.[11][4]
- 모델 가중치: 언어 능력의 대부분을 담은 파일이에요.[11][4]
- 실행 런타임: 가중치를 읽어 문장을 생성하는 Ollama·LM Studio·llama.cpp 같은 프로그램이에요.[11][4]
- 가속 백엔드: CPU, Apple Silicon의 Metal, NVIDIA CUDA, AMD ROCm, Vulkan 등 실제 계산을 맡는 경로예요.[4][11][12]
- 메모리와 저장 공간: 모델 파일뿐 아니라 컨텍스트와 임시 버퍼를 담을 여유가 필요해요.[11][4]
이 중 하나라도 맞지 않으면 모델이 목록에는 보여도 로딩에 실패하거나, 실행은 되지만 기대보다 느릴 수 있어요. 특히 다운로드 파일 크기만 보고 RAM이나 VRAM이 충분하다고 판단하면 안 돼요.[11][4]
Ollama·LM Studio·llama.cpp는 어떻게 다를까?
Ollama: 터미널과 API로 빠르게 시작하는 방법
Ollama는 모델을 내려받고 실행하는 명령어 중심 도구예요. 공식 빠른 시작 문서는 모델을 실행하는 ollama run 흐름을 안내하고, 로컬 API는 기본적으로 localhost에서 제공돼요.[1][2][7] 명령줄이 익숙하지 않아도 데스크톱 앱이나 다른 클라이언트와 API를 연결해 사용할 수 있어요.
Ollama의 장점은 설치 후 모델 이름을 지정해 바로 실행하기 쉽다는 점이에요. 반면 메모리·컨텍스트·동시 요청·GPU 배치 같은 동작은 설정과 환경 변수의 영향을 받으므로, “모델 이름만 입력하면 항상 같은 성능”이라고 보면 안 돼요. 공식 FAQ는 컨텍스트 길이와 병렬 요청 수가 메모리 사용량에 영향을 주며, ollama ps로 현재 모델이 GPU·CPU에 어떻게 배치됐는지 확인할 수 있다고 설명해요.[3]
LM Studio: 그래픽 화면에서 모델을 고르는 방법
LM Studio는 모델 검색·다운로드·로딩·채팅을 한 화면에서 다루고 싶은 사용자에게 편한 선택지예요. 공식 문서는 모델을 다운로드한 뒤 로더에서 메모리에 올리고 Chat 탭에서 대화하는 흐름을 안내해요.[9]
LM Studio의 시스템 요구사항은 macOS에서 Apple Silicon M1·M2·M3·M4를 지원하고 macOS 14 이상, 16GB 이상 RAM을 권장한다고 안내해요. 8GB Mac에서도 작은 모델과 짧은 컨텍스트를 시도할 수 있지만 선택 폭이 줄어들어요. Intel Mac은 현재 지원 대상이 아니라고 적혀 있어요.[10]
Windows에서는 x64와 ARM을 지원하고 x64에는 AVX2가 필요하며 16GB RAM과 4GB 전용 VRAM을 권장해요. Linux는 x64·ARM64를 지원하고 AppImage로 배포되며 Ubuntu 20.04 이상이 요구돼요.[10] 이 수치는 모든 모델을 실행할 수 있다는 보장이 아니라, 애플리케이션을 사용하기 위한 공식 권장 조건이에요.
llama.cpp: 세밀하게 조정하는 기본 엔진
llama.cpp는 C/C++ 기반의 경량 추론 프로젝트로, Apple Silicon을 우선적인 플랫폼으로 다루며 ARM NEON·Accelerate·Metal을 활용할 수 있다고 공식 저장소에 적혀 있어요. NVIDIA CUDA, AMD HIP, Vulkan, SYCL 등 여러 백엔드와 CPU·GPU 혼합 추론도 지원해요.[11]
또한 1.5비트부터 8비트까지 여러 정수 양자화 형식을 지원해 모델을 메모리에 맞추는 선택지가 넓어요.[11] 빌드 문서는 macOS에서 Accelerate가 기본 활성화되고 Metal 지원 빌드에서는 GPU 레이어 수를 조절할 수 있다고 설명해요.[12]
대신 설치·모델 파일·실행 옵션을 직접 관리해야 하는 부분이 많아요. 파일 경로, 컨텍스트 크기, GPU 레이어, 스레드, 캐시 형식을 조절하고 싶다면 강력하지만, 처음 시작하는 사용자에게는 Ollama나 LM Studio보다 진입 장벽이 높을 수 있어요.[11][12]
| 구분 | Ollama | LM Studio | llama.cpp |
|---|---|---|---|
| 시작 방식 | CLI와 로컬 API | GUI 중심 | CLI·서버·라이브러리 |
| 장점 | 모델 실행과 API 연결이 간단해요 | 다운로드·로딩·채팅을 눈으로 확인하기 쉬워요 | 백엔드·양자화·배치를 세밀하게 조절할 수 있어요 |
| 맞는 사용자 | 빠르게 로컬 챗봇을 만들고 싶은 사람 | 터미널보다 GUI가 편한 사람 | 성능·배치·서버 옵션을 직접 조정할 사람 |
| 주의점 | 기본값과 환경 변수 확인이 필요해요 | 모델별 라이선스와 메모리를 따로 확인해야 해요 | 빌드와 실행 옵션을 직접 관리해야 해요 |
모델 파일 크기와 실제 메모리는 다르다
모델 이름의 7B·8B·14B 같은 숫자는 파라미터 개수의 규모를 말해요. 양자화하지 않은 가중치만 아주 단순하게 계산하면 다음 식을 쓸 수 있어요.[13]
가중치 하한선 ≈ 파라미터 수 × 비트 수 ÷ 8
예를 들어 8B 모델을 4비트로 저장하면 하한선은 약 4GB, 8비트면 약 8GB, 16비트면 약 16GB예요. 하지만 실제 파일에는 스케일·메타데이터가 들어가고 일부 텐서가 더 높은 정밀도로 남을 수 있으므로, 이 값은 저장 공간과 메모리를 짐작하는 출발점일 뿐이에요. 모델 파일 자체의 정확한 크기는 해당 저장소의 파일 목록을 확인해야 해요.[13]
실제 실행 메모리는 최소한 다음 네 가지를 더해 생각해야 해요.[13]
- 가중치: 모델 파일의 핵심이에요.[13]
- KV 캐시: 대화의 입력과 출력 토큰을 기억하는 공간이에요. 컨텍스트가 길어질수록 커지고, 병렬 대화 수가 늘면 더 커져요.[3]
- 실행 버퍼: 백엔드와 배치가 사용하는 임시 메모리예요.[13]
- 운영체제와 다른 앱: 설치된 RAM이나 통합 메모리 전체를 모델이 독점할 수는 없어요.[13]
따라서 “8GB 모델이니까 8GB RAM에서 돌아간다”는 계산은 위험해요. 짧은 컨텍스트에서는 로딩되더라도 긴 문서나 여러 동시 요청에서 메모리가 부족할 수 있어요. Ollama도 병렬 요청 수에 따라 필요한 RAM이 병렬 요청 수 × 컨텍스트 길이에 비례해 커질 수 있다고 안내해요.[3]
양자화는 무엇을 바꾸나?
양자화는 모델 가중치를 더 적은 비트로 표현해 저장 공간과 메모리 요구량을 줄이는 방법이에요. 4비트 모델은 16비트 모델보다 작아지지만, 품질이 모든 작업에서 똑같이 유지된다고 말할 수는 없어요. 양자화 방식과 모델 구조, 작업 종류에 따라 차이가 생겨요.[11][13]
초보자는 다음 정도로 접근하면 충분해요.[11][13]
- Q4 계열: 메모리를 아끼면서 시작하기 좋은 선택이에요.[11][13]
- Q5·Q6 계열: 메모리 여유가 있을 때 품질 손실을 줄이려는 선택이에요.[11][13]
- Q8 계열: 더 높은 정밀도를 원하지만 파일과 메모리가 커져요.[11][13]
- BF16·FP16: 양자화보다 크고, 큰 메모리와 높은 처리 자원이 필요해요.[11][13]
이 명칭은 모든 저장소에서 파일 크기와 품질이 정확히 같은 표준표를 뜻하지 않아요. Hugging Face는 GGUF 파일을 llama.cpp에서 사용할 수 있는 형식으로 설명하고, 저장소에 있는 실제 파일명·크기를 확인하는 방식을 안내해요.[13] 같은 Q4라도 모델과 배포자가 다르면 파일 크기와 지원 기능이 달라질 수 있어요.
모델 선택 예시: Qwen3-8B를 읽는 법
Qwen3-8B는 모델 카드를 읽는 방법을 보여 주는 예시로 볼 수 있어요. Hugging Face의 공식 모델 페이지는 약 8.19B 파라미터의 BF16 가중치와 약 16.36GB의 전체 파일 크기를 표시하고, 저장소 라이선스를 Apache-2.0으로 표시해요.[14][15]
이 숫자를 보고 “16GB RAM이면 충분하다”고 결론 내리면 안 돼요. BF16 파일을 그대로 사용할 때의 저장 공간과 실행 중 필요한 메모리는 다르고, 운영체제·런타임·KV 캐시 공간도 필요해요. GGUF 양자화 파일을 고르면 파일 크기는 줄어들 수 있지만, 정확한 파일 크기와 라이선스·배포 조건은 선택한 GGUF 저장소에서 다시 확인해야 해요.[13]
Ollama의 Qwen3 라이브러리 페이지는 태그별 다운로드 크기와 컨텍스트 정보가 서로 다를 수 있음을 보여 줘요. 예를 들어 같은 계열에서도 0.6B·1.7B·4B·8B 태그의 용량과 컨텍스트 표기가 다르게 제공돼요.[16] 모델 이름만 비교하지 말고 실제 태그와 양자화, 컨텍스트를 함께 확인해야 하는 이유예요.
RAM·VRAM·Apple 통합 메모리는 어떻게 볼까?
전용 GPU의 VRAM
NVIDIA나 AMD의 전용 GPU는 모델 계산에 빠른 VRAM을 사용해요. 모델이 VRAM 안에 충분히 들어가면 GPU 가속을 활용하기 쉽지만, 일부 레이어를 시스템 RAM으로 넘기는 혼합 배치는 속도와 지연시간이 달라질 수 있어요. Ollama는 GPU 지원과 VRAM 상태를 기준으로 모델을 스케줄링하고, llama.cpp는 CPU·GPU 혼합 추론을 지원해 VRAM보다 큰 모델도 일부 가속할 수 있다고 설명해요.[4][11]
일반 시스템 RAM
CPU 추론에서는 시스템 RAM이 모델과 캐시를 담는 주된 공간이에요. GPU가 있어도 모델 일부가 RAM에 남으면 시스템 메모리가 필요할 수 있어요. 그래서 “그래픽카드 VRAM이 12GB니까 12GB 모델을 실행할 수 있다”가 아니라, 가중치·KV 캐시·런타임·운영체제를 합친 뒤 여유 공간이 남는지 봐야 해요.[9]
Apple Silicon의 통합 메모리
Apple Silicon Mac에서는 CPU와 GPU가 같은 물리 메모리 풀을 공유하는 구조를 활용할 수 있어요. 로컬 LLM 관점에서는 별도 VRAM을 추가하지 않아도 큰 메모리 구성의 Mac을 선택할 수 있다는 점이 장점이에요. 하지만 통합 메모리 전체가 LLM 전용은 아니고 macOS와 다른 앱도 함께 사용해요. 메모리 대역폭도 CPU·GPU 작업이 공유하므로, 용량만으로 전용 GPU 시스템과 속도를 직접 비교하면 안 돼요.[10]
LM Studio가 Apple Silicon Mac에서 16GB 이상을 권장하고 8GB에서는 작은 모델과 적당한 컨텍스트를 권하는 이유도 같은 맥락으로 이해할 수 있어요.[10] 실제로 어떤 모델이 편하게 돌아가는지는 모델 구조, 양자화, 컨텍스트, 백엔드, 동시에 켠 앱에 따라 달라져요.
운영체제별 시작점
macOS
Apple Silicon Mac이라면 LM Studio의 공식 지원 범위와 Ollama macOS 경로, llama.cpp의 Metal·Accelerate 경로를 먼저 확인할 수 있어요.[5][10][12] GUI로 시작하려면 LM Studio, 터미널과 API가 편하면 Ollama, 세밀한 조정이 필요하면 llama.cpp가 자연스러운 순서예요.
Windows
Ollama는 Windows에서 네이티브 앱으로 실행되고 NVIDIA·AMD Radeon GPU를 지원한다고 안내해요.[6] LM Studio는 x64와 ARM을 지원하지만 x64에서는 AVX2가 필요하고 16GB RAM과 4GB 전용 VRAM을 권장해요.[10] GPU 드라이버와 지원 백엔드를 확인한 뒤 모델을 선택해야 해요.
Linux
Ollama 공식 Linux 문서는 일반 설치 외에 NVIDIA CUDA, AMD ROCm, ARM64 경로를 나누어 설명해요.[4] llama.cpp는 직접 빌드해 서버나 CLI로 운영할 수 있어요.[12] 서버로 여러 앱을 연결하려면 API 포트의 접근 범위와 인증, 모델 파일 권한을 함께 관리해야 해요.
라이선스는 모델마다 다르다
“오픈소스 모델”이라는 표현만 보고 상업적 사용이 모두 허용된다고 생각하면 안 돼요. 런타임 라이선스와 모델 라이선스, GGUF를 배포한 저장소의 조건은 서로 다를 수 있어요. Qwen3-8B 모델 저장소는 Apache-2.0 라이선스를 표시하지만, 다른 모델은 별도 사용 제한이나 추가 조건을 둘 수 있어요.[14][15]
실제로 사용하기 전에는 다음을 확인해야 해요.[14][15]
- 모델 원본 저장소의 LICENSE 파일[14][15]
- 상업적 이용·재배포·파인튜닝 조건[14][15]
- GGUF 변환본의 배포자 설명과 원본 모델 라이선스[14][15]
- 모델에 포함된 데이터·상표·안전 정책 관련 조건[14][15]
- 회사 내부 자료를 넣을 때의 보안·보존 정책[14][15]
라이선스가 명확하지 않으면 개인 테스트를 넘어 서비스에 넣지 않는 편이 안전해요.[14][15]
로컬 LLM의 프라이버시와 한계
로컬 실행은 외부 API로 프롬프트를 보내지 않는 선택지를 제공해요. 그렇다고 자동으로 완벽한 프라이버시가 되는 것은 아니에요. 모델 다운로드 기록, 런타임 업데이트, 웹 검색·MCP·플러그인, 원격 API 연결, 로그 파일, 공유 폴더가 별도의 데이터 경로를 만들 수 있어요. Ollama의 로컬 API나 LM Studio의 로컬 모델 서버를 외부 네트워크에 공개한다면 인증과 방화벽을 반드시 확인해야 해요.[7][9]
모델이 로컬에서 실행돼도 답변의 정확성이 올라가는 것은 아니에요. 작은 모델은 복잡한 추론·긴 문서·코드·도구 호출에서 한계가 있을 수 있고, 양자화는 메모리를 절약하는 대신 일부 작업 품질에 영향을 줄 수 있어요. 실제 속도와 품질은 직접 같은 프롬프트와 같은 컨텍스트 조건으로 비교해야 해요.[7][8][9]
처음 설치할 때 권장 순서
- 목적을 정해요. 일반 대화인지, 코딩인지, 문서 요약인지 먼저 정해요.[3][7]
- RAM·VRAM 여유를 확인해요. 설치된 총 용량이 아니라 현재 사용 가능한 메모리를 봐야 해요.[3][7]
- 작은 양자화 모델부터 시작해요. 로딩과 기본 응답을 먼저 확인해요.[3][7]
- 컨텍스트 길이를 보수적으로 잡아요. 길게 설정할수록 KV 캐시가 커져요.[3]
- 한 번에 한 모델만 테스트해요. GPU·CPU 배치를 확인하기 쉬워요.[3][7]
- 같은 조건으로 비교해요. 같은 프롬프트, 최대 출력 토큰, 컨텍스트, 백엔드로 비교해야 해요.[3][7]
- API를 외부에 열기 전에 막아요. 기본은 localhost에 두고, 원격 접속은 인증된 VPN이나 별도 접근망을 사용해요.[3][7]
- 라이선스를 기록해요. 모델명·태그·양자화·원본 저장소와 라이선스를 함께 남겨요.[3][7]
어떤 조합을 고르면 좋을까?
- 처음이고 터미널이 부담스러워요: LM Studio부터 시작하는 편이 좋아요. 공식 시스템 요구사항과 모델 로딩 화면에서 내 장비의 한계를 확인하기 쉬워요.[9][10]
- API나 자동화를 붙이고 싶어요: Ollama가 편한 출발점이에요. 로컬 API와 모델 실행 명령을 활용할 수 있어요.[2][7]
- Mac에서 Metal을 직접 조정하고 싶어요: llama.cpp를 선택지에 넣을 만해요. Apple Silicon과 Metal 경로, GPU 레이어 옵션을 직접 다룰 수 있어요.[11][12]
- 메모리가 작아요: 작은 파라미터 모델과 낮은 양자화, 짧은 컨텍스트부터 시작해요.[9][10][11]
- 품질과 긴 문서가 중요해요: 더 큰 모델이나 높은 정밀도를 검토하되, 필요한 RAM·VRAM과 KV 캐시까지 계산해요.[9][10][11]
- 회사 서비스에 넣어요: 모델 라이선스, 로그·프롬프트 보존, 외부 연결, 동시 요청, 장애 복구를 별도로 검토해요.[9][10][11]
결론: 로컬 LLM은 모델보다 전체 구성이 중요해요
로컬 LLM은 “무료 AI”라는 한 문장으로 설명하기 어려워요. 모델 파일을 저장하고, 런타임을 고르고, GPU나 CPU 백엔드를 맞추고, 컨텍스트와 KV 캐시를 감당할 메모리를 확보해야 해요. 여기에 전기·저장 공간·업데이트·라이선스 확인까지 사용자가 맡아요.[3][11]
가장 무난한 시작은 작은 모델 하나를 Ollama나 LM Studio로 실행해 보고, ollama ps나 런타임의 로딩 정보를 확인하는 거예요.[3] 그다음 같은 모델의 다른 양자화와 컨텍스트를 비교하면 “큰 모델이 무조건 좋다”거나 “파일 크기만 맞으면 된다”는 오해를 줄일 수 있어요.
llama.cpp는 더 깊은 조정을 원하는 사용자에게 좋은 기반이지만, 세부 옵션을 직접 관리해야 해요. 결국 선택 기준은 하나예요. 먼저 작업이 메모리에 안정적으로 들어가게 만들고, 그다음 속도·품질·전력·편의성을 비교하는 것이에요.[3][11]
Sources
- [1] Ollama 공식 문서
- [2] Ollama 빠른 시작
- [3] Ollama FAQ
- [4] Ollama 하드웨어 지원
- [5] Ollama macOS 설치
- [6] Ollama Windows 설치
- [7] Ollama API 소개
- [8] Ollama 도구 호출
- [9] LM Studio 시작하기
- [10] LM Studio 시스템 요구사항
- [11] llama.cpp 공식 저장소
- [12] llama.cpp 빌드 문서
- [13] Hugging Face GGUF·llama.cpp 문서
- [14] Qwen3-8B 모델 카드
- [15] Qwen3-8B 라이선스
- [16] Ollama Qwen3 모델 라이브러리
[…] 자리를 차지하기 때문이에요. Ollama·LM Studio·llama.cpp의 입문 선택 기준은 기초 비교 글에서 다뤘고, 여기서는 llama.cpp 계열 서버를 직접 조정할 때 필요한 기준을 […]