Self-Attention, Transformer, и BERT - Последние Инновации в Обработке Естественного Языка


Report by Gereltuya Bayanmunkh
Group 22.М08-мм, Program “Artificial Intelligence and Data Science”
St. Petersburg State University

1. Введение

Модели, основанные на Attention и Self-attention, являются наиболее влиятельными инновациями последнего десятилетия в области обработки естественного языка (NLP). Благодаря высокой популярности его применения для генерация человекоподобного текста, преобразования текста в изображение и диалоговых чат-ботов эти модели сделали NLP наиболее активной областью исследований в области искусственного интеллекта. В этом докладе мы узнаем, почему последние инновации в области NLP имеют значение, и что делает Self-Attention, Transformer и BERT самыми важными инновациями NLP нашего времени.

2. Что такое обработка естественного языка?

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

NLP, развившееся из компьютерной лингвистики в 1950-х годах, можно разделить на три эпохи в зависимости от временных рамок и используемых подходов. Этими эпохами являются символическое, существовавшее с 1950-х по 1990-е годы; статистическое, существовавшее с 1990-х по 2010-е годы; и нейронное, существующее сейчас. Одной из самых важных моделей из предыдущих эпох в NLP считается Eliza, модель, которая была разработана в середине 1960-х годов, чтобы попытаться решить тест Тьюринга с использованием сопоставления с образцом и ряда правил без кодирования контекста языка.

По исследовательским целям можно разделить NLP на две пересекающиеся подобласти: понимание естественного языка (NLU), которое фокусируется на семантическом анализе или определении предполагаемого значения текста, и генерация естественного языка (NLG), которая фокусируется на генерации текста с помощью машина.

3. Для чего используется обработка естественного языка?

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

  1. Анализ тональности (Sentiment analysis) — это процесс классификации эмоциональной направленности текста. Входными данными для модели классификации тональности является фрагмент текста, а выходными данными является вероятность того, что выраженная тональность будет положительной, отрицательной или нейтральной. Эта вероятность основана либо на функциях, сгенерированных вручную, либо на статистических методах, таких как словесные n-граммы, функции TF-IDF, либо на использовании нейронных методов для захвата последовательных долгосрочных и краткосрочных зависимостей.

  2. Классификация токсичности (Toxicity classification) — это подзадача анализа тональности с целью классифицировать ввод текста с враждебными намерениями на угрозы, оскорбления, непристойности, ненависть к определенным личностям и т. д.

  3. Машинный перевод (Machine translation) — это задача по автоматизации перевода между разными языками. Входными данными для такой модели является текст на указанном исходном языке, а выходными данными является текст на указанном целевом языке. Эффективные подходы к машинному переводу позволяют различать слова со схожими значениями и выполнять идентификацию языка.

  4. Распознавание именованных сущностей (Named Entity Recognition или NER) — это задача, целью которой является выделение сущностей в фрагменте текста по предопределенным категориям, таким как личные имена, организации, местоположения и количества. Входными данными для такой модели является текст, а выходными данными являются различные именованные объекты вместе с их начальным и конечным положениями.

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

  6. Исправление грамматических ошибок (Grammatical error correction) — это задача, направленная на исправление грамматики в тексте путем кодирования грамматических правил. Это рассматривается в основном как задача от последовательности к последовательности, где модель обучается на неграмматическом предложении в качестве входных данных и правильном предложении в качестве выходных данных.

  7. Тематическое моделирование (Topic modelling) — это неконтролируемая задача анализа текста, которая берет корпус документов и обнаруживает абстрактные темы в этом корпусе. Входными данными для тематической модели является набор документов, а выходными данными является список тем, который определяет слова для каждой темы, а также пропорции назначения каждой темы в документе. Скрытое распределение Дирихле (LDA), один из самых популярных методов моделирования темы, пытается рассматривать документ как набор тем, а тему как набор слов.

  8. Генерация текста (Text generation или NLG) — это задача по генерацию текста, похожего на текст, написанный человеком. Такие модели можно настроить для создания текста в разных жанрах и форматах, включая твиты, блоги и даже компьютерный код. Генерация текста выполнялась с использованием марковских процессов, LSTM, BERT, GPT-2, LaMDA и других подходов.

  9. Информационный поиск (Information retrieval) — это задача, целью которой является поиск документов, наиболее релевантных запросу. Цель состоит не в том, чтобы ответить на конкретный запрос, а в том, чтобы извлечь из коллекции документов, число которых может исчисляться миллионами, набор, наиболее соответствующий запросу. Системы поиска документов в основном выполняют два процесса: индексирование и сопоставление. В большинстве современных систем индексация выполняется с помощью модели векторного пространства через сети с двумя башнями, а сопоставление выполняется с использованием оценок сходства или расстояния.

  10. Обобщение (Summarization) — это задача сокращения текста для выделения наиболее важной информации. Задание разделено на два класса методов: экстрактивное обобщение, которое фокусируется на извлечении наиболее важных предложений из длинного текста и объединении их для формирования резюме, и абстрактное обобщение, которое создает резюме путем перефразирования.

  11. Ответ на вопрос (Question answering) — это задача, связанная с ответами на вопросы, заданные людьми на естественном языке. Задания на ответы на вопросы делятся на множественный выбор, который включает в себя конечные варианты выбора; и открытую область, которая не включает возможные варианты ответа.

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

