#bert-language-model #huggingface-transformers #transformer
Вопрос:
Я вижу чужую модель БЕРТА, в которой vocab.txt размер файла 22110, но значение vocab_size
параметра в файле bert_config.json равно 21128.
Я понимаю, что эти два числа должны быть абсолютно одинаковыми. Это правда?
Комментарии:
1. Возможно, этот человек удалил специальные токены из
vocab.txt
и добавил их позже во время инициализации токенизатора? Каков размер вокаба инициализированного токенизатора?
Ответ №1:
Если это действительно БЕРТ, который использует токенизатор слов, то да. Разная длина словаря и vocab_size
в конфигурации означали бы, что существуют либо вложения, которые никогда не могут быть использованы, либо что существуют элементы словаря без каких-либо вложений.
В этом случае вы не увидите сообщения об ошибке, поскольку модель и маркер загружаются отдельно. Таблица вложений BERT содержит 8 вложений, которые «недоступны».
Однако обратите внимание, что в модели может использоваться какой-то очень нестандартный токенизатор, который сохраняет словарный запас таким образом, что он на 8 пунктов короче (хотя это маловероятно).
Комментарии:
1. Не могли бы вы более конкретно сказать о том, что «это экономит словарный запас таким образом, что он на 8 пунктов короче»? Почему это «на 8 пунктов короче»?
2. Я не знаю ни одного такого токенизатора, который бы это сделал, но теоретически возможно, что кто-то создаст пользовательский токенизатор с этим свойством.