목록으로
제품2026년 5월 10일 PM 08:37

맥용 LLM 서버 'oMLX' 공개, RAM·SSD 2단계 KV 캐시로 로컬 추론 최적화

1인 개발자 jundot이 만든 Apple Silicon 맥 전용 LLM 추론 서버 oMLX가 GitHub 트렌딩에서 누적 1만 3,073개의 별을 모으며 주목받고 있다. 'LLM inference, optimized for your Mac'을 표어로 내건 이 도구는 mlx-lm을 기반으로 continuous batching과 2단계 KV 캐시를 메뉴바 앱에서 통합 관리하는 것이 특징이다.

핵심 차별점은 RAM과 SSD를 오가는 블록 기반 KV 캐시 운영이다. 자주 접근하는 블록은 RAM hot tier에 두고, 메모리가 차면 safetensors 형식으로 SSD cold tier에 내려놓는다. 같은 prefix가 포함된 다음 요청이 들어오면 디스크에서 캐시를 복원해 처음부터 재계산하지 않으며, 서버를 재시작해도 캐시가 살아남는다. vLLM에서 영감을 받은 prefix sharing과 Copy-on-Write도 함께 제공된다.

한 서버에서 텍스트 LLM, VLM(비전-언어 모델), OCR 모델, 임베딩, 리랭커를 동시에 호스팅한다. 메모리가 부족할 때는 가장 오래 사용하지 않은 모델을 자동으로 내리는 LRU 정책이 작동하고, 자주 쓰는 모델은 핀을 꽂아 상주시키거나 모델별 TTL로 유휴 시 자동 언로드를 설정할 수 있다. 기본 메모리 한도는 시스템 RAM에서 8GB를 뺀 값으로 설정되어 시스템 전체 OOM을 방지한다.

API 측면에서는 OpenAI와 Anthropic의 드롭인 대체를 표방한다. /v1/chat/completions, /v1/completions, /v1/messages(Anthropic Messages API), /v1/embeddings, /v1/rerank, /v1/models 엔드포인트를 제공하며 스트리밍 사용량 통계(stream_options.include_usage), Anthropic adaptive thinking, base64·URL 비전 입력을 지원한다.

도구 호출은 mlx-lm이 지원하는 모든 형식과 JSON 스키마 검증, MCP(Model Context Protocol) 통합을 다룬다. Llama·Qwen·DeepSeek 계열의 JSON tool_call, Qwen3.5의 XML function 태그, Gemma의 start_function_call, GLM 4.7·5의 arg_key/arg_value XML, MiniMax·Mistral·Kimi K2·Longcat의 자체 포맷이 자동 인식된다.

PyObjC 기반 네이티브 메뉴바 앱은 Electron이 아니며, 터미널을 열지 않고도 서버 시작·중지·모니터링이 가능하다. 어드민 웹 UI는 실시간 모니터링, 모델 관리, 채팅, 벤치마크를 제공하고 영어·한국어·일본어·중국어·러시아어를 지원한다. CDN 의존성을 모두 번들로 포함해 완전 오프라인으로 동작한다.

설치는 Releases에서 .dmg 파일을 받아 Applications에 끌어다 놓거나 Homebrew(brew tap jundot/omlx)로 가능하며, 소스 빌드도 지원한다. 시스템 요구사항은 macOS 15.0(Sequoia) 이상, Python 3.10 이상, Apple Silicon(M1·M2·M3·M4)이다. OpenClaw·OpenCode·Codex·Pi 같은 외부 클라이언트는 어드민 대시보드에서 원클릭으로 연결되며, Claude Code용 컨텍스트 스케일링과 SSE keep-alive로 긴 prefill 중 read timeout을 방지하는 기능도 포함됐다.

AI인사이트 편집팀

이 기사는 AI 기술을 활용해 작성되었으며, 편집팀이 검수했습니다.

관련 기사