GPT-OSS-20B STEM Reasoning (LoRA Adapter)

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

For the merged full model (larger download, standalone use), see: khadim-hussain/gpt-oss-20b-stem-reasoning-merged

Model Description

  • Base Model: openai/gpt-oss-20b
  • Type: LoRA Adapter (QLoRA 4-bit)
  • Format: OpenAI Harmony format with analysis (thinking) and final channels
  • Training: Fine-tuned on STEM Q&A dataset with chain-of-thought reasoning

Usage

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))

Harmony Response Format

GPT-OSS uses the OpenAI Harmony format with channels:

  • <|channel|>analysis - Chain-of-thought reasoning (thinking)
  • <|channel|>final - Final user-facing response

Example 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|>

Training Details

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

Training Configuration

  • Method: QLoRA (4-bit quantization)
  • Optimizer: AdamW 8-bit
  • Learning Rate: 1e-4
  • Batch Size: 1 (with gradient accumulation 16)
  • Framework: Unsloth + TRL

GGUF Version

A GGUF quantized version (Q8_0, ~21GB) is available for use with Ollama/llama.cpp:

Acknowledgments

Citation

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}
}

License

Apache 2.0 (inherited from GPT-OSS)

Downloads last month
3
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for khadim-hussain/gpt-oss-20b-stem-reasoning

Adapter
(227)
this model