Language models on your own Mac.
Inference, chat, serving, and training for Apple Silicon, built on mlx-go. 81 language-model architectures plus 3 embedding registries, generated from one model registry.
Pre-1.0. Source private today, available for review on request. Working toward a first public v0.x tag. By the repo's own benchmarks, decode meets or exceeds Python mlx-lm on most models and prefill runs 1.4–2.8x faster.
- Generate, chat, serve —
mlx-lm-generate,mlx-lm-chat, and an HTTP server inmlx-lm-serve, as single static binaries. - 81 architectures — Llama, Gemma, Qwen, DeepSeek, Phi, Mistral, and the rest of the registry, generated via
modelircodegen rather than hand-ported one at a time. - Training and tuning — full-parameter training, LoRA and DoRA adapters, and distillation paths, with text, chat, completion, and preference dataset formats.
- Speculative decoding — draft-model acceleration, with the ANE experiments in mlx-go-ane exploring where the draft stage can run.
- Toolbox commands — quantize, convert, embed, evaluate, perplexity, benchmark, and parity-verification utilities around the core four.
mlx-go supplies arrays and autograd; mlx-go-lm adds model architectures, token generation, serving, evaluation, and training. Those training paths are intended to turn captured usage into an operator-owned model. mlx-go-vibethinker and mlx-go-fedistill both build on them.
source private repo, available for review on request — travis@tmc.dev
docs in progress
contact travis@tmc.dev