docs/ascend_tutorial/get_start/quick_start.rst
Last updated: 05/13/2026.
trainer.device=npu 参数,新增特性通过设置 trainer.device 仍可优先使用,逐步适配自动识别能力。如需快速验证环境和基础链路,可以使用 Qwen2.5-0.5B GRPO 场景。
该场景用于检查:
.. code-block:: bash
python3 examples/data_preprocess/gsm8k.py --local_save_dir ~/data/gsm8k
生成文件:
.. code-block:: text
~/data/gsm8k/train.parquet ~/data/gsm8k/test.parquet
.. code-block:: bash
set -x
python3 -m verl.trainer.main_ppo
algorithm.adv_estimator=grpo
data.train_files=$HOME/data/gsm8k/train.parquet
data.val_files=$HOME/data/gsm8k/test.parquet
data.train_batch_size=128
data.max_prompt_length=512
data.max_response_length=128
data.filter_overlong_prompts=True
data.truncation='error'
actor_rollout_ref.model.path=Qwen/Qwen2.5-0.5B-Instruct
actor_rollout_ref.actor.optim.lr=5e-7
actor_rollout_ref.model.use_remove_padding=False
actor_rollout_ref.actor.entropy_coeff=0.001
actor_rollout_ref.actor.ppo_mini_batch_size=64
actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu=20
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.model.enable_gradient_checkpointing=True
actor_rollout_ref.actor.fsdp_config.param_offload=False
actor_rollout_ref.actor.fsdp_config.optimizer_offload=False
actor_rollout_ref.rollout.log_prob_micro_batch_size_per_gpu=40
actor_rollout_ref.rollout.enable_chunked_prefill=False
actor_rollout_ref.rollout.tensor_model_parallel_size=2
actor_rollout_ref.rollout.name=vllm
actor_rollout_ref.rollout.gpu_memory_utilization=0.6
actor_rollout_ref.rollout.n=5
actor_rollout_ref.ref.log_prob_micro_batch_size_per_gpu=40
actor_rollout_ref.ref.fsdp_config.param_offload=True
algorithm.kl_ctrl.kl_coef=0.001
trainer.critic_warmup=0
trainer.logger=console
trainer.project_name='verl_grpo_example_gsm8k'
trainer.experiment_name='qwen2_5_0_5b_grpo_vllm_ascend'
trainer.n_gpus_per_node=8
trainer.nnodes=1
trainer.save_freq=-1
trainer.test_freq=5
trainer.total_epochs=1 $@
.. list-table:: :header-rows: 1 :widths: 40 60
actor_rollout_ref.rollout.name=vllmactor_rollout_ref.rollout.tensor_model_parallel_sizeactor_rollout_ref.rollout.gpu_memory_utilizationactor_rollout_ref.rollout.ntrainer.n_gpus_per_nodetrainer.nnodes我们提供 最佳实践 <https://github.com/verl-project/verl/blob/main/docs/ascend_tutorial/model_support/examples/ascend_sglang_best_practices.rst>_ 作为参考。
当前 NPU 上支持 SGLang 后端必须添加以下环境变量。
.. code-block:: bash
export HCCL_HOST_SOCKET_PORT_RANGE=60000-60050 export HCCL_NPU_SOCKET_PORT_RANGE=61000-61050
export RAY_EXPERIMENTAL_NOSET_ASCEND_RT_VISIBLE_DEVICES=1
export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
export SGLANG_DEEPEP_BF16_DISPATCH=1
当前 verl 已解析推理常见参数,详见 async_sglang_server.py <https://github.com/verl-project/verl/blob/main/verl/workers/rollout/sglang_rollout/async_sglang_server.py>_ 中 ServerArgs 初始化传参。
其他 SGLang 参数 <https://github.com/sgl-project/sglang/blob/main/docs/advanced_features/server_arguments.md>_ 均可通过 engine_kwargs 进行参数传递。
vLLM 后端推理脚本转换为 SGLang,需要添加或修改以下参数。
.. code-block:: bash
actor_rollout_ref.rollout.name=sglang
+actor_rollout_ref.rollout.engine_kwargs.sglang.attention_backend="ascend" \
++actor_rollout_ref.rollout.engine_kwargs.sglang.deepep_mode="auto"
++actor_rollout_ref.rollout.engine_kwargs.sglang.moe_a2a_backend="deepep" \
+actor_rollout_ref.rollout.engine_kwargs.sglang.enable_dp_attention=False \
+actor_rollout_ref.rollout.engine_kwargs.sglang.chunked_prefill_size=-1