Как работают трансформеры в машинном обучении?

Как работают трансформеры в машинном обучении?

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

Трансформеры — относительно новый тип нейросетей, направленный на решение последовательностей с легкой обработкой дальнодействующих зависимостей. На сегодня это самая продвинутая техника в области обработки естественной речи (NLP).

С их помощью можно переводить текст, писать стихи и статьи и даже генерировать компьютерный код.В отличие от рекуррентных нейронных сетей (RNN), трансформеры не обрабатывают последовательности по порядку. Например, если исходные данные — текст, то им не нужно обрабатывать конец предложения после обработки начала. Благодаря этому такую нейросеть можно распараллелить и обучить значительно быстрее.

Когда они появились?

Трансформеры впервые описали инженеры из Google Brain в работе «Attention Is All You Need» в 2017 году.

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

Зачем нужны трансформеры?

До 2017 года инженеры использовали глубокое обучение для понимания текста с помощью рекуррентных нейронных сетей.

  • Перевод с английского на русский — задача, решаемая с помощью RNN.
  • Решение задачи перевода с помощью RNN связано с некоторыми проблемами.
  • Проблемы RNN заключаются в том, что они пытаются обрабатывать большие последовательности текста, что приводит к их «забыванию», а также в трудности тренировки и обработки слов последовательно.
  • Трансформеры — альтернативный метод решения задачи перевода, который позволяет обрабатывать входные данные параллельно и избежать проблемы исчезающего/взрывающегося градиента.

Основными компонентами трансформеров являются энкодер и декодер.

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

Другие инновации, лежащие в основе трансформеров, сводятся к трем основным концепциям:

  • позиционные энкодеры (Positional Encodings);
  • внимание (Attention);
  • самовнимание (Self-Attention).

Начнем с первого — позиционных энкодеров. Допустим, необходимо перевести текст с английского на русский. Стандартные модели RNN «понимают» порядок слов и обрабатывают их последовательно. Однако это затрудняет распараллеливание процесса.

  • [(“Red”, 1), (“fox”, 2), (“jumps”, 3), (“over”, 4), (“lazy”, 5), (“dog”, 6)]
  • Концептуально это можно рассматривать как перенос бремени понимания порядка слов со структуры нейронной сети на сами данные.
  • Сначала, прежде чем трансформеры обучатся на какой-либо информации, они не знают, как интерпретировать эти позиционные кодировки. Но по мере того как модель видит все больше и больше примеров предложений и их кодировок, она учится эффективно их использовать.
  • Представленная выше структура приведена в чрезмерно упрощенном виде — авторы оригинального исследования использовали синусоидальные функции, чтобы придумать позиционные кодировки, а не простые целые числа 1, 2, 3, 4, но суть та же. Сохраняя порядок слов в виде данных, а не структуры, нейронную сеть легче обучать.
  • Внимание — это структура нейронной сети, введенная в контекст машинного перевода в 2015 году . Чтобы понять эту концепцию, обратимся к оригинальной статье.
  • Представим, что нам нужно перевести на французский язык фразу:
  • «The agreement on the European Economic Area was signed in August 1992».
  • Французский эквивалент выражения звучит следующим образом:
  • «L’accord sur la zone économique européenne a été signé en août 1992».
  • Наихудшим вариантом перевода является прямой поиск аналогов слов из английского языка во французском, одного за другим. Этого не получится сделать по нескольким причинам.
  • Во-первых, некоторые слова во французском переводе перевернуты:
  • «European Economic Area» против «la zone économique européenne» .
  • Во-вторых, французский язык богат гендерными словами. Чтобы соответствовать женскому объекту «la zone» , прилагательные «économique» и «européenne»

Внимание помогает избегать таких ситуаций. Его механизм позволяет текстовой модели «смотреть» на каждое слово в исходном предложении при принятии решения о том, как их переводить. Это демонстрирует визуализация из оригинальной статьи:

Что такое трансформеры? (машинное обучение) Визуализация машинного перевода с использованием механизмов внимания. Данные: «Neural Machine Translation by Jointly Learning to Align and Translate (2015)» .

Это своего рода тепловая карта , показывающая, на что модель «обращает внимание», когда переводит каждое слово во французском предложении. Как и следовало ожидать, когда модель выводит слово «européenne» , она в значительной степени учитывает оба входных слова — «European» и «Economic» .

к миграции птиц.

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

Механизм внимания был чрезвычайно полезным инструментом для обработки естественного языка с момента его открытия в 2015 году, но в своей первоначальной форме он использовался вместе с рекуррентными нейронными сетями. Таким образом, нововведение статьи 2017 года о трансформерах было частично направлено на то, чтобы полностью отказаться от RNN. Вот почему работа 2017 года называется «Внимание — это все, что вам нужно».

