stringtranslate.com

Трансформатор (архитектура глубокого обучения)

Трансформатор — это архитектура глубокого обучения , основанная на механизме многоголового внимания , предложенном в статье 2017 года « Внимание — это все, что вам нужно » . [1] Он не имеет рекуррентных единиц и, следовательно, требует меньше времени на обучение, чем предыдущие рекуррентные нейронные архитектуры , такие как длинная кратковременная память (LSTM), [2] и его более поздняя вариация была широко принята для обучения больших языковых моделей на больших (языковые) наборы данных, такие как корпус Википедии и Common Crawl . [3] Входной текст разбивается на n-граммы , закодированные как токены , и каждый токен преобразуется в вектор путем поиска в таблице встраивания слов. На каждом уровне каждый токен затем контекстуализируется в пределах контекстного окна с другими (немаскированными) токенами с помощью параллельного механизма внимания с несколькими головками , позволяющего усиливать сигнал для ключевых токенов и уменьшать менее важные токены. Статья о трансформаторе, опубликованная в 2017 году, основана на механизме внимания на основе softmax, предложенном Богданау и др. ал. в 2014 году для машинного перевода [4] [5] и в 1992 году был предложен быстрый весовой контроллер, похожий на трансформатор. [6] [7] [8]

Эта архитектура теперь используется не только в обработке естественного языка и компьютерном зрении [9] , но также в аудио [10] и мультимодальной обработке. Это также привело к разработке предварительно обученных систем , таких как генеративные предварительно обученные преобразователи (GPT) [11] и BERT [12] (представления двунаправленных кодировщиков из трансформаторов).

Хронология моделей обработки естественного языка

График

Предшественники

До трансформаторов в закрытые рекуррентные нейронные сети были добавлены предшественники механизма внимания , такие как LSTM и вентильные рекуррентные устройства (GRU), которые обрабатывали наборы данных последовательно. Зависимость от предыдущих вычислений токенов не позволила им распараллелить механизм внимания. В 1992 году быстрый контроллер веса был предложен в качестве альтернативы рекуррентным нейронным сетям, способным обучаться «внутренним прожекторам внимания». [16] [6] Теоретически информация от одного токена может распространяться сколь угодно далеко вниз по последовательности, но на практике проблема исчезающего градиента оставляет состояние модели в конце длинного предложения без точной, извлекаемой информации о предыдущих токенах.

Производительность старых моделей была повышена за счет добавления механизма внимания, который позволял модели получать доступ к любой предыдущей точке последовательности. Уровень внимания взвешивает все предыдущие состояния в соответствии с изученной мерой релевантности, предоставляя соответствующую информацию об удаленных токенах. Это оказалось особенно полезным при языковом переводе , где отдаленный контекст может иметь решающее значение для значения слова в предложении. Вектор состояния стал доступен только после того, как было обработано последнее английское слово во время, например, перевода его с французского с помощью модели LSTM. Хотя теоретически такой вектор сохраняет информацию обо всем исходном предложении, на практике информация сохраняется плохо. Если добавлен механизм внимания, декодеру предоставляется доступ к векторам состояния каждого входного слова, а не только последнего, и он может узнать веса внимания, которые определяют, сколько внимания уделять каждому входному вектору состояния. Дополнение моделей seq2seq механизмом внимания было впервые реализовано в контексте машинного перевода Богданау, Чо и Бенджио в 2014 году. [4] [5]

Разложимое внимание

В 2016 году разлагаемое внимание с высокой степенью параллелизации было успешно объединено с сетью прямой связи. [33] Это указывало на то, что механизмы внимания сами по себе являются мощными и что последовательная рекуррентная обработка данных не является необходимой для достижения повышения качества рекуррентных нейронных сетей с вниманием. В 2017 году Васвани и др. также предложил заменить рекуррентные нейронные сети самообслуживанием и начал попытки оценить эту идею. [1] Трансформаторы, используя механизм внимания, обрабатывая все токены одновременно, вычисляли «мягкие» веса между ними в последовательных слоях. Поскольку механизм внимания использует информацию только о других токенах из нижних уровней, ее можно вычислять для всех токенов параллельно, что приводит к повышению скорости обучения.

Обучение

Методы стабилизации тренировок

Простая архитектура трансформатора с трудом сходилась. В оригинальной статье [1] авторы рекомендовали использовать прогрев скорости обучения. То есть скорость обучения должна линейно увеличиваться от 0 до максимального значения для первой части обучения (обычно рекомендуется составлять 2% от общего количества шагов обучения), а затем снова снижаться.

В статье 2020 года было обнаружено, что использование нормализации слоев до (а не после) слоев многоголового внимания и прямой связи стабилизирует обучение, не требуя повышения скорости обучения. [30]

