Views
No views yet
| Metric | Value |
|---|---|
| Base Model | openai/gpt-oss-20b |
| Architecture | Mixture-of-Experts Transformer |
| Total Parameters | ~15.5B (pruned from 21B) |
| Original Experts per Layer | 32 |
| Pruned Experts per Layer | 23 |
| 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-15.5b-specialized-math-pruned-moe-only-23-experts",
7 torch_dtype=torch.bfloat16,
8 device_map="cpu",
9 trust_remote_code=True
10)
11tokenizer = AutoTokenizer.from_pretrained("AmanPriyanshu/gpt-oss-15.5b-specialized-math-pruned-moe-only-23-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-15.5b-specialized-math-pruned-moe-only-23-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-15.5b-specialized-math-pruned-moe-only-23-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
\]
---
### Step 1: Isolate the term with \(x\)
We want all terms containing \(x\) on one side and the constants on the other side.
Subtract \(5\) from both sides:
\[
2x + 5 - 5 = 17 - 5
\]
\[
2x = 12
\]
---
### Step 2: Solve for \(x\)
Now divide both sides by the coefficient of \(x\), which is \(2\):
\[
\frac{2x}{2} = \frac{12}{2}
\]
\[
x = 6
\]
---
### Step 3: Check the solution
Plug \(x = 6\) back into the original equation:
\[
2(6) + 5 = 12 + 5 = 17
\]
The left side equals the right side, so the solution is correct.
---
\[
\boxed{x = 6}
\]<|return|><|channel|>analysis<|message|>Need explain theorem and 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:
\[
a^{2} + b^{2} = c^{2}
\]
where
- \(a\) and \(b\) are the legs (the two sides that form the right angle),
- \(c\) is the hypotenuse.
---
### How It Is Used
| Context | What you do | Example |
|---------|-------------|---------|
| **Geometry** | Find a missing side of a right triangle | If \(a=3\) m, \(b=4\) m, then \(c=\sqrt{3^{2}+4^{2}}=\sqrt{25}=5\) m. |
| **Measurement** | Verify if a triangle is right‑angled | Measure sides \(5\), \(12\), \(13\). Since \(5^{2}+12^{2}=13^{2}\), the triangle is right‑angled. |
| **Engineering & Architecture** | Design right‑angled structures, calculate diagonal lengths, or check structural integrity. | A roof truss with legs 6 m and 8 m has a diagonal of 10 m. |
| **Navigation & Surveying** | Compute straight‑line distances (great‑circle approximations, planar maps). | Find the straight distance between two points on a map when you know the east‑west and north‑south separations. |
| **Computer Graphics & Animation** | Determine distances, normalize vectors, or compute lighting angles. | The distance between two pixels \((x_1,y_1)\) and \((x_2,y_2)\) is \(\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}\). |
| **Physics** | Resolve forces, calculate velocities, or analyze motion in perpendicular directions. | The resultant speed of an object moving 3 m/s east and 4 m/s north is \(5\) m/s. |
| **Education** | Introduce algebraic reasoning, proof techniques, and problem‑solving skills. | Proving that the area of a square built on the hypotenuse equals<|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}
= 49\pi\ \text{m}^{2}
\]
Using \(\pi \approx 3.14159\):
\[
A \approx 49 \times 3.14159 \ \text{m}^{2}
\approx 153.938\ \text{m}^{2}
\]
So the circle’s area is **\(49\pi\) square meters**, or about **\(154\ \text{m}^{2}\)** when rounded to the nearest whole number.<|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}