Views
No views yet
| Metric | Value |
|---|---|
| Base Model | openai/gpt-oss-20b |
| Architecture | Mixture-of-Experts Transformer |
| Total Parameters | ~11.4B (pruned from 21B) |
| Original Experts per Layer | 32 |
| Pruned Experts per Layer | 16 |
| 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-11.4b-specialized-math-pruned-moe-only-16-experts",
7 torch_dtype=torch.bfloat16,
8 device_map="cpu",
9 trust_remote_code=True
10)
11tokenizer = AutoTokenizer.from_pretrained("AmanPriyanshu/gpt-oss-11.4b-specialized-math-pruned-moe-only-16-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-11.4b-specialized-math-pruned-moe-only-16-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-11.4b-specialized-math-pruned-moe-only-16-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 2x+5=17. Show step-by-step.<|end|><|start|>assistant<|channel|>final<|message|>**Equation to solve**
\[
2x + 5 = 17
\]
---
### Step 1: Isolate the variable term
Subtract 5 from both sides to get the variable term alone on the left.
\[
2x + 5 - 5 = 17 - 5
\]
\[
2x = 12
\]
---
### Step 2: Solve for \(x\)
Divide both sides by 2 (the coefficient of \(x\)).
\[
\frac{2x}{2} = \frac{12}{2}
\]
\[
x = 6
\]
---
### Result
\[
\boxed{x = 6}
\]
**Check**:
Plug \(x = 6\) back into the original equation:
\[
2(6) + 5 = 12 + 5 = 17
\]
It satisfies the equation, so the solution is correct.<|return|><|channel|>analysis<|message|>Need explain theorem, formula, usage.<|end|><|start|>assistant<|channel|>final<|message|>## The Pythagorean Theorem
### 1. Statement of the Theorem
In a right‑angled triangle (a triangle with one 90° angle), the relationship between the lengths of the two legs (the sides that form the right angle) and the hypotenuse (the side opposite the right angle) is:
\[
\boxed{a^{2} + b^{2} = c^{2}}
\]
- **\(a\)** and **\(b\)** are the lengths of the two shorter sides (the legs).
- **\(c\)** is the length of the longest side (the hypotenuse).
This equation says that the sum of the squares of the legs equals the square of the hypotenuse.
---
### 2. Why It’s Called “Pythagorean”
The theorem is named after the ancient Greek mathematician **Pythagoras of Alexandria** (c. 570–495 BC), who first proved the relationship in the *Book of the Elements* (circa 300 BC). It is one of the most fundamental results in Euclidean geometry.
---
## How the Theorem Is Used
| Application | What You Do | Example |
|-------------|-------------|---------|
| **Finding a side of a triangle** | Rearsolve the equation for the missing side | In a right triangle with legs 3 m and 4 m, find the hypotenuse: \(c = \sqrt{3^{2}+4^{2}} = 5\) m. |
| **Checking if a triangle is right‑angled** | Verify if \(a^{2}+b^{2}=c^{2}\) holds | For sides 6, 8, 10: \(6^{2}+8^{2}=36+64=100=10^{2}\) → right triangle. |
| **Geometry & Engineering** | Compute distances, angles, or design shapes (e.g., building a bridge, laying a road, or designing a 3‑D shape). | In civil engineering, the Pythagorean theorem helps calculate the length of a side of a rectangular bridge segment. |
| **Physics & Kinematics** | Relate velocity, acceleration, and time in right‑angled motion (e.g., projectile motion). | For a projectile moving horizontally 5 m and vertically 12 m, the<|channel|>analysis<|message|>Need area = π r^2 = π*49 = 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}
\]
Numerically (using \(\pi \approx 3.14159\)):
\[
A \approx 49 \times 3.14159 \,\text{m}^{2}
\approx 153.94 \,\text{m}^{2}
\]
So the area of the circle is **\(49\pi\) square meters**, or 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}