Двунаправленные представления кодировщиков от преобразователей (BERT) – это метод обработки естественного языка, разработанный Google [1]. По очень простому объяснению, это предварительно обученная языковая модель, которая обучается на Википедии (2,5 миллиарда слов) + BookCorpus (800 миллионов слов)[2]. На основе BERT можно обучить глубокий двунаправленный преобразователь. BERT может видеть ВСЁ предложение по обе стороны от контекстного языкового моделирования слова и все слова почти одновременно.

Б: двунаправленный

ER: представления энкодера

Т: Трансформеры

Проблема с BERT заключается в том, что он требует слишком много времени и ресурсов. Два важных шага для создания BERT — предварительная подготовка и точная настройка. Если вы используете модель предварительной подготовки, общее время обучения будет меньше. Но если вы обучаете модель в соответствии со своей областью знаний, то это занимает много времени — может быть дни или недели, и для этого вам понадобятся графические процессоры.

Несколько способов сделать облегченную версию BERT [4]:

  1. используйте TensorFlow Lite [3]
  2. Компрессия во время тренировки и после тренировки
  3. Обрезка: удаление нейронов, весов, Удаление весовых матриц

Дополнительные идеи приветствуются!!!

использованная литература

[1] Девлин, Джейкоб, Минг-Вей Чанг, Кентон Ли и Кристина Тутанова. «Берт: предварительная подготовка глубоких двунаправленных преобразователей для понимания языка». препринт arXiv arXiv:1810.04805 (2018 г.).

[2] https://nlp.stanford.edu/seminar/details/jdevlin.pdf

[3] https://www.tensorflow.org/lite

[4] https://blog.rasa.com/compressing-bert-for-faster-prediction-2/#quantizing-with-tflite-the-results