Views
No views yet
| Metric | Value |
|---|---|
| Base Model | openai/gpt-oss-20b |
| Architecture | Mixture-of-Experts Transformer |
| Total Parameters | ~13.7B (pruned from 21B) |
| Original Experts per Layer | 32 |
| Pruned Experts per Layer | 20 |
| 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 | Instruction Following |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4# Load the specialized model on CPU
5model = AutoModelForCausalLM.from_pretrained(
6 "AmanPriyanshu/gpt-oss-13.7b-specialized-instruction_following-pruned-moe-only-20-experts",
7 torch_dtype=torch.bfloat16,
8 device_map="cpu",
9 trust_remote_code=True
10)
11tokenizer = AutoTokenizer.from_pretrained("AmanPriyanshu/gpt-oss-13.7b-specialized-instruction_following-pruned-moe-only-20-experts")
12
13# Generate with the model
14messages = [
15 {"role": "user", "content": "Write a formal email to a professor requesting a meeting, including: subject line, greeting, purpose, proposed times, and professional closing."}
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-13.7b-specialized-instruction_following-pruned-moe-only-20-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-13.7b-specialized-instruction_following-pruned-moe-only-20-experts")
15
16# Generate with the model
17messages = [
18 {"role": "user", "content": "Write a formal email to a professor requesting a meeting, including: subject line, greeting, purpose, proposed times, and professional closing."}
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|>Need formal email.<|end|><|start|>assistant<|channel|>final<|message|>**Subject:** Request for Meeting – Discussion of Research Project Progress
Dear Professor [Last Name],
I hope this message finds you well. I am writing to request a brief meeting with you to discuss the current status of my research project on [brief topic], as well as to seek your guidance on the next steps.
I would be available at the following times over the next week:
- Tuesday, [Date], 10:00 – 11:00 a.m.
- Wednesday, [Date], 2:00 – 3:00 p.m.
- Friday, [Date], 9:30 – 10:30 a.m.
If any of these slots do not suit your schedule, please let me know a convenient alternative, and I will adjust accordingly.
Thank you for your time and consideration. I look forward to your guidance.
Sincerely,
[Your Full Name]
[Your Program / Department]
[University Name]
[Email Address] | [Phone Number]<|return|><|channel|>analysis<|message|>Need 6 steps numbered.<|end|><|start|>assistant<|channel|>final<|message|>1. **Gather your ingredients and tools** – You’ll need eggs, a pinch of salt, a splash of milk or butter, and a non‑stick skillet or a regular pan.
2. **Heat the pan** – Place the skillet on medium heat and let it warm up for a minute or two.
3. **Add butter or milk** – Drop a tablespoon of melted butter or a splash of milk into the pan and stir it around.
4. **Crack the eggs** – Crack the eggs into a bowl, whisk them lightly if you like, then pour the mixture into the pan.
5. **Cook until set** – Stir gently, letting the eggs cook until the whites are firm but the yolks remain creamy, about 2–3 minutes.
6. **Serve** – Turn off the heat, sprinkle a pinch of salt, and lift the eggs onto a plate for a quick, tasty breakfast.<|return|><|channel|>analysis<|message|>Need 50 words exactly. Let's craft: "Water cycles through Earth's systems, starting with evaporation from oceans, lakes, and plants. Sunlight heats it, forming vapor that condenses into clouds. Precipitation returns water to land, infiltrating soils, feeding rivers, and replenishing aquifers. Groundwater surfaces, evaporates again, and the loop continues, sustaining life." Count words. Let's count: Water(1) cycles(2) through(3) Earth's(4) systems,(5) starting(6) with(7) evaporation(8) from(9) oceans,(10) lakes,(11) and(12) plants.(13) Sunlight(14) heats(15) it,(16) forming(17) vapor(18) that(19) condenses(20) into(21) clouds.(22) Precipitation(23) returns(24) water(25) to(26) land,(27) infiltrating(28) soils,(29) feeding(30) rivers,(31) and(32) replenishing(33) aquifers.(34) Groundwater(35) surfaces,(36) evaporates(37) again,(38) and(39) the(40) loop(41) continues,(42) sustaining(43) life.(44) Need 6 more words. Add: "for ecosystems, agriculture, and human consumption." Count: for(45) ecosystems,(46) agriculture,(47) and(48) human(49) consumption.(50) Good.<|end|><|start|>assistant<|channel|>final<|message|>Water cycles through Earth's systems, starting with evaporation from oceans, lakes, and plants. Sunlight heats it, forming vapor that condenses into clouds. Precipitation returns water to land, infiltrating soils, feeding rivers, and replenishing aquifers. Groundwater surfaces, evaporates again, and the loop continues, sustaining life for ecosystems, agriculture, and human consumption.<|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}