4. Как работает обработка естественного языка?

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

Следуя вышеперечисленным шагам, техники моделирования в области NLP можно разделить на следующие две категории в зависимости от того, какие подходы используются: Традиционные методы машинного обучения и Методы глубокого обучения.

5. Что произошло в NLP за последние годы?

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

Tay был чат-ботом, который Microsoft запустила в 2016 году. Он должен был твитить как подросток и учиться на разговорах с реальными пользователями в Twitter. Бот перенял фразы пользователей, оставивших в Твиттере сексистские и расистские комментарии, и вскоре после этого Microsoft деактивировала его.

BERT и его друзья: После введения “трансформирующей” архитектуры Transformer в 2017 году многие модели глубокого обучения для NLP были названы в честь персонажей-кукол из американского образовательного детского телесериала “Улица Сезам”. Среди них ELMo (2018), BERT (2018), Big BIRD (2019), ERNIE (2019), Kermit (2019), Grover (2019), RoBERTa (2019) и Rosita (2019). Они хороши для предоставления контекстных вложений и расширенного представления знаний.

Mixture of Experts (MoE) — это модельная структура, целью которой является предоставление разных параметров для разных входных данных на основе эффективных алгоритмов маршрутизации для достижения более высокой производительности. Switch Transformer (2019) — это пример подхода MoE, направленного на снижение затрат на связь и вычисления.

Language Model for Dialogue Applications (LaMDA) — это разговорный чат-бот, разработанный Google и представленный в 2021 году. LaMDA основанная на архитектуре Transformer, обученная диалогу, а не обычному веб-тексту, с целью предоставления разумных и конкретных ответов на разговоры. Споры вокруг события, когда инженер Google, отвечающий за обеспечение качества, считал, что LaMDA разумен, имели место в 2022 году.

Generative Pre-Trained Transformer 3 (GPT-3) — это модель со 175 миллиардами параметров, основанная на архитектуре Transformer, разработанная OpenAI и представленная в 2020 году. Microsoft приобрела эксклюзивную лицензию на доступ к базовой модели GPT-3 и предыдущая версия GPT-2 (2019) имеет открытый исходный код; но другие пользователи могут взаимодействовать с ней через интерфейс прикладного программирования (API). ChatGPT, чат-бот, доработанный на основе модели серии GPT-3.5, был выпущен в 2022 году, что привело к широкому тестированию пользователями по всему миру.

Среди этих нововведений в NLP в последние годы возник ряд споров. К критическим замечаниям относятся:

6. Что такое Attention и Self-attention?

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

Вначале Attention не развивалось непосредственно для RNN или даже для NLP. Attention было впервые представлено в 2014 году с механизмом attention на основе контента для нейронных машин Тьюринга. Это применение для задач в NLP, позже было разработано Луонгом и др. в 2015 году, и Богданау и др. в 2014 году. Сюй и др. опубликовали первую статью, в которой проводится различие между мягкими/глобальными и жесткими/локальными механизмами attention, и сделали это в контексте Neural Image Caption в 2015 году. Cheng и пр. впервые представили концепцию Self-Attention в 2016 году (LSTMN).

По словам авторов LSTMN, “LSTMN заменяет ячейку памяти сетью памяти, чтобы обеспечить хранение контекстного представления каждого входного токена с уникальным слотом памяти, а размер памяти растет со временем до верхней границы диапазона памяти достигается”. Self-attention, как следует из названия, позволяет кодер уделять внимание другим частям ввода во время обработки.

В то время как LSTMN представила самостоятельную работу, она сохраняет недостатки, связанные с использованием RNN. В 2017 году Васвани и др. предложили архитектуру Transformer, в которой широко используется Self-attention, чтобы обойти эти недостатки.

7. Что такое Transformer?

RNN были до Transformer самой современной моделью для машинного перевода, языкового моделирования и других задач NLP. Но последовательный характер RNN исключает распараллеливание в обучающих примерах. Это становится критическим при более длинных последовательностях, поскольку ограничения памяти ограничивают пакетную обработку примеров. Хотя многое было сделано для сведения к минимуму этих проблем, они присущи архитектуре и, таким образом, все еще остаются.

Механизм внимания позволяет моделировать зависимости без учета расстояния во входных или выходных последовательностях. Большинство механизмов внимания использует рекуррентные нейронные сети. Это ограничивает их полезность для Трансферного обучения (Transfer learning) из-за ранее упомянутых ограничений, которые имеют рекуррентные сети.

Архитектура Transformer от Васвани и др. опубликованная в 2017 году, обеспечивает связь двух элементов с произвольными позициями на входе или выходе с постоянным числом операций. Это также была первая модель, которая полностью полагалась на self-attention для вычисления представлений ввода или вывода без использования рекуррентных сетей или сверток, выровненных по последовательности. Хотя архитектура Transformer не использует рекуррентные или сверточные сети, она сохраняет популярную архитектуру кодер-декодер.

