Downloads · 30 days
36
44% of all-time downloads
khadim-hussain/gpt-oss-20b-stem-reasoning
gpt-oss-20b-stem-reasoning is a text generation model from khadim-hussain. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as apache-2.0.
This is a LoRA adapter fine-tuned on OpenAI's GPT-OSS-20B for STEM reasoning tasks using the Harmony response format.
Downloads · 30 days
36
44% of all-time downloads
All-time downloads
81
Public
Repo size
91.6 MB
Likes
0
Public
Click a slice to open those files.
.safetensors63.7 MB · 70%
From the Hugging Face model README
This is a LoRA adapter fine-tuned on OpenAI's GPT-OSS-20B for STEM reasoning tasks using the Harmony response format.
Author: Khadim Hussain · Write-up: Fine-tuning gpt-oss-20b with Unsloth and running it in Ollama
For a different task or dataset, see my LLM fine-tuning service for how I scope, evaluate, train and hand off a custom open model.
For the merged full model (larger download, standalone use), see: khadim-hussain/gpt-oss-20b-stem-reasoning-merged
from unsloth import FastLanguageModel
# Load model with adapter
model, tokenizer = FastLanguageModel.from_pretrained(
"khadim-hussain/gpt-oss-20b-stem-reasoning",
max_seq_length=2048,
load_in_4bit=True,
)
# Format prompt using Harmony format
prompt = """<|start|>system<|message|>You are a helpful assistant trained by OpenAI.
Reasoning: medium
# Valid channels: analysis, commentary, final. Channel must be included for every message.<|end|><|start|>user<|message|>What is DNA?<|end|><|start|>assistant"""
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0], skip_special_tokens=False))
GPT-OSS uses the OpenAI Harmony format with channels:
<|channel|>analysis - Chain-of-thought reasoning (thinking)<|channel|>final - Final user-facing responseExample output:
<|start|>assistant<|channel|>analysis<|message|>DNA stands for deoxyribonucleic acid...<|end|>
<|start|>assistant<|channel|>final<|message|>DNA is a molecule that carries genetic instructions...<|return|>
| Metric | Value |
|---|---|
| Train Loss | 1.087 |
| Eval Loss | 0.837 |
| Training Examples | 4,260 |
| Evaluation Examples | 474 |
| Epochs | 1 |
| LoRA Rank | 32 |
| LoRA Alpha | 64 |
A GGUF quantized version (Q8_0, ~21GB) is available for use with Ollama/llama.cpp:
If you use this model, please cite:
@misc{hussain2026gptoss-stem,
author = {Hussain, Khadim},
title = {GPT-OSS-20B STEM Reasoning: Fine-tuned for Science Q&A with Chain-of-Thought},
year = {2026},
publisher = {Hugging Face},
url = {https://huggingface.co/khadim-hussain/gpt-oss-20b-stem-reasoning}
}
Also cite the original GPT-OSS model:
@misc{openai2025gptoss,
author = {OpenAI},
title = {GPT-OSS: Open-Weight Language Models},
year = {2025},
url = {https://github.com/openai/gpt-oss}
}
Apache 2.0 (inherited from GPT-OSS)