Hub documentation

在 Hugging Face 上使用 PEFT

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

在 Hugging Face 上使用 PEFT

🤗 Parameter-Efficient Fine-Tuning (PEFT) 是一个用于高效地将预训练语言模型适配到各种下游应用的库,而无需微调模型的所有参数。

在 Hub 上探索 PEFT

您可以在模型页面左侧进行筛选,以查找 PEFT 模型。

安装

要开始使用,您可以查看 PEFT 文档中的快速入门。要安装,请遵循 PEFT 安装指南。 您也可以通过 pip 使用以下单行命令进行安装:

$ pip install peft

使用现有模型

所有 PEFT 模型都可以从 Hub 加载。要使用 PEFT 模型,您还需要加载用于微调的基础模型,如下所示。每个微调模型的模型卡中都会注明其基础模型。

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()

加载完成后,您可以将输入传递给分词器进行预处理,然后以常规的 transformers 方式调用 model.generate()。

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])

它输出以下内容:

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

如果您想加载特定的 PEFT 模型,可以单击模型卡片中的 Use in PEFT,即可获得一个可用的代码片段!

其他资源

Update on GitHub