С момента появления BERT в качестве PLM (предварительно обученной языковой модели) в конце 2018 года все мы пробовали разные методологии для использования ее для различных последующих задач NLP, таких как Ответ на вопрос (SQuAD v1.1), вывод естественного языка ( MNLI), семантическое текстовое сходство (STS) и т. Д.

Мы часто используем встраивание текста для семантического поиска, кластеризации или анализа перефразирования. Но BERT для таких задач не подходит. После введения Приговора-БЕРТ (Нильс Реймерс и Ирина Гуревичит) жизнь стала проще. Это позволило нам вычислить вложения предложений / текста для более чем 100 языков.

Я не собираюсь вести этот блог, чтобы обсудить, как мы можем использовать встраивание предложений или как работает Sentence-BERT? Скорее, я собираюсь поговорить о том, как мы можем уменьшить его размер, и покажу вам, насколько хорошо он работает с инструментарием SentEval, который оценивает качество встраивания предложений. На основании этого можно сделать логический вывод, что даже после уменьшения размерности он не сильно страдает от семантических потерь.

Зачем нужно уменьшение размерности?

Базовые модели BERT / Roberta и базовые модели с точной настройкой, предлагаемые SBERT, представляют собой предложение или абзац по размеру 768. Здесь следует отметить, что размер 768 является довольно большим, что не только приводит к увеличению стоимости хранения, но также увеличивает скорость вычислений или скорость извлечения.

Как мы можем уменьшить размерность?

Есть несколько способов уменьшить размер встраивания, некоторые из общих подходов такие как PCA, tSNE, LDA, Autoencoder и т. Д.

Недавно я столкнулся с новой методологией, которая не только очень проста, но и помогает уменьшить размерность предложений без потери семантического значения. Автор статьи Отбеливание представлений предложений для лучшей семантики и более быстрого поиска »использовал процесс отбеливания. Это простой и эффективный метод постобработки.

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

Автор статьи поэкспериментировал с базой BERT и BERT large и сравнил ее с другими результатами:

Как мы можем сделать это?

Я покажу вам, как уменьшить размер с помощью процесса отбеливания.

В большинстве сценариев он не потерпел семантической потери даже после уменьшения размера с 768 до 256 или 128, в некоторых случаях оно имело место, но оно довольно мало.

Например, автор я выбрал «first-last-avg» в качестве конфигурации по умолчанию, которая усредняет первый и последний уровни модели. Эта конфигурация обеспечивает лучшую производительность по сравнению с усреднением только последнего слоя.

Теперь посмотрим на код:

Строка 31 дает среднее значение первых и последних двух слоев модели. Затем мы вызываем вспомогательные методы в строках с номерами 38 и 47, которые не только улучшают семантическое значение, но также помогают уменьшить размерность.

Позвольте мне показать вам несколько выполнений с использованием набора данных STS-B, кто хочет узнать больше о STS, пожалуйста, прочтите эту wiki-ссылку.

Формат данных, оценка сходства STS-B, за которой следует пара предложений.

Выход 1 по нашей методике:

Данные СТС-Б: 0,750, кто-то лук режет, кто-то несет рыбу.

Similarity score of two sentences 0.4724435126693901
New Dimension is (2, 256)

Выход 2 по нашей методике:

Данные СТС-Б: 1.714, мужчина играет на гитаре, мужчина играет на трубе.

Similarity score of two sentences 0.23541956653401658 
New Dimension is (2, 256)

Выход 3 по нашей методике:

Данные СТС-Б: 4.500, женщина поднимается на скалу, женщина поднимается на скалу.

Similarity score of two sentences 0.9047186432382186 
New Dimension is (2, 256)

Оценка инструментария SentEval по Roberta Whitening:

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

Я запустил инструментарий SentEval на двух разных наборах моделей Roberta:

  1. Предварительно обученная базовая модель Роберты.
  2. Модели, которые точно настроены на наборе данных NLI.

Мой отчет об оценке SentEval по набору данных STS:

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

Заключение:

Мы можем применить операцию отбеливания не только к модели BERT, но и к другим моделям преобразователей, где экспериментальные результаты показывают, что предлагаемый метод прост, но эффективен на 7 наборах данных тестов семантического сходства.

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

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

  1. Отбеливание представлений предложений для лучшей семантики и более быстрого поиска
  2. Приговор-БЕРТ
  3. Код, указанный от. Большое спасибо за столь информативное репо.
  4. Набор инструментов SentEval для встраивания предложений
  5. Почему модели BERT плохо справляются с встраиванием предложений?
  6. Другой подход: WhiteningBERT: простой подход к встраиванию предложений без учителя

Пожалуйста, не стесняйтесь оставлять свои комментарии, если таковые имеются. Спасибо….!!!