Ollama로 AI 모델을 로컬에서 실행하기
프런티어 모델은 클라우드에 있지만, 오픈 웨이트 모델이라는 부류 전체 — Llama, Mistral, Qwen, DeepSeek, Gemma — 는 다운로드해서 여러분의 노트북이나 서버에서 실행할 수 있습니다. Ollama는 이를 하는 가장 간단한 방법입니다. 한 번의 설치, 한 번의 명령이면 모델이 로컬에서 실행됩니다. 이 페이지는 여러분을 제로에서 모델을 실행하고, 코드에서 호출하고, 트레이드오프를 알게 되는 지점까지 데려다줍니다 — 그래서 7B 로컬 모델이 프런티어 모델처럼 동작하리라고 기대하지 않게 됩니다.
- 왜 모델을 로컬에서 실행하는지, 그리고 클라우드 프런티어 모델 대비 솔직한 트레이드오프를 이해하기
- Ollama를 설치하고 두 개의 명령으로 첫 모델을 실행하기
- 핵심 CLI 사용하기: pull, run, list, ps, rm, stop
- Ollama의 OpenAI 호환 API를 통해 코드에서 로컬 모델을 호출하기
- RAM 요구량, 모델 크기, 양자화를 이해하기 — 그래서 여러분의 컴퓨터가 실제로 실행할 수 있는 모델을 고르기
- LM Studio(GUI)가 더 나은 출발점인 경우를 알기
왜 모델을 로컬에서 실행하는가 (그리고 언제 안 하는가)
여러분의 하드웨어에서 모델을 실행하면 네 가지를 얻습니다:
- 프라이버시 — 여러분의 프롬프트와 데이터가 절대 컴퓨터를 떠나지 않습니다. 규제가 있거나 민감한 영역의 팀들이 로컬 모델을 찾는 이유입니다. (모델 선택하기의 프라이버시/셀프 호스트 분기 참조.)
- 오프라인 — 인터넷도, API도, 장애 의존성도 없습니다. 모델은 여러분 디스크에 있는 파일입니다.
- 비용 — 토큰당 청구서가 없습니다. 일단 다운로드하고 나면 실행은 "무료"입니다(API 지출이 아니라 전기와 하드웨어로 지불합니다). 규모가 커졌을 때 토큰 지출이 여러분의 제약이라면 로컬이 이길 수 있습니다.
- 제어 — 정확한 버전을 고정하고, 동작을 커스터마이즈하고, 속도 제한이나 이용 약관의 뜻밖의 변화 없이 통합할 수 있습니다.
솔직한 트레이드오프:
- 역량 격차. 노트북에서 실행할 수 있는 모델(1B–14B 파라미터)은 어려운 추론, 롱 컨텍스트, 에이전트 작업에서 프런티어 클라우드 모델과 같은 급이 아닙니다. 많은 일상 작업에서는 그 격차가 작지만, 가장 어려운 작업에서는 큽니다.
- 하드웨어. 더 크고 더 유능한 모델은 보통의 컴퓨터가 가진 것보다 더 많은 RAM/VRAM이 필요합니다. 여러분은 존재하는 최고의 모델이 아니라 여러분의 하드웨어가 실행할 수 있는 가장 큰 모델을 고르는 경우가 많습니다.
- 여러분이 운영합니다. 관리형 스케일링도, 자동 업그레이드도 없습니다 — 그것이 제어의 대가입니다.
흔하고 오래 통하는 패턴: 작은 평가로 프로토타입을 만들고 고르기(클라우드 모델과 같은 방법 — 모델 선택하기 참조), 비공개/오프라인/대규모 저비용 작업에는 로컬을 사용하고, 작업이 진정으로 추가 역량을 필요로 할 때 프런티어 API에 손을 뻗기.
Ollama를 설치하고 첫 모델 실행하기
- macOS와 Windows: ollama.com/download에서 설치 프로그램을 다운로드해 실행하세요. Linux: 공식 설치 스크립트를 사용하세요(아래). 이렇게 하면 ollama 명령과 로컬 백그라운드 서비스가 설치됩니다.
- ollama run <model>은 처음 사용할 때 모델을 다운로드하고(수 GB일 수 있습니다), 그다음 대화형 채팅으로 들어갑니다. 첫 실행은 가중치를 내려받느라 느리고, 이후 실행은 즉시입니다.
- 프롬프트를 입력하고 Enter를 누르세요. 대화형 세션을 나가려면 /bye를 입력하세요(또는 Ctrl+D를 누르세요). 모델은 다음번을 위해 디스크에 캐시된 채 남아 있습니다.
- 설치된 모델을 보려면 ollama list를 사용하고, 하나를 삭제해 디스크 공간을 회수하려면 ollama rm <model>을 사용하세요.
Linux 설치(macOS/Windows는 대신 다운로드한 설치 프로그램 사용):
curl -fsSL https://ollama.com/install.sh | sh
작은 모델을 받아 실행하기 (좋은 첫 선택)
ollama run llama3.2
그 하나의 명령이 llama3.2(적당한 하드웨어에서 돌아가는 작은 1B/3B급 모델)를 다운로드하는 동시에 대화형 채팅을 시작합니다. 아직 채팅하지 않고 다운로드만 하려면 대신 ollama pull을 사용하세요.
핵심 CLI
한 줌의 명령이 거의 모든 것을 커버합니다. 전체 목록을 보려면 ollama --help를 실행하세요.
# Download a model without starting a chat
ollama pull qwen3
# Start an interactive chat (downloads first if needed)
ollama run qwen3
# One-shot: pass the prompt inline, get the answer, exit
ollama run qwen3 "Summarize the CAP theorem in two sentences."
# List models you've downloaded
ollama list
# Show models currently loaded in memory
ollama ps
# Stop a running/loaded model (frees memory)
ollama stop qwen3
# Delete a downloaded model to reclaim disk
ollama rm qwen3
대화형 ollama run 세션 안에서, 나가려면 /bye를 입력하고 세션 내 명령을 보려면 /?를 입력하세요. 실제로 모델을 제공하는 백그라운드 서비스는 ollama serve가 시작합니다(데스크톱 앱은 이를 자동으로 시작해 줍니다).
코드에서 호출하기 (OpenAI 호환 API)
이 부분이 로컬 모델을 앱에서 진정으로 유용하게 만드는 지점입니다. Ollama 백그라운드 서비스는 기본 포트 11434에서 **http://localhost:11434**로 로컬 HTTP API를 노출합니다. 자체 네이티브 엔드포인트(/api/generate, /api/chat)를 갖고 있으며 또한 /v1에 OpenAI 호환 계층을 갖고 있습니다 — 그래서 OpenAI SDK용으로 작성된 대부분의 코드는 두 줄만 바꾸면 여러분의 로컬 모델을 상대로 동작합니다.
curl로 하는 원시 HTTP(네이티브 엔드포인트):
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2",
"messages": [
{ "role": "user", "content": "Why is the sky blue?" }
],
"stream": false
}'
공식 OpenAI SDK를 사용하는 Python에서 — base_url을 Ollama로 향하게 하고 비어 있지 않은 아무 api_key나 전달하면 됩니다(Ollama는 그 필드를 요구하지만 값은 무시합니다):
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama", # required by the SDK, ignored by Ollama
)
response = client.chat.completions.create(
model="llama3.2",
messages=[
{"role": "system", "content": "You are a concise assistant."},
{"role": "user", "content": "Explain gradient descent in two sentences."},
],
)
print(response.choices[0].message.content)
OpenAI 호환이기 때문에, 호스팅된 API를 상대로 쓰던 것과 같은 패턴이 그대로 이어집니다 — 스트리밍과 도구 사용 / 함수 호출을 포함해서, 이들은 클라우드에서 동작하는 것과 똑같이 로컬에서도 동작합니다(모델이 실제로 그걸 잘한다는 전제하에). Ollama의 /v1 계층은 무엇보다도 /v1/chat/completions, /v1/completions, /v1/models, /v1/embeddings를 커버합니다.
하드웨어, 모델 크기, 양자화
모델에 붙어 있는 것을 보게 될 숫자 — 1B, 7B, 8B, 70B — 는 그 모델의 파라미터 수(십억 단위)입니다. 파라미터가 더 많다는 것은 일반적으로 더 유능하다는 것을 그리고 더 메모리를 많이 먹는다는 것을 뜻합니다. 여러분이 무엇을 실행할 수 있는지에 대한 실질적 한계는 RAM(그리고 GPU에서는 VRAM)입니다.
양자화는 이를 보통의 컴퓨터에서 실현 가능하게 만드는 핵심 요령입니다. 모델의 가중치는 원래 높은 정밀도(예: 16비트)로 저장되지만, 작고 종종 거의 눈에 띄지 않는 품질 비용으로 ~4비트까지 압축할 수 있습니다. Ollama는 대부분의 모델을 기본적으로 양자화된 채로 배포합니다 — 그것이 수십억 개의 파라미터를 가진 모델이 몇 GB에 들어가는 이유입니다. 대략적인 경험 법칙(구체적인 모델의 페이지에 대조해 확인하세요):
- ~1B–3B 모델: 대부분의 현대 노트북에서 편안하게 실행됩니다(몇 GB의 RAM).
- ~7B–8B 모델: 유능하면서도 실행 가능한 최적의 지점. 여유 RAM 수 GB를 예산으로 잡으세요.
- ~13B–14B 모델: 꽤 잘 갖춰진 컴퓨터가 필요합니다.
- ~70B+ 모델: 많은 RAM이나 강력한 GPU를 갖춘 워크스테이션/서버가 필요합니다 — 전형적인 노트북 영역이 아닙니다.
실용적인 레시피: 작은 모델(llama3.2)로 시작하고, 워크플로를 처음부터 끝까지 확인한 다음, 여러분의 하드웨어에서 여전히 매끄럽게 돌아가는 가장 큰 모델로 크기를 올리세요 — 존재하는 가장 큰 모델이 아니라.
LM Studio: GUI 대안
명령줄이 여러분의 취향이 아니라면, **LM Studio**는 같은 일을 그래픽 인터페이스로 하는 데스크톱 앱(macOS, Windows, Linux)입니다. 오픈 모델을 둘러보고 다운로드하고, 내장 UI에서 대화하고, 그리고 — Ollama처럼 — 로컬 OpenAI 호환 서버를 실행해서 여러분의 코드가 그것과 통신할 수 있게 합니다. 개발자가 아니거나 터미널보다 포인트 앤 클릭을 선호하는 누구에게든 더 쉬운 진입로입니다. Ollama는 스크립트로 다룰 수 있는 CLI와 가벼운 백그라운드 서비스를 원할 때 이기는 경향이 있습니다. 둘 다 같은 종류의 오픈 웨이트 모델을 실행하므로, 이 페이지의 개념은 그대로 옮겨집니다.
스스로 점검하기
0/4- 로컬 = 프라이버시 + 오프라인 + 토큰당 비용 없음 + 제어; 트레이드오프는 실제 역량 격차와 하드웨어 한계입니다.
- 두 개의 명령으로 실행됩니다: Ollama를 설치하고, 그다음 ollama run llama3.2.
- 핵심 CLI: pull(다운로드), run(채팅), list, ps, stop, rm — 그게 대부분입니다.
- OpenAI 호환 엔드포인트를 통해 코드에서 호출하세요: base_url http://localhost:11434/v1, 비어 있지 않은 아무 api_key.
- 파라미터 수 + 양자화가 여러분의 컴퓨터가 모델을 실행할 수 있는지를 결정합니다 — 작게 시작하고, 매끄럽게 돌아가는 것까지 크기를 올리세요.
- GUI를 선호하나요? LM Studio가 같은 일을 포인트 앤 클릭으로 하고 로컬 OpenAI 호환 서버도 노출합니다.
출처 및 더 읽을거리
- Ollama — 공식 사이트 및 다운로드.
- Ollama 모델 라이브러리 — 현재 모델과 그 정확한 pull 이름/크기.
- Ollama CLI 레퍼런스 · Ollama API 문서 — 권위 있는 명령 및 엔드포인트 레퍼런스.
- Ollama OpenAI 호환성 블로그 포스트 —
/v1엔드포인트와 SDK 사용법. - GitHub의 Ollama — 소스, 이슈, 상세 문서.
- LM Studio — 로컬 모델 실행을 위한 GUI 대안.