logo-gpt-oss-edu

GPT-OSS for education!

This model is a fine-tuned version of gpt-oss-20b that has been trained to act as a teacher, providing accurate feedback, guiding the student towards the answer without giving it right away. It also has an encouraging and friendly personality!

This work is inspired by AI tutoring outperforms in-class active learning: an RCT introducing a novel research-based design in an authentic educational setting so I would advise anyone to read the paper as it provide interesting insights on how to make learning with LLMs fun and efficient!

Inference

The mxfp4 format is supported by NVIDIA cards using the Hopper architecture. If your hardware is not compatible, it will default to float16 and take as much as 48gb of VRAM. You can find a list of compatible GPUs here..

Installation

Install the required libraries, and restart the kernel if running in a notebook!

pip install -U transformers accelerate triton

Load the model

from transformers import AutoModelForCausalLM, AutoTokenizer

# Load the tokenizer
tokenizer = AutoTokenizer.from_pretrained("paulprt/gpt-oss-edu-fp16")

# Load the original model first
model_kwargs = dict(attn_implementation="eager", dtype="auto", use_cache=True, device_map="auto")
model = AutoModelForCausalLM.from_pretrained("paulprt/gpt-oss-edu-fp16", **model_kwargs).cuda()

Generate a chat completion

messages = [
    {"role": "user", "content": "### Problem statement : Find all positive integers n such that φ(n) = 12.\n###Answer: n = 13, 21, 26, 28, 36, 42.\n### Student question : I know that if n is prime, φ(n)=n-1, so n=13 is one solution. But how do I find the composite numbers? Can you guide me through the steps?"}
]
inputs = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt = True,
    return_tensors = "pt",
    return_dict = True,
    reasoning_effort = "low", # Use higher reasoning effort to avoid calculation errors
).to("cuda")
from transformers import TextStreamer
_ = model.generate(**inputs, max_new_tokens = 512, streamer = TextStreamer(tokenizer))

Message formatting

The model was trained using a template for the first user input, that contains the problem, answer, and student question:

messages = [
    {"role": "user", "content": "### Problem statement : Find all positive integers n such that φ(n) = 12.\n### Student question : I know that if n is prime, φ(n)=n-1, so n=13 is one solution. But how do I find the composite numbers? Can you guide me through the steps?"}
]

When building an app the exercise details and answer of this first prompt should be hidden in the conversation. The exercise itself can be displayed on the interface.

  • Developed by: paulprt
  • License: cc-by-nc-4.0
  • Finetuned from model : unsloth/gpt-oss-20b-unsloth-bnb-4bit
Downloads last month
10
Safetensors
Model size
21B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for paulprt/gpt-oss-edu-fp16

Finetuned
(522)
this model