Decoder lora feature#1095
Closed
YonghaoZhao722 wants to merge 2 commits intocomputational-cell-analytics:devfrom
Closed
Decoder lora feature#1095YonghaoZhao722 wants to merge 2 commits intocomputational-cell-analytics:devfrom
YonghaoZhao722 wants to merge 2 commits intocomputational-cell-analytics:devfrom
Conversation
… decoder_lora parameter in PEFT_Sam to control the LoRA application of decoder.
Collaborator
|
Hi @YonghaoZhao722, Thanks for the PR. I had a brief look at the changes. Overall, the changes on a higher level looks good! I'll take over from here on and refactor the design a bit, to make this modular to support for other PEFT methods in future and clean up a few more things here and there. However, I would only have time in a few days to get back to this. I'll keep you posted how this goes! |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## dev #1095 +/- ##
==========================================
- Coverage 39.72% 36.04% -3.68%
==========================================
Files 33 54 +21
Lines 4179 8450 +4271
==========================================
+ Hits 1660 3046 +1386
- Misses 2519 5404 +2885 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Hi @anwai98, I have something to discuss.
Summary
Add LoRA support for SAM decoder transformer layers with
decoder_lora=Trueparameter.Changes
SimpleLoRALayerfor individual linear layer LoRA adaptationdecoder_loraparameter toPEFT_Sam.__init__()SimpleLoRALayer
Why I added
SimpleLoRALayerinstead of adaptingLoRASurgery:qkv = nn.Linear(dim, dim*3)→ splits output into q,k,vq_proj,k_proj,v_projlayersCurrent LoRASurgery/AttentionLoRA (encoder):
Decoder needs (separate projections):
That's why I add a
SimpleLoRALayer. What do you think?