Модель GT3 объединяет CWTE, SWTE и TTE с использованием самоадаптивного слоя вентилей, что обеспечивает эффективное и результативное объединение трех типов функций для сквозного текстового прогнозирования фондового рынка. [34]

Предварительная точная настройка

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

В статье «Трансформатор Т5» [35] документировано большое количество предтренировочных задач. Некоторые примеры:

Приложения

Трансформатор добился больших успехов в обработке естественного языка (НЛП), например, в задачах машинного перевода и прогнозирования временных рядов . Многие большие языковые модели, такие как GPT-2 , GPT-3 , GPT-4 , Claude , BERT , XLNet, RoBERTa и ChatGPT , демонстрируют способность преобразователей выполнять широкий спектр таких задач, связанных с НЛП, и имеют потенциал для поиска реальные приложения. Они могут включать в себя:

Помимо приложений НЛП, он также добился успеха в других областях, таких как компьютерное зрение или приложения для сворачивания белков (такие как AlphaFold ).

В качестве наглядного примера можно привести Ithaca — преобразователь только для энкодера с тремя выходными головками. В качестве входных данных принимается древнегреческая надпись в виде последовательности символов, но с заменой неразборчивых символов на «-». Его три выходных головки соответственно выводят распределения вероятностей по греческим символам, местоположению надписи и дате надписи. [37]

Реализации

Модель преобразователя реализована в стандартных средах глубокого обучения , таких как TensorFlow и PyTorch .

Transformers — это библиотека, созданная Hugging Face , которая предоставляет архитектуры на основе трансформаторов и предварительно обученные модели. [11]

Архитектура

Иллюстрация основных компонентов модели трансформатора из оригинальной статьи, где слои были нормализованы после (а не до) многоголового внимания.

Все трансформаторы имеют одинаковые первичные компоненты:

Слои преобразователя могут быть одного из двух типов: кодировщика и декодера . В оригинальной статье использовались оба они, тогда как более поздние модели включали только один из них. BERT — пример модели только для кодировщика; GPT — это модели только для декодера.

Вход

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

Архитектура кодировщика-декодера

Как и более ранние модели seq2seq , исходная модель преобразователя использовала архитектуру кодер-декодер . Кодер состоит из слоев кодирования, которые итеративно обрабатывают входные токены один уровень за другим, а декодер состоит из слоев декодирования, которые итеративно обрабатывают выходные данные кодера, а также выходные токены декодера.

Функция каждого уровня кодера заключается в создании контекстуализированных представлений токенов, где каждое представление соответствует токену, который «смешивает» информацию из других входных токенов посредством механизма самообслуживания. Каждый уровень декодера содержит два подуровня внимания: (1) перекрестное внимание для включения выходных данных кодера (контекстуализированные входные представления токенов) и (2) самовнимание для «смешивания» информации между входными токенами в декодер (т. е. токены, сгенерированные на данный момент во время вывода). [38] [39]

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

Масштабируемое внимание к точечному произведению

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

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

где softmax отсчитывается по горизонтальной оси.

Многоголовое внимание

Один набор матриц называется головой внимания , и каждый слой в модели преобразователя имеет несколько голов внимания. В то время как каждая голова внимания обслуживает токены, которые имеют отношение к каждому токену, несколько голов внимания позволяют модели делать это для разных определений «релевантности». Кроме того, поле влияния, представляющее релевантность, может постепенно расширяться на последующих уровнях. Многие преобразователи внимания кодируют отношения релевантности, значимые для людей. Например, некоторые головы внимания могут сосредоточиться в основном на следующем слове, тогда как другие в основном переключаются с глаголов на их прямые объекты. [40] Вычисления для каждой головки внимания могут выполняться параллельно , что обеспечивает быструю обработку. Выходные данные слоя внимания объединяются для передачи в слои нейронной сети прямой связи .

Конкретно, пусть множественные головки внимания индексируются как , тогда мы имеем

Замаскированное внимание

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

Кодер

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

Первый кодер принимает в качестве входных данных позиционную информацию и вложения входной последовательности, а не кодировки. Информация о положении необходима преобразователю для использования порядка последовательности, поскольку никакая другая часть преобразователя не использует ее. [1]

Кодер является двунаправленным. Внимание может быть обращено на токены до и после текущего токена. Токены используются вместо слов для учета многозначности .

Схема синусоидального позиционного кодирования с параметрами

Позиционное кодирование

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

Позиционное кодирование определяется как функция типа , где – положительное четное целое число . Полное позиционное кодирование, определенное в оригинальной статье, задается уравнением:

Здесь — свободный параметр, который должен быть значительно больше, чем самый большой , который будет введен в функцию позиционного кодирования. В оригинальной статье [1] авторы выбрали .

