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

Fix LoRA & (IA)³ implementation for Bart & MBart #518

Merged
merged 3 commits into from
Mar 20, 2023

Conversation

calpt
Copy link
Member

@calpt calpt commented Mar 14, 2023

This PR fixes a critical issue in the LoRA & (IA)³ implementation of Bart & MBart, where LoRA & (IA)³ weights were not added to the intermediate and output linear layers of the model's decoder blocks.

I.e., adapter configs having intermediate_lora=True or output_lora=True are added incorrectly to (M)Bart models. For LoRA, this does not affect the default config, for (IA)³ it does (intermediate_lora=True).

To ensure correct addition of weights in the future, get_adapter() tests are updated to count the number of modules added per adapter.

@calpt calpt requested a review from hSterz March 16, 2023 07:55
Copy link
Member

@hSterz hSterz left a comment

Choose a reason for hiding this comment

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

Looks good to me

@calpt calpt merged commit 09148e0 into adapter-hub:master Mar 20, 2023
@calpt calpt deleted the fix/bart_lora branch March 20, 2023 17:58
hSterz added a commit to hSterz/adapter-transformers that referenced this pull request Aug 5, 2023
Fix resume_from_checkpoint (adapter-hub#514)

add initialization of variable so invalid checkpoints throw a understandable error

Fix LoRA & (IA)³ implementation for Bart & MBart (adapter-hub#518)

Fixes a critical issue in the LoRA & (IA)³ implementation of Bart & MBart, where LoRA & (IA)³ weights were not added to the intermediate and output linear layers of the model's decoder blocks.

I.e., adapter configs having intermediate_lora=True or output_lora=True are added incorrectly to (M)Bart models. For LoRA, this does not affect the default config, for (IA)³ it does (intermediate_lora=True).

To ensure correct addition of weights in the future, get_adapter() tests are updated to count the number of modules added per adapter.

Fix python3.7 Compatibility (adapter-hub#510)

Compatibility with python3.8+ and pytorch1.12.1+

Restore compatibility in GPT-2 LoRALinear bias init (adapter-hub#525)

Fix compacter init weights (adapter-hub#516)

Update doc chapter "Getting Started" (adapter-hub#527)

Update version to 3.2.1

Fix Notebook01 Dataset column_rename (adapter-hub#543)

Update doc chapter "Adapter Methods" (adapter-hub#535)

Do not stale issues labeled as bugs (adapter-hub#550)
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.

2 participants