How to append new token and train?

#70
by NickyNicky - opened

my code is and error train

def smart_tokenizer_and_embedding_resize( # https://github.com/artidoro/qlora/blob/main/qlora.py
    special_tokens_dict,
    tokenizer,
    model,
):
    """Resize tokenizer and embedding.

    Note: This is the unoptimized version that may make your embedding size not be divisible by 64.
    """
    num_new_tokens = tokenizer.add_special_tokens(special_tokens_dict)
    print("We have add_special_tokens:", num_new_tokens, "tokens")

    old_embeddings= model.get_input_embeddings()
    print("old_embeddings: ",old_embeddings.weight.data.shape)

    # model.resize_token_embeddings(len(tokenizer)+num_new_tokens) #aqui elimina como 12 embeddings pero es el codigo original
    model.resize_token_embeddings(old_embeddings.weight.data.shape[0]+num_new_tokens) # implementacion mia donde no elimina los embeddings


    print("model: ",model.get_input_embeddings().weight.data.shape)

    if num_new_tokens > 0:
        input_embeddings = model.get_input_embeddings().weight.data
        output_embeddings = model.get_output_embeddings().weight.data

        print("input_embeddings:",input_embeddings.shape)
        print("output_embeddings:",output_embeddings.shape)
        # print("")
        # print("output_embeddings:",output_embeddings)    
        # print("-->>",input_embeddings[:-num_new_tokens]).mean(dim=0, keepdim=True)

        input_embeddings_avg = input_embeddings[:-num_new_tokens].mean(dim=0, keepdim=True)
        output_embeddings_avg = output_embeddings[:-num_new_tokens].mean(dim=0, keepdim=True)

        print("input_embeddings_avg:",input_embeddings_avg.shape)
        print("output_embeddings_avg:",output_embeddings_avg.shape)

        input_embeddings[-num_new_tokens:] = input_embeddings_avg
        output_embeddings[-num_new_tokens:] = output_embeddings_avg
    print("")
    
    print(model)

# {'text': " Who made you?<|endoftext|>\n<bot>: I'm h2oGPT, a large language model by H2O.ai, the visionary leader in democratizing AI.\n<|endoftext|>"}

dic = {
   'additional_special_tokens': ['<human>:','<bot>:']
}
smart_tokenizer_and_embedding_resize(
    special_tokens_dict= dic,
    tokenizer=tokenizer,
    model=model,
)
########## DATASET
Dataset({
    features: ['input_ids', 'attention_mask', 'labels'],
    num_rows: 12332
})
########## TRAIN
from torch.optim import AdamW

# optimizer = AdamW(model.parameters(), lr=1e-3)
# Crear el optimizador
# optimizer = AdamW(model.parameters(), lr=1e-4)


training_args = transformers.TrainingArguments(
    per_device_train_batch_size=6, # es el tamaรฑo del lote de entrenamiento por dispositivo.
    per_device_eval_batch_size=6, #  es el tamaรฑo del lote de evaluaciรณn por dispositivo.

    gradient_accumulation_steps=3,
    logging_steps=4,
    num_train_epochs=1,
    learning_rate= 1e-3, # #2e-8, 3e-5, 1e-5, 2e-5, (1e-3), 1e-2

    # fp16=False,
    # # fp16=True, #True,
    # auto_find_batch_size=False,     # Desactivar la bรบsqueda automรกtica del tamaรฑo de lote

    fp16=True,
    auto_find_batch_size=True,     # Desactivar la bรบsqueda automรกtica del tamaรฑo de lote

    save_total_limit=4,
    output_dir="./outputs",

    optim="adamw_torch",

    lr_scheduler_type = 'cosine',
    warmup_ratio = 0.03, #0.05,
)

trainer = transformers.Trainer(
    model=model,
    train_dataset=lm_dataset,
    # eval_dataset=val_dataset,
    args=training_args,
    data_collator=transformers.DataCollatorForLanguageModeling(tokenizer, mlm=False),
)


# Configurar el optimizador en el objeto Trainer
# trainer.optimizer = optimizer