Функция имеет более простую форму, если ее записать как сложную функцию типа

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

Взяв линейную сумму, любую свертку также можно реализовать как линейные преобразования:

языковой модели сверточной нейронной сети

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

Декодер

Каждый декодер состоит из трех основных компонентов: механизма самоконтроля, механизма внимания к кодировкам и нейронной сети прямой связи. Декодер функционирует аналогично кодировщику, но в него вставлен дополнительный механизм внимания, который вместо этого извлекает соответствующую информацию из кодировок, сгенерированных кодировщиками. Этот механизм также можно назвать вниманием кодера-декодера . [1] [39]

Как и первый кодер, первый декодер принимает в качестве входных данных позиционную информацию и внедрения выходной последовательности, а не кодировки. Преобразователь не должен использовать текущий или будущий выходной сигнал для прогнозирования выходного сигнала, поэтому выходная последовательность должна быть частично замаскирована, чтобы предотвратить обратный поток информации. [1] Это позволяет создавать авторегрессионный текст. Для всех голов внимания внимание не может быть сосредоточено на следующих токенах. За последним декодером следует окончательное линейное преобразование и слой softmax для получения выходных вероятностей по словарю.

Все члены серии OpenAI GPT имеют архитектуру только для декодера.

Терминология

В больших языковых моделях терминология несколько отличается от терминологии, использованной в оригинальной статье Transformer: [41]

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

Обычно языковые модели на основе Transformer делятся на два типа: причинные (или «авторегрессивные») и маскированные. Серия GPT предназначена только для причинной связи и декодера. BERT маскируется и используется только кодировщиком. [42] [43] Серия T5 представляет собой кодер-декодер с полным кодером и авторегрессионным декодером. [35]

Последующая работа

Альтернативные функции активации

Оригинальный трансформатор использует функцию активации ReLU . Были разработаны и другие функции активации, такие как SwiGLU. [44]

Альтернативные позиционные кодировки

Трансформаторы могут использовать другие методы позиционного кодирования, кроме синусоидального. [45]

RoPE (вращающееся позиционное встраивание) [46] лучше всего объясняется при рассмотрении списка двумерных векторов . Теперь выберите какой-нибудь угол . Тогда кодировка RoPE

Преимущество RoPE заключается в том, что скалярное произведение между двумя векторами зависит только от их относительного местоположения:

ALiBi (Внимание с линейными смещениями) [47] не является заменой позиционного энкодера оригинального трансформатора. Вместо этого это дополнительный позиционный энкодер, который напрямую подключается к механизму внимания. В частности, механизм внимания ALiBi

линейного смещения

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

Кодирование относительного положения [48] похоже на ALiBi, но более общее:

матрица Теплица

Эффективная реализация

FlashAttention

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

Улучшенная версия FlashAttention-2, [50] [51] [52] была разработана для удовлетворения растущего спроса на языковые модели, способные обрабатывать контексты большей длины. Он предлагает улучшения в разделении работы и параллелизме, что позволяет ему достигать производительности до 230 терафлопс/с на графических процессорах A100 (FP16/BF16), что в 2 раза превышает скорость исходного FlashAttention.

Ключевые достижения в FlashAttention-2 включают сокращение количества FLOP, не относящихся к matmul, улучшенный параллелизм по измерению длины последовательности, лучшее разделение работы между деформациями графического процессора, а также добавленную поддержку размеров головки до 256, а также внимания к множественным запросам (MQA) и группировки. запрос внимания (GQA).

Тесты показали, что FlashAttention-2 работает до 2 раз быстрее, чем FlashAttention, и до 9 раз быстрее, чем стандартная реализация внимания в PyTorch. Будущие разработки включают оптимизацию для нового оборудования, такого как графические процессоры H100, и новых типов данных, таких как FP8.

Внимание к множественным запросам

Многозапросное внимание изменяет механизм многоголового внимания. [53] Хотя обычно

Это нейтрально влияет на качество модели и скорость обучения, но увеличивает скорость вывода.

Спекулятивное декодирование

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

В частности, рассмотрим модель преобразователя, такую ​​​​как GPT-3, с размером контекстного окна 512. Чтобы авторегрессионно сгенерировать все контекстное окно с жадным декодированием, его необходимо запустить 512 раз, каждый раз генерируя токен . Однако, если бы у нас было какое-то обоснованное предположение о значениях этих токенов, мы могли бы проверить их все параллельно, за один прогон модели, проверив, что каждый из них действительно является токеном с наибольшей логарифмической вероятностью в -th выходных данных . .

При спекулятивном декодировании меньшая модель или какая-либо другая простая эвристика используется для генерации нескольких спекулятивных токенов, которые впоследствии проверяются более крупной моделью. Например, предположим, что небольшая модель сгенерировала четыре спекулятивных токена: . Эти токены проходят через более крупную модель и принимаются только и . Тот же запуск большой модели уже создал новый токен для замены и полностью отбрасывается. Затем процесс повторяется (начиная с 4-го токена), пока не будут сгенерированы все токены.

