Qwen-R1-0.5B / README.md
QuantaSparkLabs's picture
Update README.md
261a3d4 verified
|
Raw
History Blame Contribute Delete
4.15 kB
metadata
license: apache-2.0
language:
  - en
tags:
  - reasoning
  - chain-of-thought
  - qwen
  - tiny
  - whirlwindai
pipeline_tag: text-generation
datasets:
  - WhirlwindAI/Soft-CoT-1K
library_name: transformers
base_model:
  - Qwen/Qwen2.5-0.5B-Instruct

πŸ’‘ The Idea

Good answers come from good thinking.

Qwen-R1-0.5B is a fine-tuned version of Qwen2.5-0.5B-Instruct trained to reason before it answers using explicit <thinking> tags.

Instead of jumping straight to the answer, this model generates its reasoning first β€” making it more transparent, more reliable, and easier to debug.


🧠 How It Works

Every response is structured as:

User: {question}
Assistant: <thinking>{reasoning}</thinking>
{answer}

The model learns to:

  1. Think – generate step-by-step reasoning
  2. Answer – provide the final response

πŸ“Š Training Details

Property Value
Base Model Qwen2.5-0.5B-Instruct
Dataset WhirlwindAI/Soft-CoT-1K
Examples 1,355
Method QLoRA (4-bit)
Epochs 3
Learning Rate 2e-4
LoRA Rank 16
LoRA Alpha 32

πŸš€ Quick Start

from transformers import AutoTokenizer, AutoModelForCausalLM

model_name = "WhirlwindAI/Qwen-R1-0.5B"

tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True)

prompt = "User: What is 2+2?\nAssistant: <thinking>"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=50, do_sample=True, temperature=0.7)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

πŸ“‹ Sample Output

User: What is the capital of France?
Assistant: <thinking>Paris is the capital of France.</thinking>
Paris

πŸ“ˆ Performance

The model was evaluated on 10 out-of-distribution questions:

Category Performance
Format (thinking tags) βœ… Excellent
General Knowledge βœ… Good
Creative Reasoning βœ… Good
Math/Logic ⚠️ Needs improvement
Physics/Science ⚠️ Needs improvement

πŸ”¬ What It Learned

Strength Weakness
βœ… Consistent <thinking> format ❌ Sometimes hallucinates facts
βœ… Generates reasoning before answering ❌ Struggles with multi-step math
βœ… Retains general knowledge ❌ Physics reasoning needs more data

πŸ§ͺ Test It Yourself

questions = [
    "What is the capital of France?",
    "Explain entropy like I'm 5.",
    "Write a short poem about a robot.",
]

for q in questions:
    prompt = f"User: {q}\nAssistant: <thinking>"
    inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
    outputs = model.generate(**inputs, max_new_tokens=80)
    print(tokenizer.decode(outputs[0], skip_special_tokens=True))

πŸ“œ Citation

@model{qwenr1_2026,
  title={Qwen-R1-0.5B},
  author={WhirlwindAI},
  year={2026},
  publisher={Hugging Face}
}

πŸŒͺ️ WhirlwindAI

Efficient Models β€’ Practical Research β€’ Open AI