zero-lora icon indicating copy to clipboard operation
zero-lora copied to clipboard

perf添加lora-hub实用程序

Open ziwang-com opened this issue 2 years ago • 0 comments

https://github.com/huggingface/peft/pull/39

此 PR 通过能够共享经过训练的 LoRA 权重和配置来添加一些增强功能.使用此 PR,API 如下所示:peft

from transformers import AutoModelForCausalLM from peft import LoraConfig, LoraModel

model_id = "facebook/opt-350m" lora_model_id = "./temp-lora"

Create a config

config = LoraConfig( r=16, lora_alpha=32, target_modules=["q_proj", "v_proj"], lora_dropout=0.05, bias="none", ) config.save_pretrained(lora_model_id)

Load the config

config = LoraConfig.from_pretrained(lora_model_id) model = AutoModelForCausalLM.from_pretrained(model_id)

Load and save the model

model = LoraModel(config, model)

save the adapters only --> here only 6MB

model.save_pretrained(lora_model_id)

Load from saved model

model = AutoModelForCausalLM.from_pretrained(model_id) model = LoraModel.from_pretrained(model, lora_model_id) 此公关补充说:

from_pretrained支持和xxConfigLoraModel save_pretrained支持和xxConfigLoraModel


以下是我在集线器上推送的推送适配器权重的示例: https://huggingface.co/ybelkada/test-opt-lora/tree/main,您可以使用以下内容在此 PR 中加载:facebook/opt-350m

from transformers import AutoModelForCausalLM from peft import LoraConfig, LoraModel

from huggingface_hub.repocard import RepoCard

lora_model_id = "ybelkada/test-opt-lora" card = RepoCard.load(lora_model_id) model_id = card.data.to_dict()["base_model"]

Load the config & model

config = LoraConfig.from_pretrained(lora_model_id) model = AutoModelForCausalLM.from_pretrained(model_id)

Load the Lora model

model = LoraModel.from_pretrained(model, lora_model_id) 抄送@sayakpaul@pacman100此 PR 现已准备好进行审核


ziwang-com avatar Jun 05 '23 02:06 ziwang-com