peft 0.3.0如何设置adapater_name
moseshu opened this issue · 8 comments
peft 的0.3.0在LoraModel里增加了一个adapter_name是,这个参数怎么填写?
相同版本遇到相同问题。TypeError: LoraModel.init() missing 1 required positional argument: 'adapter_name'
相同版本遇到相同问题。TypeError: LoraModel.init() missing 1 required positional argument: 'adapter_name'
你可以换一个版本的peft,我换成了0.3.0.dev0的版本,可以运行
我之前是直接将peft的源码拉下来:git clone https://github.com/huggingface/peft.git
直接运行setup.py安装:python setup.py install。
不过我现在看setup.py的源代码已经更新到0.4.0.dev0了,我没试过0.4.0.dev0版本是否能运行,你可以试一下
我之前是直接将peft的源码拉下来:git clone https://github.com/huggingface/peft.git 直接运行setup.py安装:python setup.py install。 不过我现在看setup.py的源代码已经更新到0.4.0.dev0了,我没试过0.4.0.dev0版本是否能运行,你可以试一下
非常感谢,我先试试0.3.0.dev0
在其他地方看到一个写法,暂时解决了这个问题。或许这种方式依旧存在其他问题,欢迎看到的小伙伴指出。
- pip install peft==0.3.0
- 更改脚本中加载模型的方法
# 自定义模型加载方法
from peft import LoraConfig, get_peft_model, TaskType
import torch
# 自定义加载lora配置方法
def load_lora_config(model):
config = LoraConfig(
task_type=TaskType.CAUSAL_LM,
inference_mode=False,
r=8,
lora_alpha=32,
lora_dropout=0.1,
target_modules=["query_key_value"]
)
return get_peft_model(model, config)
# 加载模型
checkpoint = "THUDM/chatglm-6b"
model = AutoModel.from_pretrained(checkpoint, trust_remote_code=True, revision = 'main')
# 使用自定义的方法加载模型
model = load_lora_config(model)
0.2.0 似乎能跑
pip install peft==0.2.0
自定义模型加载方法
from peft import LoraConfig, get_peft_model, TaskType
import torch
自定义加载lora配置方法
def load_lora_config(model):
config = LoraConfig(
task_type=TaskType.CAUSAL_LM,
inference_mode=False,
r=8,
lora_alpha=32,
lora_dropout=0.1,
target_modules=["query_key_value"]
)
return get_peft_model(model, config)
加载模型
checkpoint = "THUDM/chatglm-6b"
model = AutoModel.from_pretrained(checkpoint, trust_remote_code=True, revision = 'main')
使用自定义的方法加载模型
model = load_lora_config(model)
@huangbaichao @lich99 为什么存在两种配置lora adapter的方式?