요즘 클로드나 챗GPT 안 쓰는 사람이 없죠. 그런데 이걸 인터넷도 없이, 요금도 없이, 내 노트북에서 직접 돌릴 수 있다면 어떨까요? “그건 서버실에 GPU 잔뜩 있어야 하는 거 아냐?” 싶은데, 결론부터 말하면 집에 있는 게이밍 노트북 한 대로, 돈 한 푼 안 들이고 됩니다. 지난번엔 ComfyUI로 ‘그림 그리는 로컬 서버’를 만들었는데, 이번엔 llama.cpp로 **‘말하고 글 쓰는 LLM’**을 내 GPU에 올려본 실전 기록입니다.
왜 굳이 로컬로 돌릴까요?
솔직히 똑똑함만 따지면 클라우드 AI가 위입니다. 그런데도 로컬로 돌리는 이유가 분명히 있어요.
가장 큰 건 토큰을 무제한으로 쓸 수 있다는 점입니다. 클라우드 API는 글자(토큰) 하나하나에 요금이 붙죠. 문서 수백 개를 요약하거나, 로그 수만 줄을 분류하거나, 밤새 뭔가를 돌리다 보면 요금이 은근히 무섭게 불어납니다. 로컬은 전기값 빼곤 0원이라, “이거 토큰 아까운데…” 하고 망설일 일이 없어요. 프롬프트를 마음껏 길게 쓰고, 마음에 들 때까지 몇 번이고 다시 돌려도 됩니다.
여기에 이런 것들이 더 붙습니다.
- 속도 제한이 없어요. API는 분당 요청 수에 제한이 걸려서 대량 작업을 하면 계속 기다려야 하는데, 내 GPU는 온전히 내 것이라 줄 설 일이 없습니다.
- 데이터가 밖으로 안 나갑니다. 회사 내부 문서, 개인정보, 아직 공개 안 한 코드처럼 외부에 올리기 껄끄러운 걸 다룰 때 이게 결정적이에요. 애초에 전송을 안 하니 유출될 게 없죠.
- 인터넷이 필요 없습니다. 비행기 안이든, 네트워크가 막힌 폐쇄망이든 그대로 돌아갑니다.
- 모델이 갑자기 사라지지 않아요. 클라우드 모델은 어느 날 구버전이 종료되곤 하는데, 내 디스크에 받아둔 파일은 영원히 그 버전 그대로입니다.
한마디로 **“똑똑함은 클라우드, 자유도·비용·프라이버시는 로컬”**입니다. 민감한 데이터를 다루거나 같은 작업을 잔뜩 반복할수록 로컬이 빛을 발해요.
로컬 LLM, 뭘로 돌리죠? — 후보 3가지
방법이 몇 가지 있는데, 셋을 비교해보고 골랐습니다.
| 도구 | 장점 | 아쉬운 점 |
|---|---|---|
| Ollama | 명령어 한 줄이면 바로 뜬다, 제일 쉬움 | 속은 결국 llama.cpp, 세밀한 튜닝엔 한 겹 껴 있음 |
| LM Studio | 예쁜 GUI, 클릭 몇 번 | 프로그램에서 불러다 자동화하기엔 무거움 |
| llama.cpp ← 선택 | 엔진 그 자체, VRAM 짜내기 최강, OpenAI 호환 API | 명령어에 조금 익숙해져야 함 |
사실 위의 Ollama·LM Studio가 안에서 실제로 돌리는 엔진이 바로 llama.cpp예요. GPU에 레이어를 몇 개나 올릴지까지 손으로 조절할 수 있어서 8GB 노트북에서 짜내기 가장 좋고, 딸려오는 llama-server가 OpenAI랑 똑같은 형식의 API를 열어줘서 어떤 앱이든 깔끔하게 붙습니다.
전체 그림 — 원리는 간단합니다
원리는 ComfyUI 때랑 똑같아요. 무거운 계산은 로컬 GPU가 하고, 바깥 프로그램은 API로 부르기만 합니다.
| |
두 단어만 알고 가면 됩니다. llama.cpp는 C/C++로 짠 LLM 추론 엔진이라 GPU가 약해도 모델을 CPU와 GPU에 나눠 올려 돌립니다. GGUF는 llama.cpp 전용 모델 포맷인데, 원본 모델을 양자화해서 용량과 VRAM 사용량을 확 줄여놓은 파일이에요.
내 노트북으로 될까? — 사양부터 확인
일단 될지부터 따져봤습니다. 지난 ComfyUI 글과 같은 HP Victus 16 노트북이에요.
| 항목 | 필요 사양 (7~8B 모델) | 내 노트북 | 판정 |
|---|---|---|---|
| GPU VRAM | 6GB 이상 (Q4 기준) | RTX 4060 Laptop 8GB | 통과 |
| RAM | 16GB | 16GB | 통과 |
| 디스크 | 모델당 약 5GB | 여유 충분 | 통과 |
VRAM 8GB면 7~8B급 모델을 Q4로 양자화했을 때 통째로 GPU에 올라갑니다. 이 구간이 제일 빨라요. 13~14B급부터는 일부를 RAM으로 내려야 해서 속도가 뚝 떨어지고, 30B 이상은 이 노트북엔 좀 욕심입니다.
모델 고르기 — ‘양자화’가 절반입니다
같은 모델이라도 **양자화(quantization)**를 어떻게 하느냐에 따라 용량·속도·품질이 갈립니다. 여기서 첫 삽질을 했어요. “이왕이면 고품질이지” 하고 Q8을 받았다가 VRAM이 부족해서 모델이 반쪽만 GPU에 올라가는 상황을 만났거든요. 결국 8GB의 현실적인 정답은 **Q4_K_M**이었습니다.
| 양자화 | 7B 모델 용량 | 특징 |
|---|---|---|
| Q8_0 | ~7.5GB | 원본에 제일 가깝지만 8GB엔 버겁다 |
| Q4_K_M | ~4.5GB | 속도·품질 균형, 로컬의 사실상 표준 |
| Q3_K_M | ~3.5GB | 더 가벼운 대신 품질 저하가 슬슬 느껴진다 |
모델은 7~8B급 instruct 계열(예: Qwen2.5-7B-Instruct, Llama-3.1-8B-Instruct 등)이면 무난합니다. GGUF 파일은 보통 Hugging Face의 bartowski 같은 배포처에서 양자화별로 받을 수 있어요.
설치하기 (Windows 11 기준)
1. llama.cpp 바이너리 받기
소스를 직접 빌드해도 되지만, 제일 빠른 길은 미리 빌드된 CUDA 바이너리를 받는 겁니다. GitHub 릴리스에서 llama-bxxxx-bin-win-cuda-x64.zip 같은 파일을 받아 C:\llama에 풀면 끝이에요.
2. GGUF 모델 다운로드
| |
3. 서버 실행
여기서 딱 하나만 기억하면 됩니다. -ngl — GPU에 올릴 레이어 수예요. -ngl 99는 “가능한 만큼 다 GPU에 올려라"라는 뜻이고, 7~8B Q4 모델은 8GB에 통째로 들어갑니다.
| |
-ngl 99: 전 레이어 GPU에 올리기 (VRAM 모자라면 숫자를 낮춰 일부만)-c 8192: 컨텍스트 길이 8k 토큰--port 8080: 서버 포트
4. 잘 도나 확인
브라우저에서 http://127.0.0.1:8080을 열면 채팅 UI가 바로 뜹니다. GPU를 제대로 쓰는지는 서버 켤 때 로그의 offloaded 29/29 layers to GPU 같은 줄로 확인해요. 저 숫자가 꽉 차 있으면 성공입니다.
흔한 함정 3가지 (미리 알려드려요)
설치 자체는 쉬운데, 딱 이 세 군데서 사람들이 잘 걸립니다.
- 함정 1 — CPU 빌드를 받아버림. 릴리스에 파일이 여러 개라, 무심코
win-cpu빌드를 받으면 GPU가 놀고 답이 굼벵이처럼 느립니다. NVIDIA면 반드시cuda빌드를 받으세요. (AMD는vulkan빌드) - 함정 2 —
-ngl을 안 줌. 이 옵션을 빼먹으면 모델이 전부 CPU에서 돌아 엄청 느려집니다. “GPU 있는데 왜 이렇게 느리지?” 싶으면 십중팔구 이거예요. - 함정 3 — 욕심내서 큰 모델·높은 양자화. 위에서 겪은 그 삽질입니다. VRAM을 넘기면 속도가 확 죽어요. 8GB면 7~8B Q4가 정답입니다.
앱이랑 붙이기 — OpenAI 호환 API
llama-server가 진짜 편한 건, OpenAI랑 똑같은 형식의 API를 열어준다는 점이에요. OpenAI 쓰던 코드에서 주소만 로컬로 바꾸면 그대로 붙습니다.
| |
문서 요약, 코드 자동완성, 번역 같은 걸 오프라인·무과금으로 돌리는 나만의 백엔드가 이걸로 완성됩니다.
어느 정도 빠를까요
- 7
8B Q4_K_M을 전 레이어 GPU에 올린 기준으로 **초당 4060토큰 정도**. 눈으로 따라 읽기 벅찰 만큼 빠릅니다. - 첫 응답까지는 모델을 VRAM에 올리는 시간 포함 몇 초.
- 컨텍스트를 길게(예: 16k) 주면 VRAM이 부족해질 수 있는데, 그땐
-ngl숫자를 낮춰 일부를 RAM으로 내리면 됩니다. 조금 느려지는 대신 돌아는 가요.
솔직한 결론 — 어디까지 되고, 어디부터 안 되나
- 됩니다: 공짜로, 인터넷 없이, 내 노트북에서 꽤 쓸 만한 LLM이 돌아갑니다. 요약·번역·분류·코딩 보조 같은 실무엔 7~8B로도 충분해요. 무엇보다 토큰 걱정 없이 마음껏 굴릴 수 있는 게 크죠.
- 한계: 아무리 좋은 로컬 모델도 최상위 클라우드 모델(클로드 등)만큼 똑똑하진 않습니다. 복잡한 추론이나 긴 코드 설계는 아직 클라우드가 낫습니다.
- 현실적인 조합: 그래서 저는 민감한 데이터·대량 반복 작업은 로컬, 어려운 문제는 클라우드로 나눠 쓰는 게 제일 낫다고 봐요. 둘은 경쟁이 아니라 역할 분담입니다.
돈 안 들이고 노트북 한 대로 여기까지 된다는 것 자체가, AI 문턱이 얼마나 낮아졌는지 보여주는 것 같습니다. 다음엔 이 로컬 LLM을 클로드 코드 같은 도구에 물려서 완전 오프라인 코딩 도우미로 만들어볼 생각이에요.