oMLX는 Apple Silicon Mac에서 언어 모델·비전 언어 모델·임베딩·리랭커를 로컬로 서빙하는 추론 도구다. 연속 배칭(continuous batching)과 메모리의 hot tier·SSD의 cold tier를 잇는 계층형 KV 캐시를 내세우며, OpenAI 호환 API로 기존 클라이언트를 연결할 수 있다.
어떤 문제를 푸는가
로컬 모델을 개발 도구나 에이전트에 연결하면 같은 긴 프롬프트를 반복 처리하는 일이 많다. oMLX는 과거 컨텍스트의 KV 캐시를 계층적으로 보존해 재사용하고, 요청을 연속 배칭해 여러 요청의 처리량을 높이는 방향을 택한다.
| 기능 | 의미 |
|---|---|
| 연속 배칭 | 요청이 끝날 때까지 다음 요청을 기다리지 않고 배치에 합류시켜 처리량을 높임 |
| 계층형 KV 캐시 | 자주 쓰는 캐시는 메모리에, 덜 쓰는 캐시는 SSD에 두어 긴 문맥 재사용을 지원 |
| OpenAI 호환 API | http://localhost:8000/v1에 기존 SDK·클라이언트를 연결 |
| 관리자 UI | 모델·서버·채팅·벤치마크를 /admin에서 관리 |
설치와 시작
macOS 15 이상, Apple Silicon, Python 3.11~3.13 환경을 지원한다. 앱을 설치하거나 Homebrew로 백그라운드 서비스를 실행할 수 있다.
brew tap jundot/omlx https://github.com/jundot/omlx
brew install jundot/omlx/omlx
omlx start모델 디렉터리의 LLM·VLM·임베딩·리랭커를 자동으로 발견하며, 기본 서버는 http://localhost:8000/v1에서 연다. 고성능이 필요한 일부 모델군은 네이티브 커널과 전체 Xcode가 필요할 수 있으므로 설치 뒤 상태를 확인해야 한다.
누구에게 적합한가
- Mac에서 로컬 모델을 여러 개발 도구에 OpenAI 호환 API로 붙이고 싶은 사람
- 반복되는 긴 프롬프트와 세션에서 KV 캐시 재사용이 중요한 팀
- MLX 생태계에서 모델 서빙까지 통합하고 싶은 개발자
단일 모델을 가볍게 시험하는 목적이라면 Ollama·LM Studio·llama.cpp도 비교 대상이다. oMLX의 캐시·배칭 이점은 실제 모델, 동시 요청 수, 대화 길이에 따라 달라지므로 같은 워크로드로 측정해야 한다.
관련 문서
- llm-inference — KV 캐시와 추론 성능의 기초
- rapid-mlx — Apple Silicon용 OpenAI 호환 로컬 AI 엔진
- local-llm-tips-hardware — 로컬 LLM 하드웨어 선택 기준
참고 자료
- jundot/omlx — GitHub 공식 저장소