|
#!/bin/bash |
|
set -x |
|
|
|
|
|
|
|
export VLLM_ATTENTION_BACKEND=XFORMERS |
|
|
|
|
|
while [[ $# -gt 0 ]]; do |
|
case $1 in |
|
--model) |
|
MODEL_PATH="$2" |
|
shift 2 |
|
;; |
|
*) |
|
break |
|
;; |
|
esac |
|
done |
|
|
|
|
|
if [ -z "$MODEL_PATH" ]; then |
|
MODEL_PATH="deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B" |
|
fi |
|
|
|
|
|
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}" |