Что такое трансформер?

什么是 Transformer?

 

Transformer - это архитектура модели глубокого обучения для обработки естественного языка (NLP), предложенная Vaswani et al. в 2017 году. В основном она используется для обработки задач, связанных с переходом от последовательности к последовательности, таких как машинный перевод, генерация текста и т. д.

Проще говоря, модель Transformer для генерации текста работает по принципу "предсказания следующего слова".

Получив от пользователя текст (подсказку), модель предсказывает, каким с большой вероятностью будет следующее слово. Основная инновация и сила трансформеров заключается в использовании механизма самовнимания, который позволяет им обрабатывать целые последовательности и улавливать зависимости на большом расстоянии более эффективно, чем предыдущие архитектуры (RNNs).

Также стоит отметить, что huggingface/transformers на GitHub - это репозиторий реализации трансформера от HuggingFace, включающий реализацию трансформера и большое количество предварительно обученных моделей.

Современные LLM в основном основаны на архитектуре Transformer, с улучшенными методами оптимизации и обучения.

 

Структура трансформатора

Каждый преобразователь генерации текста состоит из трех ключевых компонентов:

Слой встраивания (Встраивание) ::

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

Трансформаторный блок ::

Это основной строительный блок модели для обработки и преобразования входных данных. Каждый блок состоит из:

  • Механизм внимания ::
    • Основные компоненты блока трансформатора
    • Позволяют лексическим элементам взаимодействовать друг с другом
    • Улавливание контекстуальной информации и связей между словами
  • Слой многослойного перцептрона (MLP) ::
    • Сеть с обратной связью, обрабатывающая каждый лексический элемент независимо
    • Задача аттенционного слоя - направлять информацию между лексическими элементами
    • Цель MLP - оптимизировать представление каждого лексического элемента.

Вероятности выхода ::

  • Конечные линейный и softmax слои
  • Преобразование обработанных вкраплений в вероятности
  • Позволяет модели предсказать следующий лексический элемент в последовательности

 

Преимущества трансформера:

  • распараллеливание В отличие от RNN, трансформерам не нужно обрабатывать данные последовательно, поэтому они могут лучше использовать GPU для параллельных вычислений и повысить скорость обучения.
  • зависимость на расстоянии : Механизм самонаблюдения позволяет трансформеру эффективно фиксировать дальние зависимости в последовательностях.
  • ловкость Трансформатор может быть легко расширен до более крупных моделей (например, BERT, GPT и т.д.) и хорошо работает в различных задачах НЛП.

 

Недостатки трансформатора:

  • Высокая вычислительная сложность Вычислительная сложность механизма самовнушения составляет O(n^2), который потребляет больше вычислительных ресурсов при большой длине входной последовательности.
  • Высокий спрос на данные Преобразователи обычно требуют большого количества данных для обучения, чтобы полностью использовать их производительность.
  • Отсутствие информации о внутренней последовательности : Поскольку встроенного механизма обработки последовательности (например, временных шагов в RNN) не существует, для введения информации о последовательности необходимы дополнительные механизмы (например, позиционное кодирование).

 

Ссылка

Первая из этих двух ссылок - классическая статья о трансформаторах "Внимание - это все, что вам нужно". Именно в этой статье впервые был предложен трансформатор.

Второй - это визуальное объяснение трансформатора, позволяющее увидеть его внутреннюю структуру.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...