Двунаправленные представления кодировщиков от преобразователей (BERT) – это метод обработки естественного языка, разработанный Google [1]. По очень простому объяснению, это предварительно обученная языковая модель, которая обучается на Википедии (2,5 миллиарда слов) + BookCorpus (800 миллионов слов)[2]. На основе BERT можно обучить глубокий двунаправленный преобразователь. BERT может видеть ВСЁ предложение по обе стороны от контекстного языкового моделирования слова и все слова почти одновременно.
Б: двунаправленный
ER: представления энкодера
Т: Трансформеры
Проблема с BERT заключается в том, что он требует слишком много времени и ресурсов. Два важных шага для создания BERT — предварительная подготовка и точная настройка. Если вы используете модель предварительной подготовки, общее время обучения будет меньше. Но если вы обучаете модель в соответствии со своей областью знаний, то это занимает много времени — может быть дни или недели, и для этого вам понадобятся графические процессоры.
Несколько способов сделать облегченную версию BERT [4]:
- используйте TensorFlow Lite [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