Какое отношение Меган Фокс и Майкл Бэй имеют к машинному обучению?

Нет, это не анализ успешного киносериала. С 12 июня 2017 года трансформеры — это не только крутые машины, превращающиеся в роботов. С публикацией научной статьи Google «Внимание — это все, что вам нужно» слово «трансформер» заново открывается техническим сообществом, поскольку оно приобретает еще одно значение.

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

Глубокое обучение, рекуррентные нейронные сети, механизм внимания

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

Главная особенность RNN, ставшая их главным недостатком, — это последовательная обработка последовательности. При обработке последовательности поэлементно информация, полученная при обработке первых n-1 элементов последовательности, становится доступной при обработке n-го элемента последовательности. Цена этого подхода — снижение эффективности использования времени по сравнению с параллельной обработкой. В задачах НЛП часто используются длинные последовательности сложных элементов (слов). Примером такой задачи может быть классификация газетных статей. Сочетание этих свойств и проблема запоминания связей между удаленными элементами последовательности серьезно ограничивают применение RNN.

Механизм внимания был впервые использован для решения проблемы долгосрочной зависимости (запоминания удаленных связей). Упрощенным объяснением внимания будет вычисление динамических весов среди элементов последовательности, которые помогут определить, каким элементам последовательности следует уделить наибольшее внимание при обработке одного элемента. Вначале внимание было обращено на проблемы в области генерации текста (seq2seq), такие как машинный перевод.

В этом примере мы видим, как механизм внимания извлекает информацию из входной последовательности (исходное предложение), а затем использует эту информацию при создании выходной последовательности (переведенное предложение). Чтобы объяснить, мы видим, что при генерации слова «читать» наибольшее внимание уделяется слову «читаш», поэтому первый квадрат имеет самый интенсивный цвет.

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

«Внимание — это все, что вам нужно»

В своей статье «Внимание — это все, что вам нужно» Google сделал именно то, что было сказано в заголовке. Они избавились от RNN, оставили только механизм внимания и построили вокруг него модель. Версия механизма внимания Google не связывает входную и выходную последовательность. Вместо этого он только обрабатывает входную последовательность и определяет внимание между ее элементами, отсюда и название «собственное внимание». Более подробное объяснение механизма внутреннего внимания основано на трех словах: запрос, ключ и значение.

Запрос, ключ и значение — это разные преобразования одного и того же входного вектора (элемента последовательности), выполненные с использованием Q, K и V. матрицы с обучаемыми параметрами. После создания запроса ключ и значение (q, k, v на изображении) из входного вектора ( x на изображении) каждого элемента последовательности внимание рассчитывается для каждого элемента.

Кроме того, внимание каждого элемента определяется путем умножения его запроса на ключ каждого элемента в последовательности. После масштабирования и применения функции softmax для получения распределения вероятностей по результатам первой операции вероятности умножаются на векторы значений для каждого элемента последовательности. Все это помечено как Attкруг на изображении. Сумма результирующих векторов представляет собой вектор внимания (a на изображении) для элемента, используемого для создания начального вектора запроса. Тот же процесс применяется к каждому элементу последовательности.

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

Почему эта запутанная формулировка с тремя различными преобразованиями одних и тех же входных данных и простым уравнением, которое связывает эти преобразования, вообще успешна?

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

Во-первых, внимание к себе расширяется за счет использования нескольких разных матриц запрос-ключ-значение, чтобы они могли специализироваться на разных задачах.

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

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

Все эти особенности сделали трансформеров лучшими кандидатами на то, чтобы занять современный трон в НЛП. Более быстрое время обработки позволило сократить время обучения и привело к эффективному применению больших моделей к большим и неструктурированным наборам данных.

Превратите слабые стороны в сильные

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

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

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

Преимущества — трансферное обучение и масштабируемость

Великолепные результаты, достигнутые в различных задачах с использованием подхода трансферного обучения в сочетании с наличием предварительно обученных моделей преобразователей, привели к интересному развитию в области глубокого обучения. Теперь вы можете с помощью нескольких строк кода загрузить модель, разработанную техническими гигантами, обучение которой обошлось в миллион долларов, и использовать ее в различных базовых задачах НЛП. Приложив немного больше усилий и добавив некоторую дополнительную инфраструктуру, ту же модель можно точно настроить для выбранной задачи. Самый популярный преобразователь, используемый таким образом, — BERT.

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

Можем ли мы сделать его больше?

Как мы видим, самая большая модель на этом графике имеет 530 миллиардов (530 000 000 000) параметров.

До трансформаторов самыми большими моделями были в основном архитектуры сверточных нейронных сетей (CNN), используемые в области компьютерного зрения. EfficientNet, современная архитектура CNN, используемая нашей командой компьютерного зрения в проекте SOVA, имеет около 8 миллионов параметров. Это в 10 раз меньше, чем у самой маленькой, и примерно в 65 000 раз меньше, чем у самой большой модели, показанной на графике.

Важно отметить, что самые большие из этих моделей не предназначены для трансферного обучения, а с самого начала обучаются большому количеству задач. Самые большие модели также предназначены для задач генерации текста, а не его классификации. Некоторые модели с изображения — GPT-3 (OpenAI) и Megatron-Turing (Microsoft) — в открытом доступе отсутствуют. Одна из причин заключается в том, что они не предназначены для тонкой настройки. Другая причина — их невероятные размеры, которые делают их непригодными для использования без сопутствующей инфраструктуры. Последняя причина, вероятно, заключается в их современном качестве при выполнении определенных задач по генерации текста. Недоступность этих моделей привела к тому, что они стали доступны через облачные решения. Например, GPT-3 в настоящее время доступен только через платный API, где вы можете протестировать и использовать его.

Трансформеры ❤ НЛП

Трансформеры и НЛП — союз, заключенный на небесах.

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

Это были все требования, которые нужно было выполнить, чтобы утолить жажду первых трансформеров и показать сообществу, что они могут расширять границы возможного. С тех пор было разработано несколько версий трансформаторов, и исходный код большинства из них был открытым. В прошлом году со своим Vision Transformer Google распространила влияние трансформеров на другую большую область ИИ — компьютерное зрение. До трансформеров трансферное обучение было популярной и растущей тенденцией, но с трансформерами у него появились свои герои. Их очень сложно и дорого обучать с самого начала, и они поразительно эффективны и успешны, когда точно настроены на конкретные задачи.

Huggingface — инфраструктура машинного обучения для настоящего и будущего

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

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

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

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

Литература:

Внимание — это все, что вам нужно, Васвани и др., 2017 г., https://arxiv.org/abs/1706.03762

Модели больших языков: новый закон Мура?, Жюльен Саймон, 2021 г., https://huggingface.co/blog/large-language-models

Использование DeepSpeed ​​и Megatron для обучения Megatron-Turing NLG 530B, крупнейшей и самой мощной в мире генеративной языковой модели, Пареш Харья и Али Алви, 2021 г., https://developer.nvidia.com/blog/using-deepspeed-and- megatron-to-train-megatron-turing-nlg-530b-самая большая-и-мощная-генеративная-языковая-модель-в-мире/

Изображение стоит 16 × 16 слов: трансформеры для распознавания изображений в масштабе, Досовицкий и др., 2021 г., https://arxiv.org/abs/2010.11929

Почему трансформеры играют решающую роль в развитии НЛП, Рам Сагар, 2019 г., https://analyticsindiamag.com/why-transformers-play-a-crucial-role-in-nlp-development/