Transformer использует позиционные кодировки (positional encoding), добавленные к вложениям, поэтому модель может использовать порядок последовательности. В статье Transformer функции внимания описываются как “сопоставление запроса и набора пар ключ-значение с выходными данными, где запрос, ключи, значения и выходные данные являются векторами. Результат вычисляется как взвешенная сумма значений, где вес, присвоенный каждому значению, вычисляется функцией совместимости запроса с соответствующим ключом”. Пары Запрос и Ключ-Значение используются в недавно предложенном механизме внимания, который используется в Transformer. Эти входные данные для механизмов внимания получают путем умножения общего входного сигнала на кодер/декодер с различными весовыми матрицами. Именно эти различные преобразования ввода позволяют входу обслуживать себя. Это, в свою очередь, позволяет модели узнать о контексте. Например, рак может означать разные вещи в зависимости от контекста, который может быть распознан механизмами Self-Attention.

Transformer использует механизм внимания под названием Multi-Head Attention, который проецирует запросы, ключи и значения h раз вместо того, чтобы выполнять одно внимание в режиме dmodel-D запросы и пары ключ-значение. Проекции изучены, линейны и проецируются на измерения dq, dk и dv. Затем для каждого из них используется новое масштабированное скалярное произведение, чтобы получить dv-D выход. Затем эти значения объединяются и проецируются для получения окончательных значений. Масштабированное скалярное произведение внимания, как следует из названия, представляет собой просто масштабированную версию скалярного произведения. Эта многомерность позволяет механизму внимания совместно обращать внимание на различную информацию из разных представлений в разных позициях.

8. Что такое BERT?

2018 год стал переломным для NLP. Быстро развивалось концептуальное понимание того, как лучше всего представлять слова и предложения таким образом, чтобы лучше всего фиксировались их значения и отношения. Более того, сообщество NLP выдвигает невероятно мощные компоненты, которые каждый может бесплатно загрузить и использовать в своих собственных моделях и пайплайнах. Одной из последних вех в этом развитии является выпуск BERT, которая побила несколько рекордов по тому, насколько хорошо модели справляются с языковыми задачами. Вскоре после выпуска документа с описанием модели исследовательская команда Google AI также открыла исходный код модели и сделала доступными для загрузки версии модели, которые уже были предварительно обучены на массивных наборах данных. BERT — это обученный стек Transformer кодер и в статье представлены два типоразмера модели BERT:

Оба размера модели BERT имеют большое количество слоев кодера (которые в документе называются блоками преобразования) — двенадцать для базовой версии и двадцать четыре для большой версии. Они также имеют более крупные сети прямой связи (768 и 1024 скрытых блока соответственно) и больше головок внимания (12 и 16 соответственно), чем конфигурация по умолчанию в эталонной реализации Transformer в исходной статье (6 слоев кодера, 512 скрытых блоков, и 8 голов внимания).

9. Заключение

Как мы читали в этом докладе, за последние 60 лет в области NLP произошли разработки с различными подходами. Существуют разногласия по поводу недавних разработок в этой области, но потенциал положительных вариантов использования инноваций в этой области перевешивает нынешние недостатки методов. Что касается того, какие структуры приводят в действие современные языковые модели сегодня — в основном концепции Attention, Self-attention; конструкции Transformer; и улучшения, принесенные нам моделями типа BERT. В целом, нынешний бум исследований и массовое внедрение техник NLP, безусловно, обязаны своими впечатляющими результатами предыдущим исследованиям, которые проводились за предыдущие 50 лет до этого десятилетия.

10. Список литературы

  1. DeepLearning.AI. 2023. A Complete Guide To Natural Language Processing

  2. Peter Hancox, University of Birmingham, 1996. A brief history of Natural Language Processing

  3. Yoon Kim. 2014. Convolutional Neural Networks for Sentence Classification. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 1746–1751, Doha, Qatar. Association for Computational Linguistics.

  4. Kyunghyun Cho и др. 2014. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation. arXiv:1406.1078

  5. Ilya Sutskever и др. 2014, Sequence to Sequence Learning with Neural Networks. arXiv:1409.3215

  6. Ashish Vaswani и др. 2017. Attention Is All You Need. arXiv:1706.03762

  7. Jacob Devlin и др. 2018. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805

  8. OpenAI. 2022. Introducing ChatGPT

  9. Carolin Becker et al. 2020. Modern Approaches in Natural Language Processing

  10. Minh-Thang Luong и др. 2015. Effective Approaches to Attention-based Neural Machine Translation. arXiv:1508.04025

  11. Dzmitry Bahdanau и др. 2014. Neural Machine Translation by Jointly Learning to Align and Translate. arXiv:1409.0473

  12. Kelvin Xu и др. 2015. Show, Attend and Tell: Neural Image Caption Generation with Visual Attention. arXiv:1502.03044

  13. Jianpeng Cheng и др. 2016. Long Short-Term Memory-Networks for Machine Reading. arXiv:1601.06733

  14. Jay Alammar. 2021. The Illustrated BERT, ELMo, and co. (How NLP Cracked Transfer Learning)