diff --git a/unsloth/models/falcon_h1.py b/unsloth/models/falcon_h1.py index 70223a3c20..3010d37163 100644 --- a/unsloth/models/falcon_h1.py +++ b/unsloth/models/falcon_h1.py @@ -116,7 +116,7 @@ def FalconH1Attention_fast_forward( if past_key_value is not None: kv_seq_len += past_key_value[0].shape[-2] - if position_embeddings: + if position_embeddings and kv_seq_len <= position_embeddings[0].shape[0]: cos, sin = position_embeddings else: # Extend RoPE dynamically to fit in VRA diff --git a/unsloth/models/llama.py b/unsloth/models/llama.py index caf259c0bd..502cbec8bd 100644 --- a/unsloth/models/llama.py +++ b/unsloth/models/llama.py @@ -566,7 +566,7 @@ def LlamaAttention_fast_forward( if past_key_value is not None: kv_seq_len += past_key_value[0].shape[-2] - if position_embeddings: + if position_embeddings and kv_seq_len <= position_embeddings[0].shape[0]: cos, sin = position_embeddings else: # Extend RoPE dynamically to fit in VRA diff --git a/unsloth/models/qwen3.py b/unsloth/models/qwen3.py index 3d905fe06a..1a0d641552 100644 --- a/unsloth/models/qwen3.py +++ b/unsloth/models/qwen3.py @@ -110,7 +110,7 @@ def Qwen3Attention_fast_forward( if past_key_value is not None: kv_seq_len += past_key_value[0].shape[-2] - if position_embeddings: + if position_embeddings and kv_seq_len <= position_embeddings[0].shape[0]: cos, sin = position_embeddings else: # Extend RoPE dynamically to fit in VRA