Instructions to use AutomatosX/AX-Unlimited-OCR-3B-MoE-MLX-MXFP8 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use AutomatosX/AX-Unlimited-OCR-3B-MoE-MLX-MXFP8 with MLX:
# Make sure mlx-vlm is installed # pip install --upgrade mlx-vlm from mlx_vlm import load, generate from mlx_vlm.prompt_utils import apply_chat_template from mlx_vlm.utils import load_config # Load the model model, processor = load("AutomatosX/AX-Unlimited-OCR-3B-MoE-MLX-MXFP8") config = load_config("AutomatosX/AX-Unlimited-OCR-3B-MoE-MLX-MXFP8") # Prepare input image = ["http://images.cocodataset.org/val2017/000000039769.jpg"] prompt = "Describe this image." # Apply chat template formatted_prompt = apply_chat_template( processor, config, prompt, num_images=1 ) # Generate output output = generate(model, processor, formatted_prompt, image) print(output) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
ADR-0001: Build a Verified Checkpoint from BF16 and Publish Fail-Closed
Status: Accepted
Date: 2026-07-20
Context
The project currently references sahilchachra/unlimited-ocr-mxfp8-mlx as its
weight source. That checkpoint is already MXFP8. Re-uploading it with different
configuration or pipeline files improves runtime behavior but is not a new
weight optimization.
The existing repository also contains sensitivity and mixed-precision scripts, but measured overrides have not been generated and the legacy upload workflow does not require proof that candidate weights differ from the source.
Decision
We will:
- Use the upstream Baidu BF16 checkpoint as the only valid source for sensitivity analysis and final conversion.
- Use the Sahil MXFP8 checkpoint only as a comparative reference.
- Generate the precision map from measured group-level OCR deltas.
- Preserve high-risk optical and routing components in BF16 by default.
- Quantize eligible language-tower linear modules to block-float MXFP8 with group size 32.
- Select the native
unlimited-ocrMLX backend so R-SWA uses its bounded ring/sliding cache rather than a legacy DeepSeek-OCR fallback. - Generate a signed-by-content release manifest containing hashes, versions, metrics, and explicit pass/fail gates.
- Make publication fail-closed: no approved manifest means no upload.
- Publish under a new, provenance-clear repository:
AutomatosX/AX-Unlimited-OCR-3B-MoE-MLX-MXFP8.
Sensitivity policy
A module group is retained in BF16 when any of these conditions is true:
- CER delta is greater than 0.02 absolute.
- Digit-CER delta is greater than 0.02 absolute.
- Table-score degradation is greater than 0.01 absolute.
- The group could not be measured reliably.
- It belongs to the protected optical/routing set.
Concrete exact-path overrides take precedence over wildcard MXFP8 rules.
Alternatives considered
Repackage the Sahil checkpoint
Rejected as the primary release path. It is useful for runtime tooling, but its weights are not an AutomatosX optimization.
Re-quantize the Sahil checkpoint
Rejected. Quantizing already quantized weights compounds error and prevents a clean BF16 comparison.
Uniform MXFP8 from BF16
Rejected as the final product because it does not use OCR sensitivity evidence. It remains a useful control candidate.
Per-layer exhaustive search
Deferred. It provides finer control but multiplies evaluation cost. Group-level analysis is the first release; the data contract keeps concrete module paths so a later release can promote individual layers.
Publish first and benchmark later
Rejected. It would recreate the current ambiguity and allow unsupported claims.
Consequences
Positive:
- The published checkpoint is demonstrably distinct and reproducible.
- Quality claims are tied to recorded evidence.
- Runtime improvements and weight improvements are clearly separated.
- A broken or incomplete benchmark cannot accidentally publish a model.
Negative:
- Release requires a representative evaluation dataset and Metal-capable Mac.
- Sensitivity analysis is compute intensive.
- Conservative BF16 retention may produce a larger model than uniform MXFP8.
- A failed R-SWA or accuracy gate intentionally delays publication.