Instructions to use RoyceLu/Qwen3-0.6B-OpenR1-SFT with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use RoyceLu/Qwen3-0.6B-OpenR1-SFT with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="RoyceLu/Qwen3-0.6B-OpenR1-SFT") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("RoyceLu/Qwen3-0.6B-OpenR1-SFT") model = AutoModelForCausalLM.from_pretrained("RoyceLu/Qwen3-0.6B-OpenR1-SFT", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use RoyceLu/Qwen3-0.6B-OpenR1-SFT with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "RoyceLu/Qwen3-0.6B-OpenR1-SFT" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "RoyceLu/Qwen3-0.6B-OpenR1-SFT", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/RoyceLu/Qwen3-0.6B-OpenR1-SFT
- SGLang
How to use RoyceLu/Qwen3-0.6B-OpenR1-SFT with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "RoyceLu/Qwen3-0.6B-OpenR1-SFT" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "RoyceLu/Qwen3-0.6B-OpenR1-SFT", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "RoyceLu/Qwen3-0.6B-OpenR1-SFT" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "RoyceLu/Qwen3-0.6B-OpenR1-SFT", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use RoyceLu/Qwen3-0.6B-OpenR1-SFT with Docker Model Runner:
docker model run hf.co/RoyceLu/Qwen3-0.6B-OpenR1-SFT
Qwen3-0.6B-OpenR1-SFT
Qwen3-0.6B-OpenR1-SFT is a Qwen/Qwen3-0.6B-Base model fine-tuned with the Open-R1 SFT distillation recipe on the open-r1/Mixture-of-Thoughts dataset.
Base Model
- Base model:
Qwen/Qwen3-0.6B-Base - Architecture:
Qwen3ForCausalLM - Max position embeddings:
32768 - Intended use: reasoning-oriented text generation
Training Recipe
This run used the Open-R1 supervised distillation recipe derived from recipes/OpenR1-Distill-7B/sft/config_distill.yaml with the base model overridden to Qwen/Qwen3-0.6B-Base and the Hub target set to RoyceLu/Qwen3-0.6B-OpenR1-SFT.
Key settings:
- Dataset:
open-r1/Mixture-of-Thoughts(allconfig) - Epochs:
5 - Max sequence length:
32768 - Learning rate:
4e-5 - Per-device train batch size:
2 - Gradient accumulation steps:
8 - Precision:
bf16 - Attention implementation:
flash_attention_2 - Liger kernel: enabled
Data
- Training dataset:
open-r1/Mixture-of-Thoughts - Training samples seen:
349,317
Hardware And Runtime
- Hardware:
1 x node,8 x NVIDIA H100 80GB - Training runtime:
168,141.7s(1d 22h 42m 22s) - Train steps:
13,650 - Final train loss:
0.6757
Evaluation
Benchmarks were evaluated with lighteval + vLLM on single H100 GPUs. For all runs below, both baseline and fine-tuned models used the same inference settings:
max_model_length=8192temperature=0.6top_p=0.95use_chat_template=true
max_new_tokens=2048
| Benchmark | Qwen/Qwen3-0.6B-Base | Qwen3-0.6B-OpenR1-SFT | Delta (pp) |
|---|---|---|---|
AIME 2024 (LightEval pass@1, 64 samples) |
0.05% | 0.10% | +0.05 pp |
MATH-500 (LightEval pass@1, 4 samples) |
36.85% | 35.40% | -1.45 pp |
GPQA Diamond (LightEval pass@1, 8 samples) |
25.44% | 26.96% | +1.52 pp |
LiveCodeBench (LightEval pass@1, 16 samples) |
0.0933% | 1.6325% | +1.5392 pp |
max_new_tokens=4096
| Benchmark | Qwen/Qwen3-0.6B-Base | Qwen3-0.6B-OpenR1-SFT | Delta (pp) |
|---|---|---|---|
AIME 2024 (LightEval pass@1, 64 samples) |
0.68% | 1.41% | +0.73 pp |
MATH-500 (LightEval pass@1, 4 samples) |
36.80% | 41.95% | +5.15 pp |
GPQA Diamond (LightEval pass@1, 8 samples) |
24.87% | 26.77% | +1.89 pp |
LiveCodeBench (LightEval pass@1, 16 samples) |
0.0466% | 0.0231% | -0.0235 pp |
Usage
from transformers import pipeline
pipe = pipeline(
"text-generation",
model="RoyceLu/Qwen3-0.6B-OpenR1-SFT",
device="cuda",
)
messages = [{"role": "user", "content": "Solve x^2 - 5x + 6 = 0."}]
output = pipe(messages, max_new_tokens=512, return_full_text=False)
print(output[0]["generated_text"])
Citation
If you use this model in research, evaluations, or derivative model releases, please cite this model together with Qwen3 and Open-R1.
@misc{lu2026qwen3openr1sft,
author = {Royce Lu},
title = {Qwen3-0.6B-OpenR1-SFT},
year = {2026},
howpublished = {Hugging Face model repository},
note = {Fine-tuned from Qwen/Qwen3-0.6B-Base using the Open-R1 supervised distillation recipe}
}
- Downloads last month
- 6