trainer.train()
########## Error
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ in <cell line: 49>:49                                                                            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/transformers/trainer.py:1645 in train                    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   1642 โ”‚   โ”‚   inner_training_loop = find_executable_batch_size(                                 โ”‚
โ”‚   1643 โ”‚   โ”‚   โ”‚   self._inner_training_loop, self._train_batch_size, args.auto_find_batch_size  โ”‚
โ”‚   1644 โ”‚   โ”‚   )                                                                                 โ”‚
โ”‚ โฑ 1645 โ”‚   โ”‚   return inner_training_loop(                                                       โ”‚
โ”‚   1646 โ”‚   โ”‚   โ”‚   args=args,                                                                    โ”‚
โ”‚   1647 โ”‚   โ”‚   โ”‚   resume_from_checkpoint=resume_from_checkpoint,                                โ”‚
โ”‚   1648 โ”‚   โ”‚   โ”‚   trial=trial,                                                                  โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/memory.py:132 in decorator              โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   129 โ”‚   โ”‚   โ”‚   if batch_size == 0:                                                            โ”‚
โ”‚   130 โ”‚   โ”‚   โ”‚   โ”‚   raise RuntimeError("No executable batch size found, reached zero.")        โ”‚
โ”‚   131 โ”‚   โ”‚   โ”‚   try:                                                                           โ”‚
โ”‚ โฑ 132 โ”‚   โ”‚   โ”‚   โ”‚   return function(batch_size, *args, **kwargs)                               โ”‚
โ”‚   133 โ”‚   โ”‚   โ”‚   except Exception as e:                                                         โ”‚
โ”‚   134 โ”‚   โ”‚   โ”‚   โ”‚   if should_reduce_batch_size(e):                                            โ”‚
โ”‚   135 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   gc.collect()                                                           โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/transformers/trainer.py:1938 in _inner_training_loop     โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   1935 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   self.control = self.callback_handler.on_step_begin(args, self.state,  โ”‚
โ”‚   1936 โ”‚   โ”‚   โ”‚   โ”‚                                                                             โ”‚
โ”‚   1937 โ”‚   โ”‚   โ”‚   โ”‚   with self.accelerator.accumulate(model):                                  โ”‚
โ”‚ โฑ 1938 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   tr_loss_step = self.training_step(model, inputs)                      โ”‚
โ”‚   1939 โ”‚   โ”‚   โ”‚   โ”‚                                                                             โ”‚
โ”‚   1940 โ”‚   โ”‚   โ”‚   โ”‚   if (                                                                      โ”‚
โ”‚   1941 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   args.logging_nan_inf_filter                                           โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/transformers/trainer.py:2759 in training_step            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   2756 โ”‚   โ”‚   โ”‚   return loss_mb.reduce_mean().detach().to(self.args.device)                    โ”‚
โ”‚   2757 โ”‚   โ”‚                                                                                     โ”‚
โ”‚   2758 โ”‚   โ”‚   with self.compute_loss_context_manager():                                         โ”‚
โ”‚ โฑ 2759 โ”‚   โ”‚   โ”‚   loss = self.compute_loss(model, inputs)                                       โ”‚
โ”‚   2760 โ”‚   โ”‚                                                                                     โ”‚
โ”‚   2761 โ”‚   โ”‚   if self.args.n_gpu > 1:                                                           โ”‚
โ”‚   2762 โ”‚   โ”‚   โ”‚   loss = loss.mean()  # mean() to average on multi-gpu parallel training        โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/transformers/trainer.py:2784 in compute_loss             โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   2781 โ”‚   โ”‚   โ”‚   labels = inputs.pop("labels")                                                 โ”‚
โ”‚   2782 โ”‚   โ”‚   else:                                                                             โ”‚
โ”‚   2783 โ”‚   โ”‚   โ”‚   labels = None                                                                 โ”‚
โ”‚ โฑ 2784 โ”‚   โ”‚   outputs = model(**inputs)                                                         โ”‚
โ”‚   2785 โ”‚   โ”‚   # Save past state if it exists                                                    โ”‚
โ”‚   2786 โ”‚   โ”‚   # TODO: this needs to be fixed and made cleaner later.                            โ”‚
โ”‚   2787 โ”‚   โ”‚   if self.args.past_index >= 0:                                                     โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py:1194 in _call_impl            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   1191 โ”‚   โ”‚   # this function, and just call forward.                                           โ”‚
โ”‚   1192 โ”‚   โ”‚   if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks o  โ”‚
โ”‚   1193 โ”‚   โ”‚   โ”‚   โ”‚   or _global_forward_hooks or _global_forward_pre_hooks):                   โ”‚
โ”‚ โฑ 1194 โ”‚   โ”‚   โ”‚   return forward_call(*input, **kwargs)                                         โ”‚
โ”‚   1195 โ”‚   โ”‚   # Do not call functions when jit is used                                          โ”‚
โ”‚   1196 โ”‚   โ”‚   full_backward_hooks, non_full_backward_hooks = [], []                             โ”‚
โ”‚   1197 โ”‚   โ”‚   if self._backward_hooks or _global_backward_hooks:                                โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py:553 in forward            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   550 โ”‚   model_forward = ConvertOutputsToFp32(model_forward)                                    โ”‚
โ”‚   551 โ”‚                                                                                          โ”‚
โ”‚   552 โ”‚   def forward(*args, **kwargs):                                                          โ”‚
โ”‚ โฑ 553 โ”‚   โ”‚   return model_forward(*args, **kwargs)                                              โ”‚
โ”‚   554 โ”‚                                                                                          โ”‚
โ”‚   555 โ”‚   # To act like a decorator so that it can be popped when doing `extract_model_from_pa   โ”‚
โ”‚   556 โ”‚   forward.__wrapped__ = model_forward                                                    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py:541 in __call__           โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   538 โ”‚   โ”‚   update_wrapper(self, model_forward)                                                โ”‚
โ”‚   539 โ”‚                                                                                          โ”‚
โ”‚   540 โ”‚   def __call__(self, *args, **kwargs):                                                   โ”‚
โ”‚ โฑ 541 โ”‚   โ”‚   return convert_to_fp32(self.model_forward(*args, **kwargs))                        โ”‚
โ”‚   542 โ”‚                                                                                          โ”‚
โ”‚   543 โ”‚   def __getstate__(self):                                                                โ”‚
โ”‚   544 โ”‚   โ”‚   raise pickle.PicklingError(                                                        โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/torch/amp/autocast_mode.py:14 in decorate_autocast       โ”‚
โ”‚                                                                                                  โ”‚
โ”‚    11 โ”‚   @functools.wraps(func)                                                                 โ”‚
โ”‚    12 โ”‚   def decorate_autocast(*args, **kwargs):                                                โ”‚
โ”‚    13 โ”‚   โ”‚   with autocast_instance:                                                            โ”‚
โ”‚ โฑ  14 โ”‚   โ”‚   โ”‚   return func(*args, **kwargs)                                                   โ”‚
โ”‚    15 โ”‚   decorate_autocast.__script_unsupported = '@autocast() decorator is not supported in    โ”‚
โ”‚    16 โ”‚   return decorate_autocast                                                               โ”‚
โ”‚    17                                                                                            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py:553 in forward            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   550 โ”‚   model_forward = ConvertOutputsToFp32(model_forward)                                    โ”‚
โ”‚   551 โ”‚                                                                                          โ”‚
โ”‚   552 โ”‚   def forward(*args, **kwargs):                                                          โ”‚
โ”‚ โฑ 553 โ”‚   โ”‚   return model_forward(*args, **kwargs)                                              โ”‚
โ”‚   554 โ”‚                                                                                          โ”‚
โ”‚   555 โ”‚   # To act like a decorator so that it can be popped when doing `extract_model_from_pa   โ”‚
โ”‚   556 โ”‚   forward.__wrapped__ = model_forward                                                    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py:541 in __call__           โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   538 โ”‚   โ”‚   update_wrapper(self, model_forward)                                                โ”‚
โ”‚   539 โ”‚                                                                                          โ”‚
โ”‚   540 โ”‚   def __call__(self, *args, **kwargs):                                                   โ”‚
โ”‚ โฑ 541 โ”‚   โ”‚   return convert_to_fp32(self.model_forward(*args, **kwargs))                        โ”‚
โ”‚   542 โ”‚                                                                                          โ”‚
โ”‚   543 โ”‚   def __getstate__(self):                                                                โ”‚
โ”‚   544 โ”‚   โ”‚   raise pickle.PicklingError(                                                        โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/torch/amp/autocast_mode.py:14 in decorate_autocast       โ”‚
โ”‚                                                                                                  โ”‚
โ”‚    11 โ”‚   @functools.wraps(func)                                                                 โ”‚
โ”‚    12 โ”‚   def decorate_autocast(*args, **kwargs):                                                โ”‚
โ”‚    13 โ”‚   โ”‚   with autocast_instance:                                                            โ”‚
โ”‚ โฑ  14 โ”‚   โ”‚   โ”‚   return func(*args, **kwargs)                                                   โ”‚
โ”‚    15 โ”‚   decorate_autocast.__script_unsupported = '@autocast() decorator is not supported in    โ”‚
โ”‚    16 โ”‚   return decorate_autocast                                                               โ”‚
โ”‚    17                                                                                            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py:553 in forward            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   550 โ”‚   model_forward = ConvertOutputsToFp32(model_forward)                                    โ”‚
โ”‚   551 โ”‚                                                                                          โ”‚
โ”‚   552 โ”‚   def forward(*args, **kwargs):                                                          โ”‚
โ”‚ โฑ 553 โ”‚   โ”‚   return model_forward(*args, **kwargs)                                              โ”‚
โ”‚   554 โ”‚                                                                                          โ”‚
โ”‚   555 โ”‚   # To act like a decorator so that it can be popped when doing `extract_model_from_pa   โ”‚
โ”‚   556 โ”‚   forward.__wrapped__ = model_forward                                                    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py:541 in __call__           โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   538 โ”‚   โ”‚   update_wrapper(self, model_forward)                                                โ”‚
โ”‚   539 โ”‚                                                                                          โ”‚
โ”‚   540 โ”‚   def __call__(self, *args, **kwargs):                                                   โ”‚
โ”‚ โฑ 541 โ”‚   โ”‚   return convert_to_fp32(self.model_forward(*args, **kwargs))                        โ”‚
โ”‚   542 โ”‚                                                                                          โ”‚
โ”‚   543 โ”‚   def __getstate__(self):                                                                โ”‚
โ”‚   544 โ”‚   โ”‚   raise pickle.PicklingError(                                                        โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/torch/amp/autocast_mode.py:14 in decorate_autocast       โ”‚
โ”‚                                                                                                  โ”‚
โ”‚    11 โ”‚   @functools.wraps(func)                                                                 โ”‚
โ”‚    12 โ”‚   def decorate_autocast(*args, **kwargs):                                                โ”‚
โ”‚    13 โ”‚   โ”‚   with autocast_instance:                                                            โ”‚
โ”‚ โฑ  14 โ”‚   โ”‚   โ”‚   return func(*args, **kwargs)                                                   โ”‚
โ”‚    15 โ”‚   decorate_autocast.__script_unsupported = '@autocast() decorator is not supported in    โ”‚
โ”‚    16 โ”‚   return decorate_autocast                                                               โ”‚
โ”‚    17                                                                                            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py:553 in forward            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   550 โ”‚   model_forward = ConvertOutputsToFp32(model_forward)                                    โ”‚
โ”‚   551 โ”‚                                                                                          โ”‚
โ”‚   552 โ”‚   def forward(*args, **kwargs):                                                          โ”‚
โ”‚ โฑ 553 โ”‚   โ”‚   return model_forward(*args, **kwargs)                                              โ”‚
โ”‚   554 โ”‚                                                                                          โ”‚
โ”‚   555 โ”‚   # To act like a decorator so that it can be popped when doing `extract_model_from_pa   โ”‚
โ”‚   556 โ”‚   forward.__wrapped__ = model_forward                                                    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py:541 in __call__           โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   538 โ”‚   โ”‚   update_wrapper(self, model_forward)                                                โ”‚
โ”‚   539 โ”‚                                                                                          โ”‚
โ”‚   540 โ”‚   def __call__(self, *args, **kwargs):                                                   โ”‚
โ”‚ โฑ 541 โ”‚   โ”‚   return convert_to_fp32(self.model_forward(*args, **kwargs))                        โ”‚
โ”‚   542 โ”‚                                                                                          โ”‚
โ”‚   543 โ”‚   def __getstate__(self):                                                                โ”‚
โ”‚   544 โ”‚   โ”‚   raise pickle.PicklingError(                                                        โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/torch/amp/autocast_mode.py:14 in decorate_autocast       โ”‚
โ”‚                                                                                                  โ”‚
โ”‚    11 โ”‚   @functools.wraps(func)                                                                 โ”‚
โ”‚    12 โ”‚   def decorate_autocast(*args, **kwargs):                                                โ”‚
โ”‚    13 โ”‚   โ”‚   with autocast_instance:                                                            โ”‚
โ”‚ โฑ  14 โ”‚   โ”‚   โ”‚   return func(*args, **kwargs)                                                   โ”‚
โ”‚    15 โ”‚   decorate_autocast.__script_unsupported = '@autocast() decorator is not supported in    โ”‚
โ”‚    16 โ”‚   return decorate_autocast                                                               โ”‚
โ”‚    17                                                                                            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py:553 in forward            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   550 โ”‚   model_forward = ConvertOutputsToFp32(model_forward)                                    โ”‚
โ”‚   551 โ”‚                                                                                          โ”‚
โ”‚   552 โ”‚   def forward(*args, **kwargs):                                                          โ”‚
โ”‚ โฑ 553 โ”‚   โ”‚   return model_forward(*args, **kwargs)                                              โ”‚
โ”‚   554 โ”‚                                                                                          โ”‚
โ”‚   555 โ”‚   # To act like a decorator so that it can be popped when doing `extract_model_from_pa   โ”‚
โ”‚   556 โ”‚   forward.__wrapped__ = model_forward                                                    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py:541 in __call__           โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   538 โ”‚   โ”‚   update_wrapper(self, model_forward)                                                โ”‚
โ”‚   539 โ”‚                                                                                          โ”‚
โ”‚   540 โ”‚   def __call__(self, *args, **kwargs):                                                   โ”‚
โ”‚ โฑ 541 โ”‚   โ”‚   return convert_to_fp32(self.model_forward(*args, **kwargs))                        โ”‚
โ”‚   542 โ”‚                                                                                          โ”‚
โ”‚   543 โ”‚   def __getstate__(self):                                                                โ”‚
โ”‚   544 โ”‚   โ”‚   raise pickle.PicklingError(                                                        โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/torch/amp/autocast_mode.py:14 in decorate_autocast       โ”‚
โ”‚                                                                                                  โ”‚
โ”‚    11 โ”‚   @functools.wraps(func)                                                                 โ”‚
โ”‚    12 โ”‚   def decorate_autocast(*args, **kwargs):                                                โ”‚
โ”‚    13 โ”‚   โ”‚   with autocast_instance:                                                            โ”‚
โ”‚ โฑ  14 โ”‚   โ”‚   โ”‚   return func(*args, **kwargs)                                                   โ”‚
โ”‚    15 โ”‚   decorate_autocast.__script_unsupported = '@autocast() decorator is not supported in    โ”‚
โ”‚    16 โ”‚   return decorate_autocast                                                               โ”‚
โ”‚    17                                                                                            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py:553 in forward            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   550 โ”‚   model_forward = ConvertOutputsToFp32(model_forward)                                    โ”‚
โ”‚   551 โ”‚                                                                                          โ”‚
โ”‚   552 โ”‚   def forward(*args, **kwargs):                                                          โ”‚
โ”‚ โฑ 553 โ”‚   โ”‚   return model_forward(*args, **kwargs)                                              โ”‚
โ”‚   554 โ”‚                                                                                          โ”‚
โ”‚   555 โ”‚   # To act like a decorator so that it can be popped when doing `extract_model_from_pa   โ”‚
โ”‚   556 โ”‚   forward.__wrapped__ = model_forward                                                    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/utils/operations.py:541 in __call__           โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   538 โ”‚   โ”‚   update_wrapper(self, model_forward)                                                โ”‚
โ”‚   539 โ”‚                                                                                          โ”‚
โ”‚   540 โ”‚   def __call__(self, *args, **kwargs):                                                   โ”‚
โ”‚ โฑ 541 โ”‚   โ”‚   return convert_to_fp32(self.model_forward(*args, **kwargs))                        โ”‚
โ”‚   542 โ”‚                                                                                          โ”‚
โ”‚   543 โ”‚   def __getstate__(self):                                                                โ”‚
โ”‚   544 โ”‚   โ”‚   raise pickle.PicklingError(                                                        โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/torch/amp/autocast_mode.py:14 in decorate_autocast       โ”‚
โ”‚                                                                                                  โ”‚
โ”‚    11 โ”‚   @functools.wraps(func)                                                                 โ”‚
โ”‚    12 โ”‚   def decorate_autocast(*args, **kwargs):                                                โ”‚
โ”‚    13 โ”‚   โ”‚   with autocast_instance:                                                            โ”‚
โ”‚ โฑ  14 โ”‚   โ”‚   โ”‚   return func(*args, **kwargs)                                                   โ”‚
โ”‚    15 โ”‚   decorate_autocast.__script_unsupported = '@autocast() decorator is not supported in    โ”‚
โ”‚    16 โ”‚   return decorate_autocast                                                               โ”‚
โ”‚    17                                                                                            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/peft/peft_model.py:847 in forward                        โ”‚
โ”‚                                                                                                  โ”‚
โ”‚    844 โ”‚   โ”‚   โ”‚   if self.base_model.config.model_type == "mpt":                                โ”‚
โ”‚    845 โ”‚   โ”‚   โ”‚   โ”‚   if inputs_embeds is not None:                                             โ”‚
โ”‚    846 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   raise AssertionError("forward in MPTForCausalLM does not support inp  โ”‚
โ”‚ โฑ  847 โ”‚   โ”‚   โ”‚   โ”‚   return self.base_model(                                                   โ”‚
โ”‚    848 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   input_ids=input_ids,                                                  โ”‚
โ”‚    849 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   attention_mask=attention_mask,                                        โ”‚
โ”‚    850 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   labels=labels,                                                        โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py:1194 in _call_impl            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   1191 โ”‚   โ”‚   # this function, and just call forward.                                           โ”‚
โ”‚   1192 โ”‚   โ”‚   if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks o  โ”‚
โ”‚   1193 โ”‚   โ”‚   โ”‚   โ”‚   or _global_forward_hooks or _global_forward_pre_hooks):                   โ”‚
โ”‚ โฑ 1194 โ”‚   โ”‚   โ”‚   return forward_call(*input, **kwargs)                                         โ”‚
โ”‚   1195 โ”‚   โ”‚   # Do not call functions when jit is used                                          โ”‚
โ”‚   1196 โ”‚   โ”‚   full_backward_hooks, non_full_backward_hooks = [], []                             โ”‚
โ”‚   1197 โ”‚   โ”‚   if self._backward_hooks or _global_backward_hooks:                                โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/accelerate/hooks.py:165 in new_forward                   โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   162 โ”‚   โ”‚   โ”‚   with torch.no_grad():                                                          โ”‚
โ”‚   163 โ”‚   โ”‚   โ”‚   โ”‚   output = old_forward(*args, **kwargs)                                      โ”‚
โ”‚   164 โ”‚   โ”‚   else:                                                                              โ”‚
โ”‚ โฑ 165 โ”‚   โ”‚   โ”‚   output = old_forward(*args, **kwargs)                                          โ”‚
โ”‚   166 โ”‚   โ”‚   return module._hf_hook.post_forward(module, output)                                โ”‚
โ”‚   167 โ”‚                                                                                          โ”‚
โ”‚   168 โ”‚   module.forward = new_forward                                                           โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /root/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-instruct/1fc4634127ec64a45 โ”‚
โ”‚ 716003578b9cfae23265849/modeling_mpt.py:271 in forward                                           โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   268 โ”‚   โ”‚   if inputs_embeds is not None:                                                      โ”‚
โ”‚   269 โ”‚   โ”‚   โ”‚   raise NotImplementedError('inputs_embeds has to be None (for hf/peft support   โ”‚
โ”‚   270 โ”‚   โ”‚   outputs = self.transformer(input_ids=input_ids, past_key_values=past_key_values,   โ”‚
โ”‚ โฑ 271 โ”‚   โ”‚   logits = self.transformer.wte(outputs.last_hidden_state.to(self.transformer.wte.   โ”‚
โ”‚   272 โ”‚   โ”‚   if self.logit_scale is not None:                                                   โ”‚
โ”‚   273 โ”‚   โ”‚   โ”‚   if self.logit_scale == 0:                                                      โ”‚
โ”‚   274 โ”‚   โ”‚   โ”‚   โ”‚   warnings.warn(f'Multiplying logits by self.logit_scale={self.logit_scale   โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py:1194 in _call_impl            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   1191 โ”‚   โ”‚   # this function, and just call forward.                                           โ”‚
โ”‚   1192 โ”‚   โ”‚   if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks o  โ”‚
โ”‚   1193 โ”‚   โ”‚   โ”‚   โ”‚   or _global_forward_hooks or _global_forward_pre_hooks):                   โ”‚
โ”‚ โฑ 1194 โ”‚   โ”‚   โ”‚   return forward_call(*input, **kwargs)                                         โ”‚
โ”‚   1195 โ”‚   โ”‚   # Do not call functions when jit is used                                          โ”‚
โ”‚   1196 โ”‚   โ”‚   full_backward_hooks, non_full_backward_hooks = [], []                             โ”‚
โ”‚   1197 โ”‚   โ”‚   if self._backward_hooks or _global_backward_hooks:                                โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
TypeError: Embedding.forward() takes 2 positional arguments but 3 were given

HI, I got the same error

I got the same error too :(

Sign up or log in to comment