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を使用して以下の1行でインストールすることもできます:

$ 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