SPIRAL
Collection
8 items • Updated • 2
How to use spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B")
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe(messages) # Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B")
model = AutoModelForCausalLM.from_pretrained("spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B")
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 spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker model run hf.co/spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B
How to use spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B" \
--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": "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B",
"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 "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B" \
--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": "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'How to use spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B with Docker Model Runner:
docker model run hf.co/spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B
This model is trained with self-play on multi-games (TicTacToe, Kuhn Poker, Simple Negotiation) using the SPIRAL framework.
This model can be easily loaded and used with the transformers library.
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B"
# Load model and tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16, # or torch.float16 for GPUs that don't support bfloat16
device_map="auto"
)
# Create a text generation pipeline
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
max_new_tokens=50,
do_sample=True,
temperature=0.7,
top_k=50,
top_p=0.95
)
# Define a chat message
messages = [
{"role": "user", "content": "What is the capital of France?"}
]
# Generate text
output = pipe(messages)
print(output[0]['generated_text'])
For more advanced usage, including training and evaluation with the SPIRAL framework, please refer to the GitHub repository.
@article{liu2025spiral,
title={SPIRAL: Self-Play on Zero-Sum Games Incentivizes Reasoning via Multi-Agent Multi-Turn Reinforcement Learning},
author={Liu, Bo and Guertler, Leon and Yu, Simon and Liu, Zichen and Qi, Penghui and Balcells, Daniel and Liu, Mickel and Tan, Cheston and Shi, Weiyan and Lin, Min and Lee, Wee Sun and Jaques, Natasha},
journal={arXiv preprint arXiv:2506.24119},
year={2025},
url={https://arxiv.org/abs/2506.24119}
}
Base model
deepseek-ai/DeepSeek-R1-Distill-Qwen-7B