#python #pytorch #huggingface-transformers
Вопрос:
Я хотел бы точно настроить предварительно подготовленную модель трансформаторов при ответе на вопросы. Модель была предварительно обучена на крупных инженерных и научных корпорациях, связанных с наукой.
Мне предоставили «checkpoint.pt» файл, содержащий веса модели. Они также предоставили мне файл «bert_config.json», но я не уверен, что это правильный файл конфигурации.
from transformers import AutoModel, AutoTokenizer, AutoConfig
MODEL_PATH = "./checkpoint.pt"
config = AutoConfig.from_pretrained("./bert_config.json")
model = AutoModel.from_pretrained(MODEL_PATH, config=config)
Причина, по которой я считаю, что bert_config.json не соответствует «./checkpoint.pt» файл заключается в том, что, когда я загружаю модель с приведенным выше кодом, я получаю ошибку, как показано ниже.
Некоторые веса контрольной точки модели в ./aerobert/phase2_ckpt_4302592.pt не использовались при инициализации BertModel: [«файлы», «оптимизатор», «модель», «основные параметры»]
- Это ожидается, если вы инициализируете BertModel с контрольной точки модели, обученной для другой задачи или с другой архитектурой (например, инициализируете модель классификации BertForSequenceClassification из модели обучения BertForPreTraining).
- Этого НЕ ожидается, если вы инициализируете BertModel с контрольной точки модели, которая, как вы ожидаете, будет точно идентичной (инициализация модели классификации BertForSequenceClassification из модели классификации BertForSequenceClassification). Некоторые веса BertModel не были инициализированы с контрольной точки модели в ./aerobert/phase2_ckpt_4302592.pt и инициализированы заново: [‘].слой.2.внимание.вывод.LayerNorm.вес», «кодировщик.слой.6.вывод.LayerNorm.смещение’, ‘кодер.слой.7.промежуточный.плотный.смещение», «кодировщик.слой.2.вывод.LayerNorm.смещение», «шифратор.уровень.21.внимание.самооценка.смещение», «кодер.слой.11.внимание.самооценка.предвзятость», …………
Если я прав, предполагая, что «bert_config.json» неверен, есть ли способ правильно загрузить эту модель без файла config.json?
Есть ли способ увидеть архитектуру модели по сохраненным весам checkpoint.pt досье?
Ответ №1:
Это предупреждение, а не ошибка.
Это означает, что предварительно подготовленная модель предварительно обучена какой-либо задаче (например, ответ на вопросы, MLM и т. Д.), Если ваша собственная задача точной настройки совпадает с этой предварительно подготовленной задачей, то этого НЕ ожидается; если только это не ожидается, потому что какой-то пул предварительно подготовленной модели не будет использоваться в точной настройке.
Но это сообщение не означает, что bert_config.json
оно неправильное. Вы можете протестировать его на официальном ноутбуке colab huggingface
Вы можете найти дополнительную информацию в этом выпуске.
Комментарии:
1. Спасибо вам за ваш ответ. Правильно, что это предупреждение, а не ошибка. В этом случае я загружаю модель только в общем виде с помощью AutoModel, вместо того, чтобы загружать ее для конкретной задачи, такой как AutoModelForQuestionAnswering. При правильной конфигурации должно ли оно по-прежнему отображать это предупреждение?
2. @Miles-может Да, вы можете попробовать это в colab.