MLX runtime for SmolVLA on Apple Silicon (checkpoint inference, serving, preview training)

#24
by squiredaniiar - opened

I maintain mlx-smolvla, an MLX-native implementation for loading SmolVLA checkpoints on Apple Silicon, serving through LeRobot’s async-inference gRPC protocol, and experimenting with LoRA fine-tuning. Torch, Transformers, and LeRobot are not required by the base runtime. On an Apple M5 Pro, fp32, a 50-action chunk measured 110.75 ms median in MLX versus 204.58 ms in PyTorch-MPS (1.85×, single machine). The repository documents separate strict CPU comparison gates and Metal statistical checks. Native training remains a research preview; serving is loopback-tested and reliable robot task completion remains unvalidated. In particular, raw smolvla_base outputs should not be treated as physical robot actions: use a reviewed checkpoint with effective normalization statistics matching the robot.

Credit to tokimoa/smolvla-mlx (Hugging Face, 2026-07-29), an earlier independent inference-only port, and tokimoa’s pi0-mlx and groot-n1.7-mlx. mlx-vlm’s SmolVLM implementation served as an architecture reference without becoming a runtime dependency; this is not a fork of either project. The code, installation steps and validation boundaries are at https://github.com/daniiarabdiev/mlx-smolvla. Feedback from anyone running smolvla_base on a Mac is welcome. — Daniiar

Sign up or log in to comment