Последняя часть трансформеров — это поворот внимания, называемый «самовниманием».

Если внимание помогает выравнивать слова при переводе с одного языка на другой, то самовнимание позволяет модели понимать смысл и закономерности языка.

Например, рассмотрим эти два предложения:

  • «Николай потерял ключ от машины»
  • «Журавлиный ключ направился на юг»

Слово «ключ» здесь означает две очень разные вещи, которые мы, люди, зная ситуацию, можем запросто отличать их значения. Самовнимание позволяет нейронной сети понимать слово в контексте слов вокруг него.

Поэтому, когда модель обрабатывает слово «ключ» в первом предложении, она может обратить внимание на «машины» и понять, что речь идет о металлическом стержне особой формы для замка, а не что-то другое.

Во втором предложении модель может обратить внимание на слова «журавлиный» и «юг» , чтобы отнести «ключ» к миграции птиц.

Зачем нужны трансформеры?

Нейросети на базе трансформеров используются для обработки и понимания естественного языка. Они помогают устранять неоднозначность слов, делать частеречную разметку, изучать семантические роли и многое другое.

Где они применяются?

Трансформеры стали популярными и появились во многих сервисах, используемых миллионами людей ежедневно. Например, языковая модель BERT от Google используется в англоязычной версии поисковика, а также в русскоязычной версии и других языках.

  • BERT обучалась на датасете BooksCorpus и имеет 110 млн параметров (расширенная версия — 340 млн).
  • Другая популярная модель — GPT компании OpenAI. Наиболее актуальная версия модели — GPT-3, обученная на датасете размером 570 Гб и имеющая 175 млрд параметров.

GPT-3 может создавать статьи, отвечать на вопросы, использоваться в качестве основы для чат-ботов, производить семантический поиск и создавать краткие выжимки из текстов .

Также на базе GPT-3 был разработан ИИ-помощник для автоматического написания кода GitHub Copilot . В его основе лежит специальная версия GPT-3 Codex AI , обученная на наборе данных из строчек кода. Исследователи уже посчитали, что с момента релиза в августе 2021 года 30% нового кода на GitHub написано с помощью Copilot .

Кроме этого, трансформы все чаще стали применять в сервисах «Яндекса», например, «Поиске», «Новостях» и «Переводчике», продуктах Google, чат-ботах и прочее. А компания «Сбер» выпустила собственную модификацию GPT , обученную на 600 Гб русскоязычных текстов.

  • Какие перспективы у трансформеров?

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

  • В конце 2020 года CV-модели продемонстрировали хорошие результаты в некоторых популярных бенчмарках, вроде детекции объектов на датасете COGO или классификации изображений на ImageNet.

В октябре 2020 года исследователи из Facebook AI Research опубликовали статью, в которой описали модель Data-efficient Image Transformers (DeiT) , основанную на трансформерах. По словам авторов, они нашли способ обучения алгоритма без огромного набора размеченных данных и получили высокую точность распознавания изображений — 85%.

В мае 2021 года специалисты из Facebook AI Research представили алгоритм компьютерного зрения DINO с открытым исходным кодом, автоматически сегментирующий объекты на фото и видео без ручной маркировки. Он также основан на трансформерах, а точность сегментирования достигла 80%.

Таким образом, помимо NLP, трансформеры все чаще находят применение и других задачах.

  • Какие угрозы несут трансформеры?
  • Помимо очевидных преимуществ, трансформеры в сфере NLP несут ряд угроз. Создатели GPT-3 не раз заявляли , что нейросеть может быть использована для массовых спам-атак, домогательств или дезинформации.
  • Кроме этого, языковая модель подвержена предвзятости к определенным группам людей. Несмотря на то, что разработчики уменьшили токсичность GPT-3 , они все еще не готовы предоставить доступ к инструменту широкому кругу разработчиков.

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

Они отметили, что GPT-3 демонстрирует «значительные улучшения» в создании экстремистских текстов по сравнению со своим предшественником GPT-2».

Раскритиковал технологию и один из «отцов глубокого обучения» Ян ЛеКун. Он сказал , что многие ожидания по поводу способностей больших языковых моделей являются нереалистичными.

  • «Пытаться построить интеллектуальные машины путем масштабирования языковых моделей — все равно что строить самолеты для полета на Луну.

  • Вы можете побить рекорды высоты, но полет на Луну потребует совершенно другого подхода», — написал ЛеКун.

CryptoIt