Instructions to use junnyu/DeepScaleR-1.5B-Preview-Reproduce with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use junnyu/DeepScaleR-1.5B-Preview-Reproduce with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="junnyu/DeepScaleR-1.5B-Preview-Reproduce") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("junnyu/DeepScaleR-1.5B-Preview-Reproduce") model = AutoModelForCausalLM.from_pretrained("junnyu/DeepScaleR-1.5B-Preview-Reproduce", 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 junnyu/DeepScaleR-1.5B-Preview-Reproduce with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "junnyu/DeepScaleR-1.5B-Preview-Reproduce" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "junnyu/DeepScaleR-1.5B-Preview-Reproduce", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/junnyu/DeepScaleR-1.5B-Preview-Reproduce
- SGLang
How to use junnyu/DeepScaleR-1.5B-Preview-Reproduce 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 "junnyu/DeepScaleR-1.5B-Preview-Reproduce" \ --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": "junnyu/DeepScaleR-1.5B-Preview-Reproduce", "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 "junnyu/DeepScaleR-1.5B-Preview-Reproduce" \ --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": "junnyu/DeepScaleR-1.5B-Preview-Reproduce", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use junnyu/DeepScaleR-1.5B-Preview-Reproduce with Docker Model Runner:
docker model run hf.co/junnyu/DeepScaleR-1.5B-Preview-Reproduce
| set -x | |
| # Warning: Export VLLM_ATTENTION_BACKEND on every machine before starting Ray cluster. | |
| # vLLM without XFORMERS will results in CUDA errors. | |
| export VLLM_ATTENTION_BACKEND=XFORMERS | |
| # Parse command line arguments | |
| while [[ $# -gt 0 ]]; do | |
| case $1 in | |
| --model) | |
| MODEL_PATH="$2" | |
| shift 2 | |
| ;; | |
| *) | |
| break | |
| ;; | |
| esac | |
| done | |
| # Set default model path if not provided | |
| if [ -z "$MODEL_PATH" ]; then | |
| MODEL_PATH="deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B" | |
| fi | |
| # Train over 4 nodes, 8 A100-80GB GPUs per node. | |
| python3 -m verl.trainer.main_ppo \ | |
| algorithm.adv_estimator=grpo \ | |
| data.train_files=$HOME/deepscaler/data/train.parquet \ | |
| data.val_files=$HOME/deepscaler/data/aime.parquet \ | |
| data.train_batch_size=64 \ | |
| data.val_batch_size=256 \ | |
| data.max_prompt_length=1024 \ | |
| data.max_response_length=16384 \ | |
| actor_rollout_ref.model.path=$MODEL_PATH \ | |
| actor_rollout_ref.actor.optim.lr=1e-6 \ | |
| actor_rollout_ref.model.use_remove_padding=True \ | |
| actor_rollout_ref.actor.ppo_mini_batch_size=64 \ | |
| actor_rollout_ref.actor.ppo_epochs=1 \ | |
| actor_rollout_ref.actor.use_dynamic_bsz=True \ | |
| actor_rollout_ref.actor.ppo_max_token_len_per_gpu=32768 \ | |
| actor_rollout_ref.actor.use_kl_loss=True \ | |
| actor_rollout_ref.actor.kl_loss_coef=0.001 \ | |
| actor_rollout_ref.actor.kl_loss_type=low_var_kl \ | |
| actor_rollout_ref.actor.ulysses_sequence_parallel_size=1 \ | |
| actor_rollout_ref.model.enable_gradient_checkpointing=True \ | |
| actor_rollout_ref.actor.fsdp_config.param_offload=False \ | |
| actor_rollout_ref.actor.fsdp_config.grad_offload=False \ | |
| actor_rollout_ref.actor.fsdp_config.optimizer_offload=False \ | |
| actor_rollout_ref.rollout.tensor_model_parallel_size=1 \ | |
| actor_rollout_ref.rollout.name=vllm \ | |
| actor_rollout_ref.rollout.temperature=0.6 \ | |
| actor_rollout_ref.rollout.val_temperature=0.6 \ | |
| actor_rollout_ref.rollout.gpu_memory_utilization=0.85 \ | |
| actor_rollout_ref.rollout.n=16 \ | |
| actor_rollout_ref.rollout.n_val=16 \ | |
| actor_rollout_ref.ref.fsdp_config.param_offload=True \ | |
| algorithm.kl_ctrl.kl_coef=0.001 \ | |
| trainer.critic_warmup=0 \ | |
| trainer.logger=['wandb'] \ | |
| trainer.project_name='deepscaler' \ | |
| trainer.experiment_name='deepscaler-1.5b-16k' \ | |
| +trainer.val_before_train=True \ | |
| trainer.n_gpus_per_node=8 \ | |
| trainer.nnodes=1 \ | |
| trainer.save_freq=10 \ | |
| trainer.test_freq=10 \ | |
| trainer.default_hdfs_dir=null \ | |
| trainer.total_epochs=30 "${@:1}" |