MTPLX

Local AI RunnersCLIPython

★ 2,347주당 +76조회 2

무엇인가

MTPLX는 Apple Silicon에서 로컬 언어 모델을 실행하는 추론 런타임이다. llama.cpp, Ollama, LM Studio가 차지하는 자리를 대체하며, 모델 가중치와 토크나이저를 Mac에 내려받아 프로세스 안에서 직접 디코딩한다. 배포 형태는 네이티브 Mac 앱과 `mtplx` 명령줄 두 가지이고 구현 언어는 Python이다.

어떻게 동작하나

핵심은 모델이 가진 multi-token prediction(MTP) 헤드를 그대로 초안 생성기로 쓰는 것이다. 모델이 스스로 여러 토큰을 앞서 초안으로 뽑고, 한 번의 배치 forward pass가 그 초안을 검증한다. 채택 여부는 Leviathan·Chen의 rejection sampling 정리와 잔차 보정으로 결정되므로 출력 분포는 원래 모델의 분포와 같다. 기본 디코딩 깊이는 3이고, `mtplx tune --retune`이 자기 Mac에서 자기회귀 디코딩과 각 깊이를 비교해 더 얕은 깊이를 저장한다. 서버는 `http://127.0.0.1:8000`에서 OpenAI와 Anthropic API를 함께 말한다.

무엇과 다른가

다른 가속 방식과의 차이는 초안 모델을 따로 올리지 않는다는 점이다. 별도 드래프트 모델이 RAM을 차지하지 않고, greedy 근사로 출력을 조용히 바꾸지도 않는다. 온도가 얼마든 출력 분포가 모델 자신의 분포와 일치한다. 속도는 순수 디코딩 대비 16GB M4 Mac mini에서 1.6배, M5 Max에서 2.24배로 측정됐다. 비교 대상은 mlx-serve, oMLX, LM Studio, Ollama, llama.cpp, mlx-lm이다.

어떻게 쓰나

설치는 DMG를 Applications로 끌어다 놓는 방식이 가장 짧다. 앱이 하드웨어를 확인하고 메모리에 맞는 모델을 추천해 내려받으며, 자체 Python 엔진과 팬 제어를 설치하고 `mtplx`를 PATH에 넣은 뒤 디코딩 깊이를 측정한다. CLI만 쓰려면 `python3 -m pip install mtplx`로 설치한다. 모델 팩은 Hugging Face의 Youssofal 아래에 있고, 서버를 띄운 뒤 OpenCode, Pi, Hermes, Claude Code, Cline, Cursor를 `http://127.0.0.1:8000`으로 향하게 한다.

전제와 한계

요구 사항은 Apple Silicon(M1 이상)과 macOS 14 이상이다. 16GB에서는 4B·9B 모델이 돌고, Qwen 3.8 Optimized Speed는 32GB 이상, Qwen 3.8 Flash Next 팩은 96GB 이상 통합 메모리에서 쓴다. M1·M2에는 FP16 빌드가, 나머지 칩에는 bf16 부모가 자동으로 배정된다. Flash Next는 컨텍스트 262,144 토큰과 이미지 입력을 지원하고, 51B 파라미터 n-gram 테이블은 기본적으로 SSD에서 스트리밍되어 상주 메모리를 차지하지 않는다.

관련 논문 3

유사 도구