Downloads · 30 days
15
22% of all-time downloads
valendra/experimental-gpt-oss-90b-mini
experimental-gpt-oss-90b-mini is a machine learning model from valendra. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
Experimental MoE checkpoint obtained by expert pruning of openai/gpt-oss-120b. This is a research artefact, not a production model.
Downloads · 30 days
15
22% of all-time downloads
All-time downloads
69
Public
Parameters
90.8B
50 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors50 GB · 100%
How the weights are stored.
U888.7B · 98%
From the Hugging Face model README
Experimental MoE checkpoint obtained by expert pruning of openai/gpt-oss-120b. This is a research artefact, not a production model.
Expert pruning is the process of removing a fraction of the experts from each Mixture-of-Experts (MoE) layer 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 (at inference) the amount of compute spent on the MoE block.
This release keeps 75% of the original experts per layer (96 out of 128) from the 120B base model. The router weight matrix, the router bias and the expert tensors are sliced along the expert dimension using random-moe-pruning. The default configuration is used (--prune-level 0.25, --top-k 4, --num-examples 1000, --random-seed 42).
| Field | Value |
|---|---|
| Base model | openai/gpt-oss-120b |
| Original experts / layer | 128 |
| Pruned experts / layer | 96 |
| Experts kept per token | 4 |
| Prune level | 0.25 |
The metadata fields pruned_from_num_experts and pruned_to_num_experts in config.json reflect the change for traceability.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "valendra/experimental-gpt-oss-90b-mini"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
dtype=torch.bfloat16,
device_map="auto",
)
chat_template.jinja from the base model is reused.