GGUF
maple
dpo
preference-optimization
on-policy-distillation
Mixture of Experts
ternary
apple-silicon
conversational
Instructions to use madebywest/maple-pro with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use madebywest/maple-pro with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf madebywest/maple-pro # Run inference directly in the terminal: llama cli -hf madebywest/maple-pro
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf madebywest/maple-pro # Run inference directly in the terminal: llama cli -hf madebywest/maple-pro
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf madebywest/maple-pro # Run inference directly in the terminal: ./build/bin/llama cli -hf madebywest/maple-pro
Use Docker
docker model run hf.co/madebywest/maple-pro
- Llama new
- LM Studio
- Jan
- Ollama
How to use madebywest/maple-pro with Ollama:
ollama run hf.co/madebywest/maple-pro
- Unsloth Desktop
- Pi
How to use madebywest/maple-pro with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf madebywest/maple-pro
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "madebywest/maple-pro" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use madebywest/maple-pro with Docker Model Runner:
docker model run hf.co/madebywest/maple-pro
- Lemonade
How to use madebywest/maple-pro with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull madebywest/maple-pro
Run and chat with the model
lemonade run user.maple-pro-{{QUANT_TAG}}List all available models
lemonade list
- Hermes Agent
How to use madebywest/maple-pro with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf madebywest/maple-pro
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default madebywest/maple-pro
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use madebywest/maple-pro with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf madebywest/maple-pro
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "madebywest/maple-pro" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
File size: 5,064 Bytes
742cfba 0b0f4bc 742cfba 0b0f4bc | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | ---
license: mit
base_model:
- deepgrove/maple-preview
tags:
- maple
- gguf
- dpo
- preference-optimization
- on-policy-distillation
- moe
- ternary
- apple-silicon
library_name: gguf
---
# Maple Pro β preference-optimized Maple (20B-A1B ternary MoE)
A single-file GGUF of Maple (deepgrove/maple-preview, MIT) after a full
distillation + DPO campaign: **the strongest measured variant of this model
family**, improving or matching the baseline on all 12 evaluated axes.
## Results (measured on a fixed local suite, identical seeds/conditions)
| Axis | Base Maple | **Maple Pro** |
|---|---|---|
| Coding probe (26 tasks) | 20 | **24** |
| GSM8K (pooled n=200) | 90/100 | **90.5/100** |
| HumanEval+ (50) | 44 | 44 |
| IFEval official checker (100) | 63 | **65** |
| Tools eval (12) | 11 | **12/12** |
| Knowledge (25) | 22 | **23** |
| Browser-agent probe (10) | 3 | **5** |
| IF-10 / IF-30 | 7 / 19 | **8** / 19 |
| DROP-30 | 20 | 20 |
| Median tokens/answer | 759 | **570 (β25%)** |
First and only configuration (of 17 tested) achieving simultaneous dominance
across every axis. All numbers reproducible; eval suite and logs described in
the model card below.
## What's inside
- Full LoRA fusion: 64 attention LoRA tensors **and** 121 DPO-updated base
tensors (norms, expert routers, QK-norms) baked into a single GGUF.
Attention projections stored as F16 (mixed precision; layers 0β7 keep the
base ternary TQ2_0 attention); ternary expert weights untouched
(byte-identical to the official base).
- Runtime: 6.6 GB, ~1B active parameters.
- Context: **128K native**, GGUF metadata allows **256K** β verified to work
natively with no flags (needle-tested β see Context section). No other
changes to the model: the 256K build differs from the 128K original by a
single metadata field.
## Context (measured)
5-needle recall (wikitext-2 haystack, depths 10/30/50/70/90%), same seeds:
| Context | Mode | Recall |
|---|---|---|
| 16Kβ131K | native | 3/5 |
| **256K** | **native (no flags)** | **4/5** |
| 256K | YaRN Γ2 | 4/5 (same) |
| 384K | YaRN Γ3 | 2/5 β fails |
No length degradation up to 256K: the hybrid SWA design (18/24 layers at
window 512) extrapolates Γ2 natively, so **256K works by just setting the
context size β no rope-scaling flags needed** (LM Studio: set the slider).
Remaining misses are section-binding confusions between same-shape needles,
uniform across lengths. 384K+ is out of reach without long-context training.
## Runtime (important)
The `maple` architecture is **not** in upstream llama.cpp. Use the DeepGrove
fork (Apache-2.0):
```sh
git clone --depth 1 https://github.com/deepgrove-ai/llama.cpp
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j --target llama-server
```
The Metal backend of the current fork does not implement the ternary TQ2_0
matmuls (experts, and the ternary attention of layers 0β7), so serve with
those tensors on CPU:
```sh
./build/bin/llama-server -m maple-pro.gguf --port 8080 -t 8 \
--cpu-moe --no-op-offload \
-ot 'blk\.[0-7]\.attn_[a-z]+\.weight=CPU'
```
OpenAI-compatible API on :8080. **LM Studio works too**: the GGUF was
verified on LM Studio's bundled runtime (2.65.1) β just load it and set
the context size. Measured decode on an M4 16 GB (idle): ~75 tok/s
(base maple-preview: ~94 tok/s β Pro trades some bandwidth for its
F16 fused attention).
### Serving at 256K
The GGUF advertises a 262144 context: just set the context size to 256K β
no rope-scaling flags required (native Γ2 extrapolation is needle-verified,
see Context section). On a 16 GB machine use quantized KV cache to fit:
```sh
./build/bin/llama-server -m maple-pro.gguf --port 8080 -t 8 \
--ctx-size 262144 \
--cpu-moe --no-op-offload \
-ot 'blk\.[0-7]\.attn_[a-z]+\.weight=CPU' \
--cache-type-k q8_0 --cache-type-v q8_0
```
KV cache quantization is your choice; q8_0 was used in the tests
(~10 GB total on a 16 GB machine).
## Training recipe (summary)
1. **Semi on-policy distillation**: the student samples its own solutions on
verified tasks (GSM8K gold answers, IFEval-style constraint checkers,
sandboxed coding tests); a frontier teacher API model (GLM-5.3-Flash)
corrects only the failures. ~3,000 verified on-policy samples + corrections.
2. **SFT** on-policy multi-domain (the 11/12-axes intermediate).
3. **DPO** on preference pairs (student error β verified teacher correction),
full-parameter (attention LoRA + norms/routers), SFT-anchored.
4. Zero-tolerance gate: a candidate ships only if it matches or beats the
baseline on **all** axes at once. 16 configurations were rejected by this
gate before this one passed.
## Credits & license
- Base model: [deepgrove/maple-preview](https://huggingface.co/deepgrove/maple-preview)
and its GGUF release (MIT).
- Runtime: [deepgrove-ai/llama.cpp](https://github.com/deepgrove-ai/llama.cpp) fork.
- This model: MIT, derivative work with attribution. Trained locally on a
single M4 16 GB via MLX.
- Made by West β [madebywest.com](https://madebywest.com)
|