Fix ROPE extension issue and device mismatch #840
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Environment:
Initial error:
I examined
self.inv_freq
and found that although it was initialized on the CPU, it's now on the GPU, which caused this error:To resolve this, I modified
t
to be on the same device asself.inv_freq
, which solved the initial problem.However, a new error then occurred:
Upon checking the output, I discovered that my input sequence length is 34k, which exceeds the initial
current_rope_size
. It appears thatextend_rope_embedding
was not effective. The reason for this is thatround()
was used for rounding, preventing the rope size from increasing. To address this, I changed it to use ceiling rounding instead.