#nlp #bert-language-model #huggingface-transformers #language-model
Вопрос:
Я недавно прочитал о Берте и хочу использовать BertForMaskedLM для задачи fill_mask. Я знаю об архитектуре Берта. Кроме того, насколько я знаю, BertForMaskedLM построен из Bert с головкой моделирования языка сверху, но я понятия не имею, что здесь означает головка моделирования языка. Может ли кто-нибудь дать мне краткое объяснение.
Ответ №1:
BertForMaskedLM, как вы правильно поняли, использует головку языкового моделирования(LM).
Как правило, как и в данном случае, головка LM представляет собой линейный слой, имеющий входной размер скрытого состояния (для BERT-базы он будет равен 768) и выходной размер словарного запаса. Таким образом, он сопоставляет вывод скрытого состояния модели BERT с определенным маркером в словаре. Потеря рассчитывается на основе баллов, полученных данным токеном по отношению к целевому токену.
Комментарии:
1. данный размер vocab равен 30.000. таким образом, линейный слой здесь представляет собой линейное преобразование типа Ax b с x формой 768 x 1 и A размером 30.000 x 768? здесь есть какая-нибудь функция активации?
2. Да, вы все правильно поняли. Исходный код huggingface не показывает функции активации после линейного слоя….
3. Большое спасибо. Кстати, знаете ли вы какую-либо модель, разработанную Бертом, которая используется для задачи ( ): «заполнение слова в пустом месте для отрывка». Я знал, что БЕРТ-предварительно обученная модель на двух tas: MASK LM (* ) и NSP. ЯВЛЯЮТСЯ ли задача ** и задача * одинаковыми?. Или действительно есть способ (любой проект, бумага,..) соответствовать задаче * ( я имею в виду «отрывок» здесь, возможно, длинный отрывок с несколькими пробелами для заполнения). Заранее спасибо.
4. Модель БЕРТА достаточно хороша, если вам просто нужно заполнить одно слово (маскируя один токен)… Однако, если вы хотите, чтобы несколько слов были заполнены в одной замаскированной позиции, вы можете взглянуть на БАРТА, который обучен задаче заполнения текста.
5. huggingface.co/transformers/model_doc/bart.html#mask-filling