Hub documentation

Usando PEFT no Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Usando PEFT no Hugging Face

🤗 Parameter-Efficient Fine-Tuning (PEFT) é uma biblioteca para adaptar eficientemente modelos de linguagem pré-treinados a diversas aplicações downstream sem fazer fine-tuning de todos os parâmetros do modelo.

Explorando o PEFT no Hub

Você pode encontrar modelos PEFT filtrando à esquerda na página de modelos.

Instalação

Para começar, você pode conferir o Quick Tour na documentação do PEFT. Para instalar, siga o guia de instalação do PEFT. Você também pode usar a seguinte instalação em uma linha através do pip:

$ pip install peft

Usando modelos existentes

Todos os modelos PEFT podem ser carregados do Hub. Para usar um modelo PEFT, você também precisa carregar o modelo base que foi ajustado, conforme mostrado abaixo. Todo modelo ajustado tem o modelo base em seu cartão de modelo.

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel, PeftConfig

base_model = "mistralai/Mistral-7B-v0.1"
adapter_model = "dfurman/Mistral-7B-Instruct-v0.2"

model = AutoModelForCausalLM.from_pretrained(base_model)
model = PeftModel.from_pretrained(model, adapter_model)
tokenizer = AutoTokenizer.from_pretrained(base_model)

model = model.to("cuda")
model.eval()

Uma vez carregado, você pode passar seus dados de entrada para o tokenizer para prepará-los e chamar model.generate() da maneira padrão do transformers.

inputs = tokenizer("Tell me the recipe for chocolate chip cookie", return_tensors="pt")

with torch.no_grad():
    outputs = model.generate(input_ids=inputs["input_ids"].to("cuda"), max_new_tokens=10)
    print(tokenizer.batch_decode(outputs.detach().cpu().numpy(), skip_special_tokens=True)[0])

Ele produz a seguinte saída:

Tell me the recipe for chocolate chip cookie dough.

1. Preheat oven to 375 degrees F (190 degrees C).
2. In a large bowl, cream together 1/2 cup (1 stick) of butter or margarine, 1/2 cup granulated sugar, and 1/2 cup packed brown sugar.
3. Beat in 1 egg and 1 teaspoon vanilla extract.
4. Mix in 1 1/4 cups all-purpose flour.
5. Stir in 1/2 teaspoon baking soda and 1/2 teaspoon salt.
6. Fold in 3/4 cup semisweet chocolate chips.
7. Drop by

Se você deseja carregar um modelo PEFT específico, pode clicar em Use in PEFT no cartão do modelo e receber um trecho de código funcional!

Recursos adicionais

Update on GitHub