Today, we released PEFT v0.19.0 and it's a big one. Not only did we add 9 new PEFT methods, the release also contains a bunch of improvements to make PEFT more useful. Check the thread for details:
The release contains new functions to convert non-LoRA weights into LoRA weights. This allows them to be used in packages like Diffusers and vLLM that only support LoRA. Find more details here: huggingface.co/docs/peft/main…
LoRA fine-tuning can introduce so called "intruder dimensions" which contribute to forgetting (). We now have a utility function to remove intruder dimension, `reduce_intruder_dimension`. Call this on a fine-tuned LoRA model to reduce forgetting.huggingface.co/papers/2410.21…
A selection of improvements to LoRA:
- support for Tensor Parallelism
- Tensor Engine quantization
- better handling of tied weights
- support fp8 dtypes
- LoRA-GA initialization by @sambhavdixitpro
Moreover, for prefix tuning, we provide better initialization options.
We also added 9 new PEFT methods. There is not enough room here to describe them in detail, but here is a list:
With ZeroShotClassifier and FewShotClassifier from skorch, you can perform classification with LLMs.
Use any LLM from @huggingface 🤗 with a scikit-learn API – fit, predict, and predict_proba just work 🔥
The snippet below shows how to grid search the model and prompt:
🧵1/5
Because we build on Hugging Face transformers, you have the choice among thousands of models. It also means that your Large Language Model runs locally and skorch can perform some optimizations under the hood to speed things up.
🧵2/5
You should check this feature out if you
• have few labeled data
• require a drop-in replacement for sklearn classifiers
• want to force the LLM to only predict the given labels
• need the LLM to return probabilities
• want everything to run locally