The usage code sample doesn't work
#1
by
chenbowen184
- opened
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from peft import PeftModel, PeftConfig
prompt = "Write a story about an lamb named Dolly that went to the zoo."
peft_model_id = 'coniferlabs/flan-ul2-dolly-lora'
config = PeftConfig.from_pretrained(peft_model_id)
model = AutoModelForSeq2SeqLM.from_pretrained(config.base_model_name_or_path, device_map="auto", load_in_8bit=True)
model = PeftModel.from_pretrained(model, peft_model_id, device_map={'': 0})
tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)
model.eval()
tokenized_text = tokenizer.encode(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(input_ids=tokenized_text, parameters={"min_length": 10, "max_length": 250})
tokenizer.batch_decode(outputs, skip_special_tokens=True)
###
gets the following error
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Traceback (most recent call last) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ in <cell line: 14>:14 โ
โ โ
โ /usr/local/lib/python3.10/dist-packages/peft/peft_model.py:952 in generate โ
โ โ
โ 949 โ โ ) โ
โ 950 โ โ try: โ
โ 951 โ โ โ if not isinstance(peft_config, PromptLearningConfig): โ
โ โฑ 952 โ โ โ โ outputs = self.base_model.generate(**kwargs) โ
โ 953 โ โ โ else: โ
โ 954 โ โ โ โ if "input_ids" not in kwargs: โ
โ 955 โ โ โ โ โ raise ValueError("input_ids must be provided for Peft model generati โ
โ โ
โ /usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py:115 in decorate_context โ
โ โ
โ 112 โ @functools.wraps(func) โ
โ 113 โ def decorate_context(*args, **kwargs): โ
โ 114 โ โ with ctx_factory(): โ
โ โฑ 115 โ โ โ return func(*args, **kwargs) โ
โ 116 โ โ
โ 117 โ return decorate_context โ
โ 118 โ
โ โ
โ /usr/local/lib/python3.10/dist-packages/transformers/generation/utils.py:1271 in generate โ
โ โ
โ 1268 โ โ generation_config = copy.deepcopy(generation_config) โ
โ 1269 โ โ model_kwargs = generation_config.update(**kwargs) # All unused kwargs must be m โ
โ 1270 โ โ generation_config.validate() โ
โ โฑ 1271 โ โ self._validate_model_kwargs(model_kwargs.copy()) โ
โ 1272 โ โ โ
โ 1273 โ โ # 2. Set generation parameters if not already defined โ
โ 1274 โ โ logits_processor = logits_processor if logits_processor is not None else LogitsP โ
โ โ
โ /usr/local/lib/python3.10/dist-packages/transformers/generation/utils.py:1144 in โ
โ _validate_model_kwargs โ
โ โ
โ 1141 โ โ โ โ unused_model_args.append(key) โ
โ 1142 โ โ โ
โ 1143 โ โ if unused_model_args: โ
โ โฑ 1144 โ โ โ raise ValueError( โ
โ 1145 โ โ โ โ f"The following `model_kwargs` are not used by the model: {unused_model_ โ
โ 1146 โ โ โ โ " generate arguments will also show up in this list)" โ
โ 1147 โ โ โ ) โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
ValueError: The following `model_kwargs` are not used by the model: ['parameters'] (note: typos in the generate
arguments will also show up in this list)
Any ideas?