FIX: New bloom changes breaking prompt learning #1969
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.
Bloom had two dimensions of the attention layer transposed (compared to all other transformers models), which was fixed by:
huggingface/transformers#31445
Therefore, for future transformers versions, skip the special handling in PEFT.
There is also an issue that prompt injection did not take place when
past_key_values
was aCache
object that is empty. This should now hopefully work as expected.For the time being,
past_key_values
is still being passed as a tuple of tensors, not sure if eventually this must be aCache
object. If yes, this will need fixing in a future PR. Same goes for the usage ofget_seq_length()
onCache
objects.Note:
I tested this locally with transformers installed form main and bloom tests passed. PEFT CI only tests this nightly, not on PR.