diff --git a/verl/utils/config.py b/verl/utils/config.py index 0dcd73a9..92d4ae2e 100644 --- a/verl/utils/config.py +++ b/verl/utils/config.py @@ -86,4 +86,16 @@ def check_mutually_exclusive(mbs, mbs_per_gpu, name: str): assert config.critic.ppo_mini_batch_size % config.critic.ppo_micro_batch_size == 0 assert config.critic.ppo_micro_batch_size * sp_size >= n_gpus + # Check if use_remove_padding is enabled when using sequence parallelism for fsdp + if config.actor_rollout_ref.actor.strategy == 'fsdp': + if config.actor_rollout_ref.actor.ulysses_sequence_parallel_size > 1 or \ + config.actor_rollout_ref.ref.ulysses_sequence_parallel_size > 1: + assert config.actor_rollout_ref.model.use_remove_padding, \ + "When using sequence parallelism for actor/ref policy, you must enable `use_remove_padding`." + + if config.critic.strategy == 'fsdp': + if config.critic.ulysses_sequence_parallel_size > 1: + assert config.critic.model.use_remove_padding, \ + "When using sequence parallelism for critic, you must enable `use_remove_padding`." + print("[validate_config] All configuration checks passed successfully!")