2022-12-01 14:51:26 +05:30
fix
2022-12-01 14:51:26 +05:30
2022-11-25 12:55:35 +05:30
2022-11-25 12:55:35 +05:30
2022-11-25 09:21:10 +05:30
2022-11-25 12:55:35 +05:30
2022-11-25 12:55:35 +05:30
2022-11-25 12:55:35 +05:30
fix
2022-12-01 14:51:26 +05:30
2022-11-25 12:07:08 +05:30
2022-11-25 12:55:35 +05:30

🤗 PET

Parameter-Efficient Tuning. Intergrated with 🤗 Accelerate to scale seamlessly to large models using PyTorch FSDP.

Supported methods:

  1. LoRA
  2. Prefix Tuning
  3. P-Tuning
  4. Prompt Tuning

Getting started

from transformers import AutoModelForSeq2SeqLM
from pet import get_pet_config,get_pet_model
model_name_or_path = "bigscience/mt0-large"
tokenizer_name_or_path = "bigscience/mt0-large"

config = {
    "pet_type":"LORA",
    "task_type":"SEQ_2_SEQ_LM",
    "r": 8,
    "lora_alpha": 32,
    "lora_dropout": 0.1
}
pet_config = get_pet_config(config)

model = AutoModelForSeq2SeqLM.from_pretrained(model_name_or_path)
model = get_pet_model(model, pet_config)
model.print_trainable_parameters()
# output: 

Models support matrix

Sequence Classification

Model LoRA Prefix Tuning P-Tuning Prompt Tuning
BERT ✅ ✅ ✅ ✅
RoBERTa ✅ ✅ ✅ ✅
GPT-2 ✅ ✅ ✅ ✅
Bloom ✅ ✅ ✅ ✅
OPT ✅ ✅ ✅ ✅
GPT-Neo ✅ ✅ ✅ ✅
GPT-J ✅ ✅ ✅ ✅
Deberta ✅
Deberta-v2 ✅

Causal Language Modeling

Model LoRA Prefix Tuning P-Tuning Prompt Tuning
GPT-2 ✅ ✅ ✅ ✅
Bloom ✅ ✅ ✅ ✅
OPT ✅ ✅ ✅ ✅
GPT-Neo ✅ ✅ ✅ ✅
GPT-J ✅ ✅ ✅ ✅

Conditional Generation

Model LoRA Prefix Tuning P-Tuning Prompt Tuning
T5 ✅ ✅ ✅ ✅
BART ✅ ✅ ✅ ✅

Caveats:

  1. Doesn't work currently with DeeSpeed ZeRO Stage-3. Extending support with DeeSpeed ZeRO Stage-3 is in backlog.
S
Description
🤗 PEFT: State-of-the-art Parameter-Efficient Fine-Tuning.
Readme Apache-2.0
4.6 MiB
Languages
Python 99.8%
Makefile 0.2%