RuntimeError: probability tensor contains either `inf`, `nan` or element < 0

#5
by YarKo69 - opened

После загрузки модели, при любом запросе вылезает ошибка (см. код ниже). Подскажите пожалуйста с чем это может быть связано и как это исправить. Остальные модели saiga работают отлично при тех же запросах.
Код запуска модели на Kaggle

RuntimeError                              Traceback (most recent call last)
Cell In[15], line 1
----> 1 get_message(['Привет, сколько весит человек в среднем?'])

File <timed exec>:10, in get_message(inputs)

Cell In[7], line 54, in generate(model, tokenizer, prompt, generation_config)
     51 #print(data)
     52 data = {k: v.to(device) for k, v in data.items()}
---> 54 output_ids = model.generate(
     55     **data,
     56     generation_config = generation_config
     57 #         remove_invalid_values = True
     58 )[0]
     59 output_ids = output_ids[len(data["input_ids"][0]):]
     60 output = tokenizer.decode(output_ids, skip_special_tokens=True)

File /opt/conda/lib/python3.10/site-packages/peft/peft_model.py:975, in PeftModelForCausalLM.generate(self, **kwargs)
    973     self.base_model.generation_config = self.generation_config
    974 try:
--> 975     outputs = self.base_model.generate(**kwargs)
    976 except:
    977     self.base_model.prepare_inputs_for_generation = self.base_model_prepare_inputs_for_generation

File /opt/conda/lib/python3.10/site-packages/torch/utils/_contextlib.py:115, in context_decorator.<locals>.decorate_context(*args, **kwargs)
    112 @functools.wraps(func)
    113 def decorate_context(*args, **kwargs):
    114     with ctx_factory():
--> 115         return func(*args, **kwargs)

File /opt/conda/lib/python3.10/site-packages/transformers/generation/utils.py:1719, in GenerationMixin.generate(self, inputs, generation_config, logits_processor, stopping_criteria, prefix_allowed_tokens_fn, synced_gpus, assistant_model, streamer, negative_prompt_ids, negative_prompt_attention_mask, **kwargs)
   1711     input_ids, model_kwargs = self._expand_inputs_for_generation(
   1712         input_ids=input_ids,
   1713         expand_size=generation_config.num_return_sequences,
   1714         is_encoder_decoder=self.config.is_encoder_decoder,
   1715         **model_kwargs,
   1716     )
   1718     # 13. run sample
-> 1719     return self.sample(
   1720         input_ids,
   1721         logits_processor=logits_processor,
   1722         logits_warper=logits_warper,
   1723         stopping_criteria=stopping_criteria,
   1724         pad_token_id=generation_config.pad_token_id,
   1725         eos_token_id=generation_config.eos_token_id,
   1726         output_scores=generation_config.output_scores,
   1727         return_dict_in_generate=generation_config.return_dict_in_generate,
   1728         synced_gpus=synced_gpus,
   1729         streamer=streamer,
   1730         **model_kwargs,
   1731     )
   1733 elif generation_mode == GenerationMode.BEAM_SEARCH:
   1734     # 11. prepare beam search scorer
   1735     beam_scorer = BeamSearchScorer(
   1736         batch_size=batch_size,
   1737         num_beams=generation_config.num_beams,
   (...)
   1742         max_length=generation_config.max_length,
   1743     )

File /opt/conda/lib/python3.10/site-packages/transformers/generation/utils.py:2837, in GenerationMixin.sample(self, input_ids, logits_processor, stopping_criteria, logits_warper, max_length, pad_token_id, eos_token_id, output_attentions, output_hidden_states, output_scores, return_dict_in_generate, synced_gpus, streamer, **model_kwargs)
   2835 # sample
   2836 probs = nn.functional.softmax(next_token_scores, dim=-1)
-> 2837 next_tokens = torch.multinomial(probs, num_samples=1).squeeze(1)
   2839 # finished sentences should have their next token be a padding token
   2840 if eos_token_id is not None:

RuntimeError: probability tensor contains either `inf`, `nan` or element < 0

Между остальными моделями и этой разная токенизация. bot_token_id, например, будет разный. А по коду выглядит, что он везде один и тот же.

И torch_dtype лучше ставить bfloat16.

YarKo69 changed discussion status to closed

Sign up or log in to comment