MLX
In-depth entryby Apple Inc. · Framework · also known as Apple MLX, ml-explore/mlx
Apple's open-source array framework for machine learning on Apple Silicon, with NumPy-like Python, C++ and Swift APIs and unified CPU/GPU memory
Overview
MLX is an open-source array framework for machine learning research on Apple Silicon, developed by Apple's machine learning research group and released under the MIT license. It belongs to the same family as NumPy, PyTorch and JAX: arrays, automatic differentiation, automatic vectorization and composable function transformations, with a Python API that deliberately mirrors NumPy and higher-level mlx.nn and mlx.optimizers modules that resemble PyTorch.
Two design choices distinguish it. Arrays live in the Mac's unified memory, so an operation can run on the CPU or the GPU without copying data between device buffers. Computation is lazy: graphs are built as you call functions and materialized only when a result is needed, which lets the framework fuse and schedule work. Beyond Python there are C++ and Swift bindings (MLX Swift), and a distributed module with all-reduce, all-gather and point-to-point primitives for running data- or tensor-parallel jobs across several Macs connected by Ethernet or Thunderbolt.
In practice MLX is the engine under a growing set of Apple Silicon tools: the mlx-lm package for LLM inference and fine-tuning, mlx-whisper for speech recognition, the mlx-community model collection on the Hugging Face Hub, and distributed-inference projects such as exo. Researchers and developers who want to run or adapt models locally on a Mac Studio or MacBook, or build a small cluster of Macs, are the primary audience.
Its limits follow from its focus: MLX runs only on Apple Silicon (with a CPU-only Linux build for development), the operator and model ecosystem is smaller than PyTorch's, and multi-machine training is young compared with mature CUDA tooling. Models usually need to be converted into MLX format before use.
Capabilities
- NumPy-like array API with automatic differentiation and vectorization
- Lazy evaluation with unified CPU/GPU memory on Apple Silicon
- Neural-network and optimizer modules for training
- Python, C++ and Swift bindings
- Distributed communication primitives for multi-Mac data and tensor parallelism
- Quantized weights and kernel fusion for inference
Typical workflows
- Run a quantized LLM locally through mlx-lm
- Fine-tune a model with LoRA on a single Mac
- Prototype a research model in Python and port it to Swift for an app
- Shard a large model across several Macs with mx.distributed
Strengths
- Uses the full unified memory of a Mac for large models
- Familiar API for NumPy and PyTorch users
- Permissive MIT license and active Apple-backed development
- Swift bindings for on-device apps
Limitations
- Apple Silicon only; Linux build is CPU-only
- Smaller operator and pretrained-model ecosystem than PyTorch
- Models must be converted to MLX format
- Multi-node training tooling is less mature than CUDA-based stacks
Prerequisites
- A Mac with Apple Silicon
- Python 3.10 or newer for the Python package
- Xcode or Swift toolchain for the Swift bindings
Who it is for
- ML researchers working on Macs
- Developers shipping on-device models in Swift apps
- Operators of small Apple Silicon clusters
Alternatives & comparison
PyTorch and JAX are the general-purpose frameworks MLX borrows from; both run on Apple Silicon through Metal backends but treat the Mac as one of many targets, whereas MLX is built around unified memory and lazy evaluation specifically for it. llama.cpp also runs quantized LLMs on Macs with Metal but is a C/C++ inference engine rather than a training framework. Core ML is Apple's deployment runtime for packaged models inside apps; MLX is a research and training library that can also serve models, and Apple positions them as complementary.
- ComfyUI
Open-source node-based interface and inference engine for diffusion and other generative models (image, video, audio, 3D), runnable locally with desktop apps or as a hosted cloud
MixedOpen source - Core ML
Apple's on-device machine-learning runtime for iOS and macOS apps, with the open-source coremltools package for converting PyTorch and other models to its format
MixedFree - Create ML
Apple's app and Swift framework for training image, text, sound, tabular and activity models on a Mac without writing training code, exporting directly to Core ML
ProprietaryFree - JAX
Python library for NumPy-style array computing with composable transformations (jit, grad, vmap, shard_map) compiled through XLA to CPU, GPU and TPU
Open sourceOpen source - llama.cpp
C/C++ inference engine for LLMs and vision-language models with GGUF quantized weights, Metal, CUDA, Vulkan and other backends, a CLI and an OpenAI-compatible server
Open sourceOpen source - Metal
Apple's low-level GPU programming framework for graphics and parallel compute on iOS, macOS and visionOS, the layer beneath MLX, Core ML and most Apple Silicon ML runtimes
ProprietaryFree - MLX Whisper
Port of OpenAI's Whisper speech-recognition models to MLX, offering a CLI and Python API for local transcription on Apple Silicon
Open sourceOpen source - NumPy
Foundational Python library for n-dimensional arrays, vectorized math, linear algebra, random numbers and the array API used by the scientific stack
Open sourceOpen source - PyTorch
Open-source deep-learning framework with eager tensors, autograd, torch.compile and distributed training, governed by the PyTorch Foundation and the base of most LLM tooling
Open sourceOpen source
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- Licensehttps://github.com/ml-explore/mlx/blob/main/LICENSEchecked Nov 1, 2026
Supports: license_spdx, source_model
- Official documentationMLX — unified memory, lazy evaluation, distributedchecked Nov 1, 2026
https://ml-explore.github.io/mlx/build/html/index.html
Supports: capabilities, languages, description
- Official sitechecked Nov 1, 2026
- Repositorychecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in Apple Silicon ML & MLX
LM Studio
Element Labs, Inc. · Local LLM inference & serving
Proprietary desktop app for discovering, downloading and running local LLMs with llama.cpp and MLX engines, a chat UI, an OpenAI-compatible server, CLI, SDKs and a headless daemon
MLX LM
Apple Inc. · Apple Silicon ML & MLX
Python package and CLI for running, serving, quantizing and fine-tuning large language models on Apple Silicon with MLX
Ollama
Ollama · Local LLM inference & serving
Open-source runtime and model manager for running open-weight LLMs locally on macOS, Windows and Linux, with a REST API, OpenAI- and Anthropic-compatible endpoints and optional cloud models
Metal
Apple Inc. · Apple Silicon ML & MLX
Apple's low-level GPU programming framework for graphics and parallel compute on iOS, macOS and visionOS, the layer beneath MLX, Core ML and most Apple Silicon ML runtimes
Create ML
Apple Inc. · Apple Silicon ML & MLX
Apple's app and Swift framework for training image, text, sound, tabular and activity models on a Mac without writing training code, exporting directly to Core ML
exo
Exo Labs · Distributed & parallel computing
Open-source software that pools several Apple Silicon Macs (and Linux hosts) into one local inference cluster, sharding large models across devices with MLX