REAP's effectiveness depends critically on
calibration data that represents the target use case
. We specifically optimized for
code generation
,
function/tool calling
, and
agentic workflows
.
24% of mix
— Real SWE-bench trajectories with tool calls, file edits, and multi-step reasoning
The Science Behind Dataset Selection
REAP Algorithm:
1. Forward pass calibration samples through model
2. Record which experts activate and their magnitudes
3. Compute saliency = router_weight × activation_norm
4. Prune lowest-saliency experts
Key Insight: Experts are TASK-SPECIFIC
├── Some experts specialize in natural language
├── Some experts specialize in code syntax
├── Some experts specialize in JSON/structured output
└── Some experts specialize in multi-turn context
If calibration lacks code → code-specialized experts appear "unused" → get pruned → model loses coding ability
Cerebras' Original Mix (from paper)
Cerebras used the same 3 datasets in their GLM-4.6 REAP experiments:
evol-codealpaca-v1 for code generation
xlam-function-calling-60k for tool calling
SWE-smith-trajectories for agentic tasks
We followed this exact recipe for reproducibility.
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"0xSero/GLM-4.7-185B-W4A16",
device_map="auto",
trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained("0xSero/GLM-4.7-185B-W4A16", trust_remote_code=True)
🧩 Reproduction
Step 1: REAP Pruning
#!/usr/bin/env python3"""REAP Pruning Script for MoE ModelsAdapted from: https://github.com/CerebrasResearch/reap"""import subprocess
import sys
defrun_reap(
model_path: str, compression_ratio: float, dataset: str = "0xSero/glm47-reap-calibration-v2", samples: int = 1360, seed: int = 42, distance: str = "angular", reuse_observations: str = None,
):
""" Run REAP expert pruning. Args: model_path: Path to base model compression_ratio: 0.30 = prune 30%, keep 70% dataset: Calibration dataset (code + tools + agentic) samples: Number of calibration samples seed: Random seed for reproducibility distance: Distance metric for expert clustering reuse_observations: Path to pre-computed observations for instant pruning """
cmd = [
sys.executable, "src/reap/prune.py",
"--model-name", model_path,
"--dataset-name", dataset,
"--compression-ratio", str(compression_ratio),
"--prune-method", "reap",
"--seed", str(seed),
"--samples_per_category", str(samples),
"--model_max_length", "2048",
"--distance_measure", distance,
"--record_pruning_metrics_only", "true",
]
if reuse_observations:
# Instant pruning: skip calibration, reuse precomputed expert scores
cmd.extend(["--load_observations", reuse_observations])
subprocess.run(cmd, check=True)
# Example: Create 40% pruned model
run_reap(
model_path="/path/to/GLM-4.7",
compression_ratio=0.40, # Prune 40% of experts
)
Step 2: AutoRound Quantization
#!/usr/bin/env python3"""AutoRound W4A16 QuantizationIntel's state-of-the-art weight quantization using signed gradient descent."""from auto_round import AutoRound
defquantize_w4a16(
model_path: str, output_dir: str, bits: int = 4, group_size: int = 128,format: str = "auto_gptq",
):
""" Quantize model to INT4 weights with FP16 activations. Args: model_path: Path to REAP-pruned model output_dir: Output directory bits: Weight bit width (4 for W4A16) group_size: Quantization group size (128 is optimal) format: Output format (auto_gptq for vLLM compatibility) """
ar = AutoRound(
model_path,
scheme="W4A16",
device="cuda",
device_map="auto",
trust_remote_code=True,
batch_size=1,
seqlen=512,
nsamples=64,
)
ar.quantize_and_save(output_dir, format=format)
# Example: Quantize REAP-40 to W4A16
quantize_w4a16(
model_path="./GLM-4.7-REAP-40",
output_dir="./GLM-4.7-REAP-40-W4A16",
)
⚖️ License
Apache 2.0
License & citation
License inherited from the base model.
@misc{lasby2025reap,
title = {REAP the Experts: Why Pruning Prevails for One-Shot MoE Compression},
author = {Mike Lasby and Ivan Lazarevich and Nish Sinnadurai and Sean Lie and Yani Ioannou and Vithursan Thangarasa},
year = {2025}, eprint = {2510.13999}, archivePrefix = {arXiv}
}
Sponsors
Made possible by
NVIDIA · TNG Technology · Lambda · Prime Intellect · Hot Aisle
.
Runs of 0xSero GLM-4.7-185B-W4A16 on huggingface.co
112
Total runs
0
24-hour runs
2
3-day runs
4
7-day runs
70
30-day runs
More Information About GLM-4.7-185B-W4A16 huggingface.co Model
GLM-4.7-185B-W4A16 huggingface.co is an AI model on huggingface.co that provides GLM-4.7-185B-W4A16's model effect (), which can be used instantly with this 0xSero GLM-4.7-185B-W4A16 model. huggingface.co supports a free trial of the GLM-4.7-185B-W4A16 model, and also provides paid use of the GLM-4.7-185B-W4A16. Support call GLM-4.7-185B-W4A16 model through api, including Node.js, Python, http.
GLM-4.7-185B-W4A16 huggingface.co is an online trial and call api platform, which integrates GLM-4.7-185B-W4A16's modeling effects, including api services, and provides a free online trial of GLM-4.7-185B-W4A16, you can try GLM-4.7-185B-W4A16 online for free by clicking the link below.
0xSero GLM-4.7-185B-W4A16 online free url in huggingface.co:
GLM-4.7-185B-W4A16 is an open source model from GitHub that offers a free installation service, and any user can find GLM-4.7-185B-W4A16 on GitHub to install. At the same time, huggingface.co provides the effect of GLM-4.7-185B-W4A16 install, users can directly use GLM-4.7-185B-W4A16 installed effect in huggingface.co for debugging and trial. It also supports api for free installation.