Улучшение BERT путем обучения на дополнительных данных - PullRequest
0 голосов
/ 29 сентября 2019

У меня мультиязычная модель BERT от Google.И у меня много текстовых данных на моем языке (корейский).Я хочу, чтобы БЕРТ сделал лучшие векторы для текстов на этом языке.Поэтому я хочу дополнительно обучить BERT на этом текстовом корпусе, который у меня есть.Например, если бы я обучил модель w2v некоторым данным и хотел бы продолжить ее.Возможно ли это с помощью BERT?

Существует множество примеров «точной настройки» BERT для некоторых конкретных задач, таких как даже оригинальная от Google , где вы можете обучать BERT дальше на своемданные.Но, насколько я понимаю, (я могу ошибаться), мы делаем это в рамках модели, определенной для задачи (например, для задачи классификации).Итак ... мы делаем это одновременно с обучением нашего классификатора (??)

Что мне нужно, это обучить BERT дальше отдельно, а затем получить фиксированные векторы для моих данных.Не встраивать его в какую-то заданную модель.Но просто получите векторное представление для моих данных (используя функцию get_features), как они делают в здесь .Мне просто нужно обучить модель BERT дополнительно большему количеству данных конкретного языка.

Буду бесконечно благодарен за любые предложения / ссылки о том, как обучать модель BURT дальше (предпочтительно Tensorflow).Спасибо.

1 Ответ

0 голосов
/ 30 сентября 2019

Пакет transformers предоставляет код для использования и тонкой настройки наиболее популярных в настоящее время предварительно обученных трансформаторов, включая BERT, XLNet, GPT-2, ... Вы можете легко загрузить модель и продолжить обучение.

Вы можете получить многоязычную модель BERT:

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

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

К сожалению, пакет не реализует процедуру обучения, то есть модель маскированного языка и прогнозирование следующего предложения.Вам нужно будет написать это самостоятельно, но процедура обучения, хорошо описанная в документе, и реализация будут простыми.

...