MLX model conversion, quantization, and benchmarking toolkit for Apple Silicon.
Converted models are published to HuggingFace mlx-community.
mlx-model-lab/
├── scripts/ # Automation: convert, benchmark, upload, monitor
├── benchmarks/ # Results by model (JSON + markdown reports)
├── model-cards/ # Generated model card READMEs for HuggingFace
├── configs/ # Quantization configs (OptiQ, oQ profiles)
└── docs/ # Guides, methodology notes
Model weights are not stored here — they live on HuggingFace.
- Apple M4 Pro, 48GB unified memory, 1TB SSD
- macOS 26 (Tahoe)
- oMLX v0.3.5
1. Identify gap → scripts/scan-gaps.py (check HF for missing MLX models)
2. Convert → scripts/convert.sh <model> <bits>
3. Validate quality → scripts/benchmark.sh <model> (perplexity + evals)
4. Generate card → scripts/gen-model-card.py <model> (from benchmark data)
5. Upload → scripts/upload.sh <model> mlx-community/<name>
| Method | When to use |
|---|---|
Standard (mlx_lm.convert -q) |
Quick first conversion, always do 4bit + 8bit |
AWQ (mlx_lm.awq) |
Better quality, moderate speed |
DWQ (mlx_lm.dwq) |
Best weight quality for the bit budget |
GPTQ (mlx_lm.gptq) |
Per-layer optimization |
OptiQ (mlx-optiq) |
Mixed-precision: 4bit for robust layers, 8bit for sensitive |
| oQ (oMLX built-in) | Data-driven mixed-precision, best at very low bits (2-3bit) |
MIT