What is this?
A short summary of the technique used to produce the checkpoint.
Expert pruning is the process of removing a fraction of the experts
from each Mixture-of-Experts (MoE) layer of a language model while
keeping the rest of the architecture intact. The router, the attention
blocks, the embeddings, the tokenizer, and the chat template are
unchanged. Only the per-layer expert table is reduced, which directly
shrinks the model's parameter count, memory footprint and the amount of
compute spent on the MoE block at inference time.
In this release the router weight matrix, the router bias and the
expert tensors were sliced along the expert dimension using
random-moe-pruning.
The default configuration was used (--prune-level 0.5, --top-k 4,
--num-examples 1000, --random-seed 42).
Provenance
Table with columns: Field, Value| Field | Value |
|---|
| Base model | openai/gpt-oss-120b |
| Original experts / layer | 128 |
| Pruned experts / layer | 64 |
| Experts kept per token | 4 |
| Prune level | 0.5 |
The metadata fields pruned_from_num_experts and
pruned_to_num_experts in config.json reflect the change for
traceability.
How to use
import torchfrom transformers import AutoModelForCausalLM, AutoTokenizer model_id = "valendra/experimental-gpt-oss-120b-mini" tokenizer = AutoTokenizer.from_pretrained(model_id)model = AutoModelForCausalLM.from_pretrained( model_id, dtype=torch.bfloat16, device_map="auto",)
Authors
José Carlos García Ortega and Marta Barea Sepúlveda, PhD, Valendra Tech SL.
Caveats
- This checkpoint is experimental. Quality has not been fully
benchmarked against the base model.
- The pruning is dataset-free, so the chosen experts reflect the
router's behaviour on random Gaussian probes rather than on a
calibration distribution. See the project
README for
the mathematical justification.
- The same
chat_template.jinja from the base model is reused.
- License follows the base model (Apache 2.0).