Inkling-mlx (4-bit, text backbone)
An MLX 4-bit build of the encoder-free text backbone of Thinking Machines' Inkling
(975B-total / 41B-active MoE), for running natively on Apple Silicon with
mlx-lm.
This is created for people using a two Apple Mac Studio M3 Ultra with 192/512 GB. (for one Mac Studio you need 2-bit!)
Community note This is not fullly numerically-verified conversion, shared to see whether anyone can load/run a model this large on Apple Silicon and to gather feedback. Expect rough edges; please open a discussion with results (or failures).
Notes
- Memory: the build is ~580 GB on disk (4-bit routed experts + bf16 attention / shared experts / embeddings). Loading it needs roughly that much unified memory, beyond any single Mac today (max 512 GB), so realistically it needs distributed/multi-device MLX or a very large box. This is largely a research artifact.
- Not fully verified yet: the custom Inkling forward (factorized attention + short-conv + sigmoid MoE) is a from-reference reimplementation whose logits have not been checked against the original. Correctness is unconfirmed.
Provenance
- Source:
thinkingmachines/Inkling-NVFP4(NVFP4) → dequantized → MLX affine 4-bit (group size 64). Only the routed MoE experts are quantized; everything else is bf16. - NVFP4→INT4 re-quantization, so expect small extra quality loss vs. a BF16-sourced build.
Usage (once a loader is available)
from mlx_lm import load, generate
model, tokenizer = load("mlx-community/Inkling-NVFP4-mlx-4bit")
print(generate(model, tokenizer, prompt="The capital of France is", max_tokens=64))
The custom model class lives in the conversion repo (
models/inkling_mlx.py); until it's registered inmlx-lm, load via that module'sload().Blog: https://huckiyang.github.io/blog/inkling-audio-design.html