It seems like they use a fixed-distribution controller for training. It’d be nice to see why it’s worth deviating from the original RL paradigm.
DyLoRA: Parameter Efficient Tuning of Pre-Trained Models
11–20 of 37 posts
Re: DyLoRA: Parameter Efficient Tuning of Pre-Trained Models
#12I'm unsure of the value of dynamically reducing the rank of the LoRA matrix at inference time given that probably most of the parameter count comes from the original weights rather than the LoRA diff. But nonetheless, training time improvements look interesting. e: Oh I see, the training time improvement is compared to a grid search over the LoRA rank. Not for a single run. I am not convinced that you shouldn't just…
Re: DyLoRA: Parameter Efficient Tuning of Pre-Trained Models
#13I'm unsure of the value of dynamically reducing the rank of the LoRA matrix at inference time given that probably most of the parameter count comes from the original weights rather than the LoRA diff. But nonetheless, training time improvements look interesting. e: Oh I see, the training time improvement is compared to a grid search over the LoRA rank. Not for a single run. I am not convinced that you shouldn't just…
The optimal rank could differ across layers
Re: DyLoRA: Parameter Efficient Tuning of Pre-Trained Models
#14Earlier quoted context omitted.
Fastest way to show what? That you should train with the maximum sized LoRA you can? Because the only upsides to having a smaller LoRA are in the training time, and if you are already able to train a DynLoRA with max rank 8, then you should just train a LoRA with that rank.
You get diminishing returns as you increase the rank, so with a fixed training budget it's not clear whether you get the best return from increasing rank vs increasing something else. If you start off by training DynLORA with max rank 8 you can see returns diminish fast beyond rank 5. Then you can use rank 5 for the rest of your training. You wouldn't know that with LoRA. I think this is the idea behind the paper. If…
Re: DyLoRA: Parameter Efficient Tuning of Pre-Trained Models
#15How does this technique differ from the supernet optimization for one-shot NAS? https://proceedings.mlr.press/v80/bender18a.html It seems like they use a fixed-distribution controller for training. It’d be nice to see why it’s worth deviating from the original RL paradigm.
Re: DyLoRA: Parameter Efficient Tuning of Pre-Trained Models
#16Earlier quoted context omitted.
You get diminishing returns as you increase the rank, so with a fixed training budget it's not clear whether you get the best return from increasing rank vs increasing something else. If you start off by training DynLORA with max rank 8 you can see returns diminish fast beyond rank 5. Then you can use rank 5 for the rest of your training. You wouldn't know that with LoRA. I think this is the idea behind the paper. If…
I can see that. But are we sure that a rank-based difference that doesn't manifest early in the training process won't manifest as you get further along? See also 'grokking' [0] [0]: https://arxiv.org/abs/2201.02177
Re: DyLoRA: Parameter Efficient Tuning of Pre-Trained Models
#17Kudos for the authors for providing the code https://github.com/huawei-noah/KD-NLP/tree/main/DyLoRA and the roberta example. Considering the current state of the OSS LLM community, I'm guessing someone is already porting it to Llama and gpt-style models.
Re: DyLoRA: Parameter Efficient Tuning of Pre-Trained Models
#18Earlier quoted context omitted.
The optimal rank could differ across layers
I would be shocked if the "optimal rank" in terms of performance wouldn't be using the maximum rank from the DynLoRA across all layers.
But if you have some capacity constraint (e.g., memory, I guess?) then you can imagine dynamic rank allocation helping in the case where the maximum rank across all layers isn't within budget.
It's a bit of a stretch though, I agree
Re: DyLoRA: Parameter Efficient Tuning of Pre-Trained Models
#19Re: DyLoRA: Parameter Efficient Tuning of Pre-Trained Models
#20Earlier quoted context omitted.
I would be shocked if the "optimal rank" in terms of performance wouldn't be using the maximum rank from the DynLoRA across all layers.
Err, I suppose trivially, the higher rank terms include the lower-rank subnets, so they dominate in terms of quality. But if you have some capacity constraint (e.g., memory, I guess?) then you can imagine dynamic rank allocation helping in the case where the maximum rank across all layers isn't within budget. It's a bit of a stretch though, I agree
Seems complicated but I could see it being useful potentially.