Step 1: Reproducing DeepSeek's Distilled Models
Collection
Code for training and evaluation: https://github.com/huggingface/open-r1 • 3 items • Updated • 3
How to use open-r1/Qwen2.5-Math-7B-RoPE-300k with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="open-r1/Qwen2.5-Math-7B-RoPE-300k")
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe(messages) # Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("open-r1/Qwen2.5-Math-7B-RoPE-300k")
model = AutoModelForCausalLM.from_pretrained("open-r1/Qwen2.5-Math-7B-RoPE-300k")
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]:]))How to use open-r1/Qwen2.5-Math-7B-RoPE-300k with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "open-r1/Qwen2.5-Math-7B-RoPE-300k"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "open-r1/Qwen2.5-Math-7B-RoPE-300k",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker model run hf.co/open-r1/Qwen2.5-Math-7B-RoPE-300k
How to use open-r1/Qwen2.5-Math-7B-RoPE-300k with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "open-r1/Qwen2.5-Math-7B-RoPE-300k" \
--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": "open-r1/Qwen2.5-Math-7B-RoPE-300k",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'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 "open-r1/Qwen2.5-Math-7B-RoPE-300k" \
--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": "open-r1/Qwen2.5-Math-7B-RoPE-300k",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'How to use open-r1/Qwen2.5-Math-7B-RoPE-300k with Docker Model Runner:
docker model run hf.co/open-r1/Qwen2.5-Math-7B-RoPE-300k
This model is a variant of Qwen/Qwen2.5-Math-7B, whose RoPE base frequency was increased to 300k in order to extend the model's context from 4k to 32k tokens.
If you find this model useful in your work, please cite the original source:
@article{yang2024qwen25mathtechnicalreportmathematical,
title={Qwen2.5-Math Technical Report: Toward Mathematical Expert Model via Self-Improvement},
author={An Yang and Beichen Zhang and Binyuan Hui and Bofei Gao and Bowen Yu and Chengpeng Li and Dayiheng Liu and Jianhong Tu and Jingren Zhou and Junyang Lin and Keming Lu and Mingfeng Xue and Runji Lin and Tianyu Liu and Xingzhang Ren and Zhenru Zhang},
journal={arXiv preprint arXiv:2409.12122},
year={2024}
}
Base model
Qwen/Qwen2.5-7B