Views
No views yet
| Metric | Value |
|---|---|
| Base Model | openai/gpt-oss-20b |
| Architecture | Mixture-of-Experts Transformer |
| Total Parameters | ~20.9B (pruned from 21B) |
| Original Experts per Layer | 32 |
| Pruned Experts per Layer | 32 |
| 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-20.9b-specialized-math-pruned-moe-only-32-experts",
7 torch_dtype=torch.bfloat16,
8 device_map="cpu",
9 trust_remote_code=True
10)
11tokenizer = AutoTokenizer.from_pretrained("AmanPriyanshu/gpt-oss-20.9b-specialized-math-pruned-moe-only-32-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-20.9b-specialized-math-pruned-moe-only-32-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-20.9b-specialized-math-pruned-moe-only-32-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|>We need to solve linear equation. Provide steps.<|end|><|start|>assistant<|channel|>final<|message|>**Equation to solve**
\[
2x + 5 = 17
\]
---
### Step 1: Isolate the term that contains \(x\)
Subtract \(5\) from both sides of the equation to move the constant term to the right side.
\[
\begin{aligned}
2x + 5 - 5 &= 17 - 5 \\
2x &= 12
\end{aligned}
\]
---
### Step 2: Solve for \(x\)
Divide both sides by the coefficient of \(x\), which is \(2\).
\[
\begin{aligned}
\frac{2x}{2} &= \frac{12}{2} \\
x &= 6
\end{aligned}
\]
---
### Solution
\[
\boxed{x = 6}
\]
**Verification**
Plug \(x = 6\) back into the original equation:
\[
2(6) + 5 = 12 + 5 = 17
\]
The left‑hand side equals the right‑hand side, confirming that \(x = 6\) is indeed the correct solution.<|return|><|channel|>analysis<|message|>Need explain theorem and usage.<|end|><|start|>assistant<|channel|>final<|message|>**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
| Purpose | How the theorem helps | Example |
|---------|-----------------------|---------|
| **Finding a missing side** | Rearrange the formula to solve for the unknown side. | A ladder leans against a wall. The ladder is 10 ft long and the base is 6 ft from the wall. Find the height: \(h=\sqrt{10^{2}-6^{2}}=8\) ft. |
| **Checking right‑angle** | Verify that \(c^{2}=a^{2}+b^{2}\). | A triangle with sides 3, 4, 5 satisfies \(5^{2}=3^{2}+4^{2}\), so it is right‑angled. |
| **Distance between two points** | Use the distance formula, which is a direct application of the theorem in coordinate geometry. | Distance between \((x_1,y_1)\) and \((x_2,y_2)\): \(\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}\). |
| **Engineering & construction** | Determine lengths of beams, angles, or structural elements that must form right angles. | Calculating the diagonal support needed in a rectangular frame. |
| **Navigation & surveying** | Compute straight‑line distances when only horizontal and vertical components are known. | A hiker moves 200 m east and 150 m north; straight‑line distance = \(\sqrt{200^2+150^2}\approx 250\) m. |
| **Computer graphics** | Compute pixel distances, collision detection, or shading calculations. | Finding the distance between two vertices in a 2D sprite. |
| **Physics** | Resolve vectors into perpendicular components or find resultant magnitudes. | A force of 10 N at 30° to the horizontal<|channel|>analysis<|message|>Need 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 area of the circle is **\(49\pi\) square meters (about 154 m²)**.<|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}