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?

Sign up or log in to comment