From a018a6c60459390d8fffefc3523455d1762fea6c Mon Sep 17 00:00:00 2001 From: A1wayzBeenHere Date: Wed, 24 Sep 2025 14:36:46 +0800 Subject: [PATCH 1/3] Import the index_first_axis, pad_input, unpad_input, etc in a different way to handle the case for Transformers version higher than v4.55.0 --- verl/workers/actor/dp_actor.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/verl/workers/actor/dp_actor.py b/verl/workers/actor/dp_actor.py index 99184725112..30da7879ac5 100644 --- a/verl/workers/actor/dp_actor.py +++ b/verl/workers/actor/dp_actor.py @@ -40,7 +40,17 @@ if is_cuda_available: from flash_attn.bert_padding import index_first_axis, pad_input, rearrange, unpad_input elif is_npu_available: - from transformers.integrations.npu_flash_attention import index_first_axis, pad_input, rearrange, unpad_input + try: + from transformers.integrations.npu_flash_attention import index_first_axis, pad_input, rearrange, unpad_input + except ImportError: + # Since transformers v4.55.1, index_first_axis, pad_input, and unpad_input + # have been consolidated into `transformers.modeling_flash_attention_utils`. + from einops import rearrange + from transformers.modeling_flash_attention_utils import ( + _index_first_axis as index_first_axis, + _pad_input as pad_input, + _unpad_input as unpad_input + ) __all__ = ["DataParallelPPOActor"] From 543402f777ada6aa3f733069dd27e3db3860ddd8 Mon Sep 17 00:00:00 2001 From: Huazhong Date: Wed, 24 Sep 2025 15:02:26 +0800 Subject: [PATCH 2/3] pre-commit --- verl/workers/actor/dp_actor.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/verl/workers/actor/dp_actor.py b/verl/workers/actor/dp_actor.py index 30da7879ac5..e3f85642b70 100644 --- a/verl/workers/actor/dp_actor.py +++ b/verl/workers/actor/dp_actor.py @@ -46,11 +46,9 @@ # Since transformers v4.55.1, index_first_axis, pad_input, and unpad_input # have been consolidated into `transformers.modeling_flash_attention_utils`. from einops import rearrange - from transformers.modeling_flash_attention_utils import ( - _index_first_axis as index_first_axis, - _pad_input as pad_input, - _unpad_input as unpad_input - ) + from transformers.modeling_flash_attention_utils import _index_first_axis as index_first_axis + from transformers.modeling_flash_attention_utils import _pad_input as pad_input + from transformers.modeling_flash_attention_utils import _unpad_input as unpad_input __all__ = ["DataParallelPPOActor"] From 455073c8d242105bba48cabacf4d8c681c0af647 Mon Sep 17 00:00:00 2001 From: Huazhong Date: Wed, 24 Sep 2025 15:31:31 +0800 Subject: [PATCH 3/3] more fix --- verl/workers/actor/dp_actor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/verl/workers/actor/dp_actor.py b/verl/workers/actor/dp_actor.py index e3f85642b70..edb3c896d57 100644 --- a/verl/workers/actor/dp_actor.py +++ b/verl/workers/actor/dp_actor.py @@ -43,7 +43,7 @@ try: from transformers.integrations.npu_flash_attention import index_first_axis, pad_input, rearrange, unpad_input except ImportError: - # Since transformers v4.55.1, index_first_axis, pad_input, and unpad_input + # Since transformers v4.55.1, index_first_axis, pad_input, and unpad_input # have been consolidated into `transformers.modeling_flash_attention_utils`. from einops import rearrange from transformers.modeling_flash_attention_utils import _index_first_axis as index_first_axis