Для нежадного декодирования применяются аналогичные идеи, за исключением того, что спекулятивные токены принимаются или отклоняются стохастически, таким образом, чтобы гарантировать, что окончательное распределение выходных данных будет таким же, как если бы спекулятивное декодирование не использовалось. [54] [56]

Субквадратичные трансформаторы

Обучение архитектуры на основе трансформатора может быть дорогостоящим, особенно для длинных входных сигналов. [57] Альтернативные архитектуры включают Reformer (который снижает вычислительную нагрузку с до [57] ) или такие модели, как ETC/BigBird (которые могут уменьшить ее до ) [58] где – длина последовательности. Это делается с использованием локально-зависимого хеширования и обратимых слоев. [59] [60]

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

Long Range Arena (2020) [62] — стандартный тест для сравнения поведения архитектур трансформаторов при длинных входных сигналах.

Внимание к случайным функциям (2021) [63] использует случайные функции Фурье :

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

Performer (2022) [64] использует то же самое случайное внимание к функциям, но сначала они независимо выбираются из нормального распределения , а затем обрабатываются по Граму-Шмидту .

Мультимодальность

Трансформеры также можно использовать/адаптировать для модальностей (ввода или вывода), помимо текста, обычно путем поиска способа «токенизации» модальности.

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

Conformer [29] и более поздний Whisper [65] следуют той же схеме распознавания речи , сначала превращая речевой сигнал в спектрограмму , которая затем обрабатывается как изображение, т.е. разбивается на серию фрагментов, превращается в векторы и обрабатывается как жетоны в стандартном трансформере.

Воспринимающие , Эндрю Джегл и др. (2021) [66] [67] могут учиться на больших объемах разнородных данных.

Что касается вывода изображений , Пиблс и др. представили диффузионный преобразователь (DiT), который облегчает использование архитектуры преобразователя для создания изображений на основе диффузии . [68] Кроме того, Google выпустила генератор изображений, ориентированный на трансформатор, под названием «Muse», основанный на технологии параллельного декодирования и генеративного преобразователя в масках. [69] (Трансформеры играли менее центральную роль в предшествующих технологиях создания изображений, [70], хотя и по-прежнему значительную. [71] )

Смотрите также

