huggingface — сохранить локально настроенную модель — и токенизатор тоже?

#bert-language-model #huggingface-transformers

#bert-language-model #huggingface-трансформеры

Вопрос:

Мне просто интересно, влияет ли каким-либо образом или изменяется токенизатор, если точно настроить модель BERT и сохранить ее. Нужно ли мне сохранять токенизатор локально, чтобы перезагрузить его при последующем использовании сохраненной модели BERT?

Я просто делаю:

 bert_model.save_pretrained('./Fine_tune_BERT/')
  

тогда позже

 bert_model = TFBertModel.from_pretrained('./Fine_tune_BERT/')
  

Но нужно ли мне также сохранять токенизатор? Или я мог бы просто использовать его обычным способом, например:

 tokenizer = BertTokenizer.from_pretrained('bert-base-cased')
  

Ответ №1:

В вашем случае токенизатор не нужно сохранять, поскольку вы не меняли токенизатор или не добавляли новые токены. Токенизатор Huggingface предоставляет возможность добавления новых токенов или переопределения специальных токенов, таких как [MASK] , [CLS] , и т.д. Если вы внесете такие изменения, вам, возможно, придется сохранить токенизатор, чтобы использовать его позже.

Комментарии:

1. это то же самое для pytorch? Я должен точно настроить ditilbert для классификации и сохранить модель.

Ответ №2:

Точная настройка не может повлиять на токенизатор. Токенизатор преобразует токены в словарные индексы, которые должны оставаться неизменными во время обучения, иначе было бы невозможно обучить статическое вложение в начале вычисления BERT.