본문 바로가기
C.W.K.
Stream
Lesson 01 of 06 · published

MLX와 Ollama — 같은 Mac, 서로 다른 층

~12 min · ollama, comparison, stack-layers

Level 0호기심
0 XP0/51 lessons0/15 achievements
0/100 XP to next level100 XP to go0% complete

같은 Mac 위의 서로 다른 층

Ollama는 v0.19(2026년 3월)부터 MLX 위에서 작동해. 그때는 미리보기였고, v0.30(2026년 5월)에서 MLX가 Apple Silicon 기본 추론 경로로 올라섰어. 이제 둘은 경쟁자가 아니라 한 실행 묶음의 서로 다른 층이야. MLX는 배열 기본 연산과 추론 커널을 맡고, Ollama는 모델 저장소와 HTTP 서버, 모델을 받는 명령줄 도구, Python을 몰라도 로컬 LLM을 쓸 수 있는 간단한 화면을 제공하지. 둘 다 같은 통합 메모리 하드웨어를 쓰며, 무거운 계산은 결국 MLX 커널에 맡겨.

그래서 선택 기준은 순수 성능이 아니야. 같은 계산층을 실제로 공유하니 같은 하드웨어에서는 성능도 비슷해. 어느 사용면에서 모델을 다루고 싶은지가 핵심이지.

Ollama가 mlx-lm에 더해 주는 것

  • 모델 저장소ollama pull llama3.2 같은 명령 하나로 Hugging Face 다운로드 경로를 감춰 줘.
  • 백그라운드 서버 — Python 프로세스를 따로 띄우지 않아도 실행되며 localhost:11434에서 HTTP API를 제공해.
  • 쉬운 명령줄 도구 — 대화, 모델 관리, 빠른 실험을 바로 할 수 있어.
  • 커지는 생태계 — Open WebUI와 플러그인, Mac 메뉴 막대 연동을 이용할 수 있어.

mlx-lm이 Ollama에 더해 주는 것

  • Python으로 하는 완전한 제어 — 생성 스크립트, 토큰별 메타데이터 기록, 파이프라인 연결, 파인튜닝 반복문까지 직접 다룰 수 있어.
  • Hugging Face의 MLX 형식 모델에 직접 접근 — Ollama용으로 아직 묶이지 않은 모델도 포함해.
  • 파인튜닝 작업 흐름 — Ollama는 추론에 집중하고, 학습은 mlx-lm이 맡아(트랙 5).
  • 맞춤 샘플링과 모델 구조 — 기본 기능을 넘어 확장하거나 고쳐야 하는 순간에는 Python이 유리해.

역할에 맞춰 고르기

  • 코드 없이 모델을 바로 돌리고 싶다 → Ollama.
  • LLM을 Python 파이프라인이나 앱에 넣고 싶다 → mlx-lm을 직접 쓰거나, 높은 수준의 추상화가 좋다면 Ollama HTTP API.
  • 파인튜닝하고 싶다 → mlx-lm. 완성된 어댑터를 합친 뒤 Ollama의 가져오기 절차로 서빙할 수도 있어.
  • 프로그래밍하지 않는 Mac 사용자에게 건넨다 → 터미널 없이 쓸 수 있는 Ollama 기반 Mac 앱.

MLX 사용자에게 Ollama가 중요한 이유

Ollama는 MLX의 자리를 빼앗는 게 아니라 쓸모를 넓혀. Mac에서 Ollama를 쓰는 사람은 MLX라는 이름을 몰라도 그 커널을 함께 쓰게 되거든. 덕분에 mlx-community에 올라온 MLX 형식 모델도 훨씬 넓은 사용자층에 닿아.

Code

Python 없이 Ollama로 MLX 사용하기·bash
# Install (one-time)
brew install ollama

# Pull and chat
ollama pull llama3.2
ollama run llama3.2

# Or serve as an HTTP endpoint (Ollama daemon runs in the background)
ollama serve  # background, usually starts automatically
curl http://localhost:11434/api/generate -d '{"model": "llama3.2", "prompt": "Hello"}'
같은 모델을 mlx-lm으로 직접 실행하기·python
from mlx_lm import load, generate

model, tok = load("mlx-community/Llama-3.2-1B-Instruct-4bit")
print(generate(model, tok, prompt="Hello", max_tokens=20))

# Same compute layer (MLX kernels), different surface (Python script vs CLI/daemon).

External links

Exercise

아직 없다면 Ollama를 설치해. 내부에서는 MLX 캐시 구조를 함께 써. llama3.2를 받고, 대화하려면 ollama run llama3.2를 실행한 다음 curl로 HTTP API도 호출해 봐. 같은 모델을 mlx-lm으로 직접 돌렸을 때와 실제 응답 시간을 비교하고, 일상에서는 어느 사용면이 더 자연스러운지 두 문장으로 적어.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.