在 Hugging Face 使用 PEFT
🤗 参数高效微调 (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 模型,您可以点击模型卡中的“在 PEFT 中使用”,您将获得一个可用的代码片段!