Views
No views yet
| Metric | Value |
|---|---|
| Base Model | openai/gpt-oss-20b |
| Architecture | Mixture-of-Experts Transformer |
| Total Parameters | ~14.3B (pruned from 21B) |
| Original Experts per Layer | 32 |
| Pruned Experts per Layer | 21 |
| 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-14.3b-specialized-math-pruned-moe-only-21-experts",
7 torch_dtype=torch.bfloat16,
8 device_map="cpu",
9 trust_remote_code=True
10)
11tokenizer = AutoTokenizer.from_pretrained("AmanPriyanshu/gpt-oss-14.3b-specialized-math-pruned-moe-only-21-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-14.3b-specialized-math-pruned-moe-only-21-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-14.3b-specialized-math-pruned-moe-only-21-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. Steps: subtract 5, divide by 2. Provide explanation.<|end|><|start|>assistant<|channel|>final<|message|>**Step 1 – Write the equation**
\[
2x + 5 = 17
\]
**Step 2 – Isolate the term that contains \(x\)**
Subtract \(5\) from both sides so that the \(x\)-term is alone on the left side:
\[
2x + 5 - 5 = 17 - 5
\]
\[
2x = 12
\]
**Step 3 – Solve for \(x\)**
Divide both sides by the coefficient of \(x\), which is \(2\):
\[
\frac{2x}{2} = \frac{12}{2}
\]
\[
x = 6
\]
---
**Answer:** \(x = 6\)
(You can check by plugging back in: \(2(6) + 5 = 12 + 5 = 17\), which matches the right‑hand side.)<|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:
\[
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
| Field | Typical Application | Example |
|-------|---------------------|---------|
| **Geometry & Trigonometry** | Finding missing side lengths, proving similarity, deriving sine/cosine relationships | Given a right triangle with legs 3 m and 4 m, find the hypotenuse: \(c = \sqrt{3^{2}+4^{2}} = 5\) m. |
| **Surveying & Construction** | Determining distances, angles, and elevations on a site; ensuring right‑angle corners | A builder measures two perpendicular walls of a room; the diagonal length is calculated to verify the room is square. |
| **Navigation & Cartography** | Computing straight‑line distances (great‑circle approximations), triangulation | A sailor uses a known baseline and two bearings to locate a point on a map. |
| **Physics & Engineering** | Resolving forces, velocity components, and displacement in orthogonal directions | The resultant force of two perpendicular forces \(F_x\) and \(F_y\) is \(F = \sqrt{F_x^{2}+F_y^{2}}\). |
| **Computer Graphics & Animation** | Calculating pixel distances, ray‑casting, and collision detection | A program checks if a point lies inside a right‑angled triangle by comparing squared distances. |
| **Education & Problem‑Solving** | Teaching algebraic manipulation, proof techniques, and real‑world applications | Students prove that a 5‑4‑3 triangle is a Pythagorean triple. |
---
### Quick Steps to Apply the Theorem
1. **Identify the right angle** – the side opposite this angle is the hypotenuse.
2. **Label the legs** \(a\) and \(b\).
3. **Plug the known lengths into \(a^{2}+b<|channel|>analysis<|message|>Need area πr^2. r=7 => 49π. Provide numeric approx.<|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 \(r = 7\) m:
\[
A = \pi (7\,\text{m})^{2}
= \pi \times 49\,\text{m}^{2}
= 49\pi \,\text{m}^{2}
\]
If you want a decimal approximation, using \(\pi \approx 3.14159\):
\[
A \approx 49 \times 3.14159 \approx 153.938 \,\text{m}^{2}
\]
So the circle’s area is **\(49\pi\) square meters** (about **153.94 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}