Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🧹 Remove deprecated RotaryEmbedding parts in the Attention layers #34858

Merged
merged 11 commits into from
Dec 11, 2024

Conversation

Cyrilvallez
Copy link
Member

@Cyrilvallez Cyrilvallez commented Nov 21, 2024

What does this PR do?

This cleans-up the (expired) deprecated cycle for the rotary embeddings and fully move them to the Model instead of the Attention. Also removes deprecated EmbeddingClasses, and fix the tests accordingly.

@HuggingFaceDocBuilderDev

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@Cyrilvallez Cyrilvallez changed the title Remove deprecated RotaryEmbedding in the Attention layers 🧹 Remove deprecated RotaryEmbedding in the Attention layers Nov 21, 2024
@Cyrilvallez Cyrilvallez changed the title 🧹 Remove deprecated RotaryEmbedding in the Attention layers 🧹 Remove deprecated RotaryEmbedding parts in the Attention layers Nov 21, 2024
@Cyrilvallez Cyrilvallez marked this pull request as ready for review November 21, 2024 16:06
Copy link
Collaborator

@ArthurZucker ArthurZucker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's make sure we only remove where it is needed, make mandatory and should be good to go!

examples/modular-transformers/modeling_dummy.py Outdated Show resolved Hide resolved
Comment on lines -317 to -319
kv_seq_len = key_states.shape[-2]
if past_key_value is not None:
kv_seq_len += cache_position[0]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unwanted change I think

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nop, this is actually doing nothing (never used, no purpose here) so I cleaned it up!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed not linked to the rotary though, but as I'm cleaning stuff, let's remove it as the same time

@Cyrilvallez
Copy link
Member Author

@ArthurZucker should be good to go!

@Cyrilvallez Cyrilvallez mentioned this pull request Dec 4, 2024
5 tasks
Copy link
Collaborator

@ArthurZucker ArthurZucker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, btw one thing we can include: default rope initialization should be in the function itself!

@Cyrilvallez Cyrilvallez merged commit d363e71 into main Dec 11, 2024
20 checks passed
@Cyrilvallez Cyrilvallez deleted the rotary branch December 11, 2024 10:16
@ydshieh
Copy link
Collaborator

ydshieh commented Dec 11, 2024

Looks like there is a regression?

https://app.circleci.com/pipelines/github/huggingface/transformers/113239/workflows/d8800ea1-6599-4640-95cb-e9c558496c41/jobs/1512452

@Cyrilvallez Cyrilvallez mentioned this pull request Dec 11, 2024
@Cyrilvallez
Copy link
Member Author

True! Aria relies on Llama and was merged in the meantime - #35208 correctly reapplies new Llama change to Aria

BenjaminBossan added a commit to BenjaminBossan/peft that referenced this pull request Dec 12, 2024
This PR resolves the failing adoption prompt tests in the CI using
transformers installed from source.

In this transformers PR:

huggingface/transformers#34858

the module.rotary_emb attribute has been removed, which adoption prompt
so far assumed was present. Instead, the position_embeddings are now
already computed and can be taken directly from the kwargs.
BenjaminBossan added a commit to BenjaminBossan/peft that referenced this pull request Dec 12, 2024
This PR resolves the failing adoption prompt tests in the CI using
transformers installed from source.

In this transformers PR:

huggingface/transformers#34858

the module.rotary_emb attribute has been removed, which adoption prompt
so far assumed was present. Instead, the position_embeddings are now
already computed and can be taken directly from the kwargs.
BenjaminBossan added a commit to huggingface/peft that referenced this pull request Dec 13, 2024
This PR resolves the failing adoption prompt tests in the CI using
transformers installed from source.

In this transformers PR:

huggingface/transformers#34858

the module.rotary_emb attribute has been removed, which adoption prompt
so far assumed was present. Instead, the position_embeddings are now
already computed and can be taken directly from the kwargs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants