Views
No views yet
| Metric | Value |
|---|---|
| Base Model | openai/gpt-oss-20b |
| Architecture | Mixture-of-Experts Transformer |
| Total Parameters | ~17.9B (pruned from 21B) |
| Original Experts per Layer | 32 |
| Pruned Experts per Layer | 27 |
| Layers | 24 |
| Top-k Routing | 4 |
| Context Length | 128K tokens |
| Attention Heads | 64 (Query), 8 (Key-Value) |
| Residual Dimension | 2880 |
| Attention Pattern | Alternating dense & sliding window (128 tokens) |
| Positional Encoding | RoPE (Rotary Position Embedding) |
| Normalization | RMSNorm |
| Precision | BF16 |
| License | Apache 2.0 |
| Specialization | Math |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4# Load the specialized model on CPU
5model = AutoModelForCausalLM.from_pretrained(
6 "AmanPriyanshu/gpt-oss-17.9b-specialized-math-pruned-moe-only-27-experts",
7 torch_dtype=torch.bfloat16,
8 device_map="cpu",
9 trust_remote_code=True
10)
11tokenizer = AutoTokenizer.from_pretrained("AmanPriyanshu/gpt-oss-17.9b-specialized-math-pruned-moe-only-27-experts")
12
13# Generate with the model
14messages = [
15 {"role": "user", "content": "Solve this equation: 2x + 5 = 17. Show your work step by step."}
16]
17
18inputs = tokenizer.apply_chat_template(
19 messages,
20 add_generation_prompt=True,
21 return_tensors="pt",
22 return_dict=True,
23 reasoning_effort="medium"
24)
25
26# Ensure inputs are on the same device as model
27inputs = {k: v.to(model.device) for k, v in inputs.items()}
28
29outputs = model.generate(
30 **inputs,
31 max_new_tokens=512,
32 do_sample=True,
33 temperature=0.1,
34 top_p=0.9,
35 pad_token_id=tokenizer.eos_token_id,
36 eos_token_id=tokenizer.eos_token_id
37)
38
39# Decode only the generated part
40input_length = inputs['input_ids'].shape[1]
41response_tokens = outputs[0][input_length:]
42response = tokenizer.decode(response_tokens, skip_special_tokens=True)
43print(response)1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4# Check MPS availability and load model
5device = "mps" if torch.backends.mps.is_available() else "cpu"
6
7model = AutoModelForCausalLM.from_pretrained(
8 "AmanPriyanshu/gpt-oss-17.9b-specialized-math-pruned-moe-only-27-experts",
9 torch_dtype=torch.float16, # Better MPS compatibility
10 device_map=device,
11 trust_remote_code=True,
12 low_cpu_mem_usage=True
13)
14tokenizer = AutoTokenizer.from_pretrained("AmanPriyanshu/gpt-oss-17.9b-specialized-math-pruned-moe-only-27-experts")
15
16# Generate with the model
17messages = [
18 {"role": "user", "content": "Solve this equation: 2x + 5 = 17. Show your work step by step."}
19]
20
21inputs = tokenizer.apply_chat_template(
22 messages,
23 add_generation_prompt=True,
24 return_tensors="pt",
25 return_dict=True,
26 reasoning_effort="medium"
27)
28
29# Move inputs to model device
30inputs = {k: v.to(model.device) if isinstance(v, torch.Tensor) else v for k, v in inputs.items()}
31
32# Use torch.no_grad for MPS stability
33with torch.no_grad():
34 outputs = model.generate(
35 **inputs,
36 max_new_tokens=512,
37 do_sample=True,
38 temperature=0.1,
39 top_p=0.9,
40 pad_token_id=tokenizer.eos_token_id,
41 eos_token_id=tokenizer.eos_token_id,
42 use_cache=True
43 )
44
45# Decode only the generated part
46input_length = inputs['input_ids'].shape[1]
47response_tokens = outputs[0][input_length:]
48response = tokenizer.decode(response_tokens, skip_special_tokens=True)
49print(response)1device_map="auto" # Will automatically use GPU if available
2torch_dtype=torch.bfloat16 # or torch.float16<|channel|>analysis<|message|>Just solve linear.<|end|><|start|>assistant<|channel|>final<|message|>Sure! Let’s solve the equation step by step.
**Equation**
\[
2x + 5 = 17
\]
---
### 1. Isolate the term with \(x\)
We want the expression \(2x\) by itself on one side.
Subtract \(5\) from both sides of the equation:
\[
2x + 5 - 5 = 17 - 5
\]
\[
2x = 12
\]
---
### 2. Solve for \(x\)
Now divide both sides by the coefficient of \(x\), which is \(2\):
\[
\frac{2x}{2} = \frac{12}{2}
\]
\[
x = 6
\]
---
### 3. Check the solution
Plug \(x = 6\) back into the original equation to verify:
\[
2(6) + 5 = 12 + 5 = 17
\]
The left‑hand side equals the right‑hand side, so the solution is correct.
---
**Answer**
\[
\boxed{x = 6}
\]<|return|><|channel|>analysis<|message|>Need explain theorem, formula, usage.<|end|><|start|>assistant<|channel|>final<|message|>**The Pythagorean Theorem**
> In a right‑angled triangle, the square of the length of the hypotenuse (the side opposite the right angle) equals the sum of the squares of the lengths of the other two sides.
Mathematically:
\[
c^2 = a^2 + b^2
\]
where
- \(c\) = length of the hypotenuse,
- \(a\) and \(b\) = lengths of the two legs.
---
### How It Is Used
| Context | What you do | Example |
|---------|-------------|---------|
| **Geometry** | Find a missing side of a right triangle | If \(a = 3\) m and \(b = 4\) m, then \(c = \sqrt{3^2+4^2}=5\) m. |
| **Construction & Engineering** | Verify right angles or measure distances | A carpenter checks that a corner is 90° by measuring the diagonal of a square cut‑out. |
| **Navigation & Surveying** | Compute straight‑line distances (great‑circle approximations, planar maps) | A surveyor uses the theorem to find the distance between two points when the east‑west and north‑south offsets are known. |
| **Computer Graphics** | Calculate Euclidean distances between points | In 2‑D or 3‑D space, the distance between \((x_1,y_1)\) and \((x_2,y_2)\) is \(\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}\). |
| **Physics** | Resolve vectors into components | The magnitude of a velocity vector \(\vec{v} = (v_x, v_y)\) is \(|\vec{v}| = \sqrt{v_x^2+v_y^2}\). |
| **Computer Science** | Algorithms for nearest‑neighbor search, clustering, etc. | K‑means clustering uses Euclidean distance to assign points to centroids. |
| **Art & Design** | Create perspective drawings, calculate proportions | An artist uses the theorem to maintain correct proportions when drawing a 3‑D object on 2‑D paper. |
---
### Quick “Check‑It” Formula
If you know two sides, you can find the third:<|channel|>analysis<|message|>Compute area = π r^2 = π*49 ≈ 153.938.<|end|><|start|>assistant<|channel|>final<|message|>The area \(A\) of a circle is given by
\[
A = \pi r^{2}
\]
where \(r\) is the radius.
For a radius of \(7\) m:
\[
A = \pi (7\,\text{m})^{2} = \pi \times 49\,\text{m}^{2}
\]
\[
A \approx 3.14159 \times 49 \;\text{m}^{2} \approx 153.94 \;\text{m}^{2}
\]
So the area of the circle is **about \(154\ \text{m}^2\)** (rounded to the nearest whole square meter).<|return|>1@misc{priyanshu2025gptoss,
2 title={{GPT-OSS MoE Expert Fingerprinting: Analyzing Expert Activation Patterns in Mixture of Experts Models}},
3 author={Priyanshu, Aman and Vijay, Supriti},
4 year={2025},
5 howpublished={\url{https://amanpriyanshu.github.io/GPT-OSS-MoE-ExpertFingerprinting/}},
6 note={Interactive analysis tool for expert activation patterns in MoE architectures}
7}