top_k=64 max_prompt_length=2048 max_completion_length=2048 max_total_length=$((max_prompt_length + max_completion_length)) export IMAGE_MAX_TOKEN_NUM=1024 # Teacher server must be running first: # CUDA_VISIBLE_DEVICES=0 \ # swift deploy \ # --model Qwen/Qwen3.5-4B \ # --infer_backend vllm \ # --port 8000 \ # --max_logprobs $top_k \ # --max_length $max_total_length \ # --vllm_max_model_len $max_total_length NPROC_PER_NODE=4 \ CUDA_VISIBLE_DEVICES=0,1,2,3 \ PYTORCH_CUDA_ALLOC_CONF='expandable_segments:True' \ swift rlhf \ --rlhf_type gkd \ --model Qwen/Qwen3.5-4B \ --teacher_model_server http://localhost:8000 \ --gkd_logits_topk $top_k \ --use_vllm true \ --vllm_mode colocate \ --vllm_gpu_memory_utilization 0.5 \ --vllm_tensor_parallel_size 1 \ --vllm_max_model_len $max_total_length \ --sleep_level 0 \ --dataset 'modelscope/gsm8k' \ --lmbda 1 \ --beta 0.5 \ --torch_dtype bfloat16 \ --per_device_train_batch_size 2 \ --gradient_accumulation_steps 4 \ --learning_rate 5e-5 \ --logging_steps 1 \ --save_steps 100 \ --save_total_limit 2 \ --max_length $max_prompt_length \ --max_completion_length $max_completion_length \ --warmup_ratio 0.1 \ --save_only_model true \ --dataloader_num_workers 4 \ --dataset_num_proc 4 \ --temperature 1.0 \ --attn_impl flash_attn \ --report_to tensorboard swanlab