Рекомендации

  1. ^ abcdefghij Васвани, Ашиш ; Шазир, Ноам; Пармар, Ники; Ушкорейт, Якоб; Джонс, Лион; Гомес, Эйдан Н ; Кайзер, Лукаш; Полосухин, Илья (2017). «Внимание — это все, что вам нужно» (PDF) . Достижения в области нейронных систем обработки информации . Карран Ассошиэйтс, Инк. 30 .
  2. ^ Хохрейтер, Зепп ; Шмидхубер, Юрген (1 ноября 1997 г.). «Долгая кратковременная память». Нейронные вычисления . 9 (8): 1735–1780. дои : 10.1162/neco.1997.9.8.1735. ISSN  0899-7667. PMID  9377276. S2CID  1915014.
  3. ^ ab «Лучшие языковые модели и их последствия». ОпенАИ . 14 февраля 2019 г. Архивировано из оригинала 19 декабря 2020 г. Проверено 25 августа 2019 г.
  4. ^ аб Богданау; Чо, Кёнхён; Бенджио, Йошуа (1 сентября 2014 г.). «Нейронный машинный перевод путем совместного обучения выравниванию и переводу». arXiv : 1409.0473 [cs.CL].
  5. ^ Аб Луонг, Минь-Танг; Фам, Хьеу; Мэннинг, Кристофер Д. (17 августа 2015 г.). «Эффективные подходы к нейронному машинному переводу, основанному на внимании». arXiv : 1508.04025 [cs.CL].
  6. ^ abc Шмидхубер, Юрген (1992). «Научимся контролировать быстрые воспоминания: альтернатива повторяющимся сетям». Нейронные вычисления . 4 (1): 131–139. дои : 10.1162/neco.1992.4.1.131. S2CID  16683347.
  7. ^ аб Шлаг, Иманол ; Ириэ, Кадзуки; Шмидхубер, Юрген (2021). «Линейные трансформаторы — тайно быстрые программисты веса». ICML 2021 . Спрингер. стр. 9355–9366.
  8. ^ аб Катаропулос, Ангелос; Вьяс, Апурв; Паппас, Николаос; Флере, Франсуа (2020). «Трансформеры - это RNN: быстрые авторегрессионные трансформаторы с линейным вниманием». ИКМЛ 2020 . ПМЛР. стр. 5156–5165.
  9. Хэ, Ченг (31 декабря 2021 г.). «Трансформатор в резюме». Трансформатор в ЦВ . На пути к науке о данных. Архивировано из оригинала 16 апреля 2023 года . Проверено 19 июня 2021 г.
  10. ^ Рэдфорд, Алек; Чон Ук Ким; Сюй, Тао; Брокман, Грег; МакЛиви, Кристина; Суцкевер, Илья (2022). «Надежное распознавание речи посредством крупномасштабного слабого контроля». arXiv : 2212.04356 [eess.AS].
  11. ^ аб Вольф, Томас; Дебют, Лисандра; Сан, Виктор; Шомон, Жюльен; Деланг, Клеман; Мой, Энтони; Систак, Пьеррик; Раулт, Тим; Луф, Реми; Фунтович, Морган; Дэвисон, Джо; Шлейфер, Сэм; фон Платен, Патрик; Ма, Клара; Джернит, Ясин; Плю, Жюльен; Сюй, Канвен; Ле Скао, Тевен; Гуггер, Сильвен; Драма, Мариама; Лоест, Квентин; Раш, Александр (2020). «Трансформеры: современная обработка естественного языка». Материалы конференции 2020 года по эмпирическим методам обработки естественного языка: системные демонстрации . стр. 38–45. doi : 10.18653/v1/2020.emnlp-demos.6. S2CID  208117506.
  12. ^ abc «BERT с открытым исходным кодом: современная предварительная подготовка по обработке естественного языка». Блог Google AI . 2 ноября 2018 г. Архивировано из оригинала 13 января 2021 г. Проверено 25 августа 2019 г.
  13. ^ Элман, Джеффри Л. (март 1990 г.). «В поисках структуры во времени». Когнитивная наука . 14 (2): 179–211. дои : 10.1207/s15516709cog1402_1. S2CID  2763403.
  14. ^ Хороманский, Кшиштоф; Лихошерстов Валерий; Дохан, Дэвид; Сун, Синю; Гейн, Андреа; Сарлос, Тамас; Хокинс, Питер; Дэвис, Джаред; Мохиуддин, Афроз; Кайзер, Лукаш; Беланджер, Дэвид; Колвелл, Люси; Веллер, Адриан (2020). «Переосмысление внимания с исполнителями». arXiv : 2009.14794 [cs.CL].
  15. Шмидхубер, Юрген (26 марта 2021 г.). «26 марта 1991 г.: Нейронные сети учатся программировать нейронные сети с быстрыми весами — первые варианты Трансформера. 2021-: Новинки!». ИДСИА, Швейцария. Архивировано из оригинала 5 декабря 2023 года . Проверено 29 декабря 2023 г.
  16. ^ аб Шмидхубер, Юрген (1993). «Уменьшение соотношения между сложностью обучения и количеством изменяющихся во времени переменных в полностью рекуррентных сетях». ИКАНН, 1993 год . Спрингер. стр. 460–463.
  17. ^ Браун, Питер Ф. (1993). «Математика статистического машинного перевода: оценка параметров». Компьютерная лингвистика (19): 263–311.
  18. ^ Банко, Микеле; Брилл, Эрик (2001). «Масштабирование до очень-очень больших корпусов для устранения неоднозначности на естественном языке». Материалы 39-го ежегодного собрания Ассоциации компьютерной лингвистики - ACL '01 . Морристаун, Нью-Джерси, США: Ассоциация компьютерной лингвистики: 26–33. дои : 10.3115/1073012.1073017 . S2CID  6645623.
  19. ^ Суцкевер, Илья; Виньялс, Ориол; Ле, Куок V (2014). «Последовательное обучение с помощью нейронных сетей». Достижения в области нейронных систем обработки информации . Карран Ассошиэйтс, Инк. 27 . arXiv : 1409.3215 .
  20. ^ Чо, Кёнхён; ван Мерриенбур, Барт; Богданов Дмитрий; Бенджио, Йошуа (2014). «О свойствах нейронного машинного перевода: подходы кодировщика-декодера». Материалы SSST-8, Восьмого семинара по синтаксису, семантике и структуре статистического перевода . Страудсбург, Пенсильвания, США: Ассоциация компьютерной лингвистики: 103–111. arXiv : 1409.1259 . дои : 10.3115/v1/w14-4012. S2CID  11336213.
  21. ^ Чунг, Джунён; Гульчере, Чаглар; Чо, КёнХён; Бенджио, Йошуа (2014). «Эмпирическая оценка вентилируемых рекуррентных нейронных сетей при моделировании последовательностей». arXiv : 1412.3555 [cs.NE].
  22. ^ Грубер, Н.; Йокиш, А. (2020), «Являются ли клетки GRU более специфичными, а клетки LSTM более чувствительными при классификации текста по мотивам?», Frontiers in Artificial Intelligence , 3 : 40, doi : 10.3389/frai.2020.00040 , PMC 7861254 , PMID  33733157, S2CID  220252321  
  23. ^ Богданов, Дмитрий; Чо, Кёнхён; Бенджио, Йошуа (1 сентября 2014 г.). «Нейронный машинный перевод путем совместного обучения выравниванию и переводу». arXiv : 1409.0473 [cs.CL].
  24. ^ "Ученый Google". ученый.google.com . Проверено 13 августа 2023 г.
  25. ^ Льюис-Краус, Гидеон (14 декабря 2016 г.). «Великое пробуждение ИИ». Нью-Йорк Таймс . ISSN  0362-4331. Архивировано из оригинала 24 мая 2023 года . Проверено 22 июня 2023 г.
  26. ^ Ву, Юнхуэй; и другие. (01 сентября 2016 г.). «Система нейронного машинного перевода Google: преодоление разрыва между человеческим и машинным переводом». arXiv : 1609.08144 [cs.CL].
  27. ^ Девлин, Джейкоб; Чанг, Мин-Вэй; Ли, Кентон; Тутанова, Кристина (11 октября 2018 г.). «BERT: Предварительная подготовка глубоких двунаправленных преобразователей для понимания языка». arXiv : 1810.04805v2 [cs.CL].
  28. ^ аб Досовицкий, Алексей; Бейер, Лукас; Колесников, Александр; Вайссенборн, Дирк; Чжай, Сяохуа; Унтертинер, Томас; Дегани, Мостафа; Миндерер, Матиас; Хейгольд, Георг; Гелли, Сильвен; Ушкорейт, Якоб (3 июня 2021 г.). «Изображение стоит 16x16 слов: преобразователи для распознавания изображений в масштабе». arXiv : 2010.11929 [cs.CV].
  29. ^ аб Гулати, Анмол; Цинь, Джеймс; Чиу, Чун-Ченг; Пармар, Ники; Чжан, Ю; Ю, Цзяхуэй; Хан, Вэй; Ван, Шибо; Чжан, Чжэндун; Ву, Юнхуэй; Панг, Руоминг (2020). «Конформер: преобразователь с расширенной сверткой для распознавания речи». arXiv : 2005.08100 [eess.AS].
  30. ^ Аб Сюн, Руибин; Ян, Юньчан; Он, Ди; Чжэн, Кай; Чжэн, Шусинь; Син, Чен; Чжан, Хуэйшуай; Лан, Яньян; Ван, Ливэй; Лю, Те-Янь (29 июня 2020 г.). «О нормализации слоев в архитектуре трансформатора». arXiv : 2002.04745 [cs.LG].
  31. ^ «Улучшение понимания языка с помощью обучения без учителя». openai.com . 11 июня 2018 г. Архивировано из оригинала 18 марта 2023 г. Проверено 18 марта 2023 г.
  32. ^ Finetune-transformer-lm, OpenAI, 11 июня 2018 г. , получено 1 мая 2023 г.
  33. ^ «Документы с кодом - разложимая модель внимания для вывода на естественном языке» . paperswithcode.com .
  34. ^ Чен, Цзя; Чен, Тао; Шен, Мэнци; Ши, Юнхай; Ван, Дунцзин; Чжан, Синь (01 сентября 2022 г.). «Закрытый трехбашенный трансформатор для текстового прогнозирования фондового рынка». Мультимедийные инструменты и приложения . 81 (21): 30093–30119. дои : 10.1007/s11042-022-11908-1. ISSN  1573-7721. S2CID  247987240.
  35. ^ Аб Раффель, Колин; Шазир, Ноам; Робертс, Адам; Ли, Кэтрин; Наранг, Шаран; Матена, Майкл; Чжоу, Яньци; Ли, Вэй; Лю, Питер Дж. (01 января 2020 г.). «Изучение границ трансферного обучения с помощью унифицированного преобразователя текста в текст». Журнал исследований машинного обучения . 21 (1): 140:5485–140:5551. arXiv : 1910.10683 . ISSN  1532-4435.
  36. ^ Кариампужа, Уильям; Алия, Джоконда; Цюй, Сью; Санджак, Джалеал; Мате, Эви; Сид, Эрик; Шатлен, Хейли; Ядо, Арджун; Сюй, Яньцзи; Чжу, Цянь (2023). «Точное извлечение информации для масштабной эпидемиологии редких заболеваний». Журнал трансляционной медицины . 21 (1): 157. doi : 10.1186/s12967-023-04011-y . ПМЦ 9972634 . ПМИД  36855134. 
  37. ^ Ассаэль, Яннис; Соммершильд, Тея; Шиллингфорд, Брендан; Бордбар, Махьяр; Павлопулос, Джон; Хаципанагиоту, Марита; Андрутсопулос, Ион; Праг, Джонатан; де Фрейтас, Нандо (март 2022 г.). «Восстановление и атрибуция древних текстов с помощью глубоких нейронных сетей». Природа . 603 (7900): 280–283. Бибкод : 2022Natur.603..280A. дои : 10.1038/s41586-022-04448-z. ISSN  1476-4687. ПМК 8907065 . ПМИД  35264762. 
  38. ^ «Моделирование последовательностей с помощью нейронных сетей (Часть 2): Модели внимания». Индико . 18 апреля 2016 г. Архивировано из оригинала 21 октября 2020 г. Проверено 15 октября 2019 г.
  39. ^ abc Аламмар, Джей. «Иллюстрированный трансформер». jalammar.github.io . Архивировано из оригинала 18 октября 2020 г. Проверено 15 октября 2019 г.
  40. ^ Кларк, Кевин; Хандельвал, Урваши; Леви, Омер; Мэннинг, Кристофер Д. (август 2019 г.). «На что смотрит BERT? Анализ внимания BERT». Материалы семинара ACL Workshop BlackboxNLP 2019: анализ и интерпретация нейронных сетей для НЛП . Флоренция, Италия: Ассоциация компьютерной лингвистики: 276–286. arXiv : 1906.04341 . дои : 10.18653/v1/W19-4828 . Архивировано из оригинала 21 октября 2020 г. Проверено 20 мая 2020 г.
  41. ЛеКун, Янн (28 апреля 2023 г.). «Обзор программ магистратуры с практическим руководством и древом эволюции». Твиттер . Архивировано из оригинала 23 июня 2023 года . Проверено 23 июня 2023 г.
  42. ^ «Моделирование языка в масках» . Huggingface.co . Проверено 5 октября 2023 г.
  43. ^ «Причинно-языковое моделирование». Huggingface.co . Проверено 5 октября 2023 г.
  44. ^ Шазир, Ноам (01 февраля 2020 г.). «Варианты GLU улучшают трансформатор». arXiv : 2002.05202 [cs.LG].
  45. ^ Дафтер, Филипп; Шмитт, Мартин; Шютце, Хинрих (6 июня 2022 г.). «Информация о положении в трансформаторах: обзор». Компьютерная лингвистика . 48 (3): 733–763. arXiv : 2102.11090 . дои : 10.1162/coli_a_00445 . ISSN  0891-2017. S2CID  231986066.
  46. ^ Су, Цзяньлинь; Лу, Ю; Пан, Шэнфэн; Муртадха, Ахмед; Вэнь, Бо; Лю, Юньфэн (01 апреля 2021 г.). «RoFormer: усовершенствованный трансформатор с встраиванием поворотного положения». arXiv : 2104.09864 [cs.CL].
  47. ^ Пресс, Офир; Смит, Ной А.; Льюис, Майк (01 августа 2021 г.). «Поезд короткий, тест длинный: внимание с линейными смещениями позволяет экстраполяцию входной длины». arXiv : 2108.12409 [cs.CL].
  48. ^ Шоу, Питер; Ушкорейт, Якоб; Васвани, Ашиш (2018). «Самовнимание с представлением относительной позиции». arXiv : 1803.02155 [cs.CL].
  49. ^ Дао, Три; Фу, Дэн; Эрмон, Стефано; Рудра, Атри; Ре, Кристофер (06 декабря 2022 г.). «FlashAttention: быстрое и эффективное использование памяти точное внимание с учетом ввода-вывода». Достижения в области нейронных систем обработки информации . 35 : 16344–16359. arXiv : 2205.14135 .
  50. ^ "Стэнфордский CRFM". crfm.stanford.edu . Проверено 18 июля 2023 г.
  51. ^ «FlashAttention-2: более быстрое внимание с лучшим параллелизмом и разделением работы» . Принстон НЛП . 17.06.2023 . Проверено 18 июля 2023 г.
  52. ^ «Представляем вместе главного научного сотрудника по искусственному интеллекту Три Дао, который выпускает FlashAttention-2 для ускорения обучения моделей и получения выводов» . ВМЕСТЕ . Проверено 18 июля 2023 г.
  53. ^ Чоудхери, Ааканша; Наранг, Шаран; Девлин, Джейкоб; Босма, Мартен; Мишра, Гаурав; Робертс, Адам; Бархам, Пол; Чунг, Хён Вон; Саттон, Чарльз; Германн, Себастьян; Шу, Паркер; Ши, Кенсен; Цвященко, Саша; Майнес, Джошуа; Рао, Абхишек (1 апреля 2022 г.). «PaLM: масштабирование языкового моделирования с помощью путей». arXiv : 2204.02311 [cs.CL].
  54. ^ аб Левиафан, Янив; Кальман, Матан; Матиас, Йосси (18 мая 2023 г.), Быстрый вывод на основе трансформаторов посредством спекулятивного декодирования , arXiv : 2211.17192
  55. ^ К 100-кратному ускорению: полная оптимизация вывода трансформатора , Яо Фу, 13 декабря 2023 г.
  56. ^ Чен, Чарли; Боржо, Себастьян; Ирвинг, Джеффри; Леспио, Жан-Батист; Сифре, Лоран; Джампер, Джон (2 февраля 2023 г.), Ускорение декодирования модели большого языка с помощью спекулятивной выборки , arXiv : 2302.01318
  57. ^ аб Китаев, Никита; Кайзер, Лукаш; Левская, Ансельм (2020). «Реформатор: эффективный преобразователь». arXiv : 2001.04451 [cs.LG].
  58. ^ «Построение трансформаторов для более длинных последовательностей с помощью методов разреженного внимания» . Блог Google AI . 25 марта 2021 г. Архивировано из оригинала 18 сентября 2021 г. Проверено 28 мая 2021 г.
  59. ^ «Задачи с длинными последовательностями - чат-бот» . Курсера . Архивировано из оригинала 26 октября 2020 г. Проверено 22 октября 2020 г.
  60. ^ «Реформатор: эффективный преобразователь». Блог Google AI . 16 января 2020 г. Архивировано из оригинала 22 октября 2020 г. Проверено 22 октября 2020 г.
  61. ^ Чжай, Шуанфэй; Тэлботт, Уолтер; Шривастава, Нитиш; Хуанг, Чен; Гох, Хэнлин; Чжан, Жуйсян; Сасскинд, Джош (21 сентября 2021 г.). «Трансформатор, свободный от внимания». arXiv : 2105.14103 [cs.LG].
  62. ^ Тай, Йи; Дегани, Мостафа; Абнар, Самира; Шен, Икан; Бахри, Дара; Фам, Филип; Рао, Цзиньфэн; Ян, Лю; Рудер, Себастьян; Мецлер, Дональд (08 ноября 2020 г.). «Арена дальнего действия: эталон эффективных трансформаторов». arXiv : 2011.04006 [cs.LG].
  63. ^ Пэн, Хао; Паппас, Николаос; Йогатама, Дэни; Шварц, Рой; Смит, Ной А.; Конг, Линпэн (19 марта 2021 г.). «Случайное внимание к функциям». arXiv : 2103.02143 [cs.CL].
  64. ^ Хороманский, Кшиштоф; Лихошерстов Валерий; Дохан, Дэвид; Сун, Синю; Гейн, Андреа; Сарлос, Тамас; Хокинс, Питер; Дэвис, Джаред; Беланджер, Дэвид; Колвелл, Люси; Веллер, Адриан (30 сентября 2020 г.). «Моделирование языка в масках для белков с помощью линейно масштабируемых преобразователей с длинным контекстом». arXiv : 2006.03555 [cs.LG].
  65. ^ Рэдфорд, Алек; Ким, Чон Ук; Сюй, Тао; Брокман, Грег; МакЛиви, Кристина; Суцкевер, Илья (2022). «Надежное распознавание речи посредством крупномасштабного слабого контроля». arXiv : 2212.04356 [eess.AS].
  66. ^ Джегл, Эндрю; Гимено, Феликс; Брок, Эндрю; Зиссерман, Эндрю; Виньялс, Ориол; Каррейра, Жоау (22 июня 2021 г.). «Воспринимающий: общее восприятие с повторяющимся вниманием». arXiv : 2103.03206 [cs.CV].
  67. ^ Джегл, Эндрю; Боржо, Себастьян; Алайрак, Жан-Батист; Дорш, Карл; Ионеску, Каталин; Дин, Дэвид; Коппула, Сканда; Зоран, Дэниел; Брок, Эндрю; Шелхамер, Эван; Энафф, Оливье (2 августа 2021 г.). «Perceiver IO: общая архитектура структурированных входов и выходов». arXiv : 2107.14795 [cs.LG].
  68. ^ Пиблс, Уильям; Се, Сайнин (2 марта 2023 г.). «Масштабируемые модели диффузии с трансформаторами». arXiv : 2212.09748 [cs.CV].
  69. ^ «Google AI представляет Muse, новую модель преобразователя текста в изображение» . ИнфоQ .
  70. ^ «Использование моделей диффузии для создания превосходных аватаров NeRF». 5 января 2023 г.
  71. Ислам, Архам (14 ноября 2022 г.). «Как работают DALL·E 2, стабильная диффузия и Midjourney?».

дальнейшее чтение

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