로컬 AI 인프라 노트 (7/15) — 맥OS 로컬 LLM 추천: oMLX 완전 가이드
GPT-5.5(입력 $5/1M)와 Claude Opus 4.7을 매일 쓰면 한 달 청구서가 무겁다. M3/M4 Mac을 가진 사용자에게는 다른 길이 있다 — 로컬 추론. 그런데 Ollama, LM Studio, llama.cpp까지 도구는 많은데 어느 것을 써야 할지 혼란스럽다.
2026년 4월 28일에 v0.3.8rc1이 나온 oMLX는 그 답이다. Apple의 MLX 프레임워크 위에 vLLM 스타일 연속 배칭과 SSD KV 캐시를 얹은 macOS 전용 추론 서버다. 에이전트 TTFT를 30~90초에서 5초 미만으로 떨어뜨리고, Claude Code와 Cursor에 드롭인 백엔드로 붙는다.
이 글은 oMLX가 왜 2026년 4월 시점 Apple Silicon Mac의 최적 선택인지를 1차 자료(공식 GitHub, Apple ML Research, Ollama 블로그)로 정리한 가이드다. 설치, Mac RAM 사이즈별 모델 추천, Claude Code 연동까지 포함한다.
한 문단으로 이해
oMLX는 macOS 메뉴바에서 켜는 로컬 LLM 서버다. OpenAI와 Anthropic 양쪽 API를 동시 지원해서 Claude Code, Cursor, OpenClaw가 그대로 붙는다. 핵심 차별은 2단 KV 캐시(RAM hot + SSD cold) — 긴 시스템 프롬프트를 가진 에이전트가 처음 부팅할 때 30~90초 걸리던 TTFT를 5초 미만으로 만든다. Apache 2.0, macOS 15+, M1~M4 호환.
oMLX란 정확히
개발자: jundot (개인 오픈소스, GitHub jundot/omlx)
최신 버전: v0.3.8rc1 (2026-04-28)
라이선스: Apache 2.0
시스템 요구:
- macOS 15.0 (Sequoia) 이상
- Apple Silicon (M1/M2/M3/M4/M5)
- Python 3.10+
핵심 기능 4가지
- 2단 KV 캐시 (Tiered KV Cache)
- RAM 핫 캐시 → 가득 차면 SSD 콜드 캐시로 evict
- 블록 단위 prefix sharing + Copy-on-Write (vLLM에서 영감)
-
모든 KV 블록이 safetensors로 SSD에 영속화 → 재기동 후 즉시 복원
-
연속 배칭 (Continuous Batching)
- mlx-lm BatchGenerator 활용
-
다중 동시 요청 → GPU 활용률 ↑
-
다중 모델 동시 서빙
- LLM + VLM (Qwen3.5, GLM-4V, Pixtral) + OCR (DeepSeek-OCR, GLM-OCR) + 임베딩 (BGE-M3) + 리랭커
-
LRU eviction으로 RAM 한도 내 자동 관리
-
API 호환성
- OpenAI:
http://localhost:8000/v1/chat/completions - Anthropic:
http://localhost:8000/v1/messages - Claude Code, Cursor, OpenClaw 드롭인
메뉴바 앱이라 GUI에서 모델 다운로드·시작·중지 가능. /admin 웹 어드민에서 실시간 모니터링 + 원클릭 벤치마킹.
왜 MLX가 빠른가 — Apple Silicon 한정 우위
oMLX는 Apple의 MLX 프레임워크 위에서 동작한다. MLX는 Apple Silicon의 Unified Memory Architecture (UMA)를 직접 활용한다. CPU와 GPU가 메모리를 공유하기 때문에 데이터 복사가 필요 없다 — 일반 PC의 GPU와 가장 큰 차이다.
같은 모델·같은 Mac에서 측정한 차이
- MLX vs llama.cpp: 일반 15~30% 빠름, 메모리 ~10% 적게 사용
- M4 Pro 64GB, LM Studio MLX vs Ollama (llama.cpp): 46% 빠름
- Qwen3.5-35B-A3B: MLX 71.2 tok/s vs Ollama 30.3 tok/s — 2.3배
큰 모델일수록 격차가 더 벌어진다. 이유는 메모리 대역폭이 LLM 추론의 결정 변수이기 때문이다. MLX는 UMA를 직접 쓰니까 대역폭 손실이 없다.
M5 Neural Accelerators (2025-11 발표)
Apple ML Research가 M5에서 측정한 결과:
| 항목 | M4 | M5 | 향상 |
|---|---|---|---|
| 메모리 대역폭 | 120 GB/s | 153 GB/s | +28% |
| 14B dense 프리필 TTFT | — | 10초 미만 | — |
| 30B MoE 프리필 TTFT | — | 3초 미만 | — |
| 전체 TTFT (모델별) | 기준 | 3.33~4.06배 | — |
M5의 GPU는 dedicated matrix-multiplication 유닛(Neural Accelerators)을 탑재했다. Metal 4의 TensorOps + Metal Performance Primitives를 통해 MLX가 자동으로 활용한다. 즉, M5에서는 MLX가 추가로 더 빨라진다.
Ollama 0.19 MLX 백엔드 (2026-03-30)
Ollama도 0.19에서 MLX 백엔드를 실험 도입했다. 32GB+ 통합메모리 Mac에서 활성화 가능하며, llama.cpp를 우회한다. 결과: - Prefill 1,154 → 1,810 tok/s - Decode 58 → 112 tok/s - NVFP4 양자화 지원
MLX 백엔드를 쓰는 한, 도구는 oMLX, LM Studio MLX, Ollama 0.19+ 셋 다 비슷한 성능을 낸다. 차이는 API 호환성과 KV 캐시 전략.
oMLX vs Ollama vs LM Studio — 한 줄 비교
| 항목 | Ollama | LM Studio | oMLX |
|---|---|---|---|
| 형식 | CLI + 데몬 | GUI 앱 | 메뉴바 앱 + 서버 |
| 백엔드 | llama.cpp (옵션 MLX) | MLX 또는 llama.cpp | MLX 전용 |
| API | OpenAI | OpenAI | OpenAI + Anthropic |
| KV 캐시 | RAM | RAM | RAM + SSD |
| 멀티모델 | 단일 활성 | 단일 | 동시 서빙 (LRU) |
| VLM/OCR | 일부 | 일부 | 전용 지원 |
| 라이선스 | MIT | Closed | Apache 2.0 |
언제 어느 것?
- Ollama: Docker/k8s, 멀티 노드 운영, x86 호환 필요
- LM Studio: GUI로 모델 탐색·파라미터 튜닝 (비개발자)
- oMLX: 에이전트 워크플로우, Claude Code/Cursor 드롭인, 긴 시스템 프롬프트 반복 호출
설치 — 세 가지 경로
A. macOS 앱 (일반 사용자 권장)
- https://github.com/jundot/omlx/releases 에서 최신 .dmg 다운로드
- .dmg 마운트 → Applications에 드래그
- 첫 실행 → 보안 경고 → 시스템 설정에서 허용
- 메뉴바 아이콘 → 모델 다운로드 → Start
- 인앱 자동 업데이트
B. Homebrew (개발자)
brew tap jundot/omlx
brew install omlx
omlx serve
C. 소스 (커스터마이징)
git clone https://github.com/jundot/omlx.git
cd omlx
pip install -e .
omlx serve
실행 검증
curl http://localhost:8000/v1/models
curl -X POST http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"qwen3-4b-instruct","messages":[{"role":"user","content":"hello"}]}'
웹 어드민: http://localhost:8000/admin
Mac RAM 사이즈별 추천 모델
같은 oMLX라도 Mac 사이즈가 다르면 추천 모델이 다르다. 양자화는 4-bit 기본 (mlx-community HuggingFace).
16GB RAM (M1/M2/M3 base, M4 base, MacBook Air 일부)
- Qwen3-4B-Instruct 4-bit (~2.5 GB) — 챗·요약
- Llama 4 Scout 4B 4-bit (~2.5 GB) — 일반
- Phi-5-mini 3.8B 4-bit (~2.3 GB) — 추론 강함
16GB는 4B~8B가 안전권. 큰 모델은 SSD 스왑 발생 → 속도 급락.
24GB RAM (M3/M4 Pro 일부, M4 Air 24GB)
- Qwen3.6-27B 4-bit (~14 GB) — 코딩·일반 메인
- Mistral Medium 3 22B 4-bit (~12 GB) — 다국어
- Llama 4 Scout 17B 4-bit (~10 GB) — 일반
24GB는 현재 로컬 LLM sweet spot. Qwen3.6-27B로 GPT-5 mini급 결과.
36~48GB RAM (M3/M4 Pro 상위)
- Qwen3.6-27B 8-bit (~28 GB) — 고품질 코딩
- GPT-OSS 20B 4-bit (~12 GB) — 추론
- 코딩 모델 + 임베딩 동시 서빙 가능 (oMLX 멀티모델)
64GB+ RAM (M3/M4/M5 Max)
- Qwen3.6-27B 8-bit (~28 GB) — 메인
- Kimi K2.6 32B-active 4-bit (~64 GB, 총 1T MoE) — 고성능 코딩
- GPT-OSS 20B + Qwen3.6-27B + 임베딩 동시 가능
128GB (M3/M4 Ultra)
- DeepSeek-V4-Flash 4-bit (~150 GB) 분할 로드 가능
- Qwen3.6-72B / Llama 4 Maverick
mlx-community Hugging Face에는 약 4,653개 모델이 MLX 양자화 형태로 올라와 있다. 새 모델은 보통 출시 24시간 내 4-bit 변환본이 등록된다.
Claude Code 백엔드로 oMLX 사용
이게 oMLX의 진짜 가치다. Claude Code가 보통 Anthropic API로 호출되지만, API URL을 oMLX의 Anthropic 호환 엔드포인트로 바꾸면 그대로 로컬 추론이 된다.
설정 방법
.zshrc 또는 프로젝트 환경 변수:
export ANTHROPIC_API_URL=http://localhost:8000
export ANTHROPIC_API_KEY=local
또는 Claude Code의 .claude/settings.json:
{
"anthropic_base_url": "http://localhost:8000",
"anthropic_api_key": "local"
}
oMLX의 /v1/messages 엔드포인트가 Anthropic Messages API 명세를 그대로 따른다. Tool Use 형식까지 호환된다 (단, 일부 신규 도구는 짧은 테스트 권장).
효과
- 외부 API 비용 $0
- 데이터 외부 유출 없음
- 인터넷 끊겨도 동작
- SSD KV 캐시 → 동일 시스템 프롬프트 반복 호출 시 TTFT 5초 미만
Cursor도 동일
API URL: http://localhost:8000/v1
API Key: (임의 문자열)
Model: 다운로드한 모델 ID (예: qwen3.6-27b-4bit)
한계와 주의
macOS 15.0 미만 미지원
Sequoia(macOS 15)부터다. 이전 버전은 Ollama 또는 LM Studio.
M5 미발표 칩 호환성
릴리스 노트에 명시 없음. 일반적 후방 호환이지만 GitHub Issues 확인 권장.
Anthropic 호환 API 한계
- Claude Code 신규 도구(예: 일부 MCP 도구)의 Tool Use 형식 정확히 일치하지 않을 가능성
- 본격 사용 전 짧은 작업으로 테스트
SSD 수명
KV 캐시를 SSD에 영속화 → 쓰기 빈도 증가. - 외장 SSD(예: T7 Shield) 활용 권장 — 내장 NVMe 보호 - 내장 사용 시 6개월~1년 단위 SMART 모니터링
보안 — 로컬 노출 금지
기본 바인딩은 127.0.0.1(localhost). 다른 기기에서 접근하려면 Tailscale 같은 VPN 사용. 절대 인터넷에 직노출 금지.
실전 워크플로우 — M4 Max 64GB Mac
월 Claude Pro 결제만 $20, Claude Code Anthropic API 추가 사용량까지 합치면 헤비 사용자는 월 $200~$500도 나온다. oMLX로 80% 절감하는 흐름:
- oMLX 설치 (Homebrew)
- Qwen3.6-27B 8-bit + GPT-OSS 20B 4-bit 동시 다운로드
- Claude Code
ANTHROPIC_API_URL=http://localhost:8000설정 - 일상 코딩 (자동완성·리팩터·작은 함수 작성): Qwen3.6-27B 사용 (속도 우선)
- 복잡한 추론 (아키텍처·스레드 안전·동시성): Anthropic API로 라우팅 (Claude Opus 4.7)
- 결과: ~80% 호출 로컬화 → 월 $200+ 절감 가능
사내 RAG, 데이터 외부 유출 금지
- oMLX + bge-m3 임베딩 + Qwen3.6-27B 8-bit
- 모든 모델 동시 서빙 (oMLX 멀티모델 강점)
- 사내 문서 → 임베딩 → 벡터DB (Chroma/Qdrant)
- 질의 → top-k → Qwen3.6-27B 답변
- 결과: 외부 API 호출 0건, 응답 평균 2~5초
정리
oMLX의 단 하나의 정수: "Apple Silicon에 최적화된 Claude Code 백엔드".
| 강점 | 기준 |
|---|---|
| 속도 | MLX 기반 → Ollama 대비 1.5~2.3배 (Apple Silicon) |
| 호환 | OpenAI + Anthropic 양쪽 API |
| 비용 | Apache 2.0, 모델은 무료 (mlx-community) |
| 통합 | Claude Code/Cursor 드롭인 |
| 캐시 | RAM + SSD 2단 → 에이전트 TTFT 5초 미만 |
| 멀티모달 | LLM + VLM + OCR + 임베딩 동시 |
M3 이상 Mac을 가졌고 Claude Code 비용이 부담이면 이번 주말에 한 번 깔아 볼 가치가 있다. 안 맞으면 지우면 그만이고, 맞으면 매월 청구서가 가벼워진다.
참고 자료 (1차 출처)
- oMLX: github.com/jundot/omlx, omlx.ai
- Apple MLX: machinelearning.apple.com/research/exploring-llms-mlx-m5
- MLX 프레임워크: github.com/ml-explore/mlx
- Ollama MLX: ollama.com/blog/mlx
- mlx-community: huggingface.co/mlx-community
- Qwen3.6-27B: huggingface.co/Qwen/Qwen3.6-27B
시리즈 전체 안내: 시리즈 목차
댓글
댓글 쓰기