GilBERTo (версия итальянская) от RoBERTa - PullRequest
0 голосов
/ 04 марта 2020

Я пытался обучить модель NER с помощью GilBERTo (токенизатор и модель) итальянской версии RoBERTa (от CamemBert), но у меня есть ошибка ниже, кто-то может помочь мне понять это и, возможно, возможное решение?

решение реплицирует: отношение сущностей GitHub: R-BERT (я просто изменяю utils.py с помощью:

def load_tokenizer(args):
    tokenizer = AutoTokenizer.from_pretrained("idb-ita/gilberto-uncased-from-camembert", do_lower_case=True)
    #tokenizer = MODEL_CLASSES[args.model_type][2].from_pretrained(args.model_name_or_path)
    tokenizer.add_special_tokens({"additional_special_tokens": ADDITIONAL_SPECIAL_TOKENS})
    return tokenizer

), а затем я использую модель "Роберта" в main.py просто измените токенизатор на GilBERTo. И я использовал другой набор данных с тем же форматом, что и в оригинальном проекте. Примечание: я отключаю графический процессор из-за проблем с размером при загрузке кэша, и я использую трансформаторы 2.4.1, большое спасибо!

03/04/2020 16:33:01 - INFO - trainer -   ***** Config loaded *****
03/04/2020 16:33:01 - INFO - transformers.modeling_utils -   loading weights file ./model\pytorch_model.bin
03/04/2020 16:33:01 - INFO - transformers.modeling_utils -   loading weights file https://s3.amazonaws.com/models.huggingface.co/bert/roberta-base-pytorch_model.bin from cache at C:\Users\ADMIN\.cache\torch\transformers\228756ed15b6d200d7cb45aaef08c087e2706f54cb912863d2efe07c89584eb7.49b88ba7ec2c26a7558dda98ca3884c3b80fa31cf43a1b1f23aef3ff81ba344e
Traceback (most recent call last):
  File "C:\Users\ADMIN\R-BERT\trainer.py", line 196, in load_model
    self.model = self.model_class.from_pretrained(self.args.model_dir, config=self.bert_config, args=self.args)
  File "C:\Users\ADMIN\Miniconda3\envs\envTransformers\lib\site-packages\transformers\modeling_utils.py", line 463, in from_pretrained
    model = cls(config, *model_args, **model_kwargs)
  File "C:\Users\ADMIN\R-BERT\model.py", line 31, in __init__
    self.bert = PRETRAINED_MODEL_MAP[args.model_type].from_pretrained(args.model_name_or_path, config=bert_config)  # Load pretrained bert
  File "C:\Users\ADMIN\Miniconda3\envs\envTransformers\lib\site-packages\transformers\modeling_utils.py", line 555, in from_pretrained
    model.__class__.__name__, "\n\t".join(error_msgs)
RuntimeError: Error(s) in loading state_dict for RobertaModel:
        size mismatch for roberta.embeddings.word_embeddings.weight: copying a param with shape torch.Size([50265, 768]) from checkpoint, the shape in current model is torch.Size([30522, 768]).
        size mismatch for roberta.embeddings.position_embeddings.weight: copying a param with shape torch.Size([514, 768]) from checkpoint, the shape in current model is torch.Size([512, 768]).
        size mismatch for roberta.embeddings.token_type_embeddings.weight: copying a param with shape torch.Size([1, 768]) from checkpoint, the shape in current model is torch.Size([2, 768]).

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "main.py", line 60, in <module>
    trainer.load_model()
  File "C:\Users\ADMIN\R-BERT\trainer.py", line 200, in load_model
    raise Exception("Some model files might be missing...")
Exception: Some model files might be missing...
...