Jump to content

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

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

Преимущество трансформаторов состоит в том, что они не имеют повторяющихся единиц и, следовательно, требуют меньше времени на обучение, чем более ранние рекуррентные нейронные архитектуры (RNN), такие как длинная кратковременная память (LSTM). [7] Более поздние варианты получили широкое распространение для обучения больших языковых моделей (LLM) на больших (языковых) наборах данных, таких как Википедии корпус и Common Crawl . [8]

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

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

Хронология

[ редактировать ]
  • В 1990 году сеть Элмана , используя рекуррентную нейронную сеть , закодировала каждое слово в обучающем наборе как вектор, называемый встраиванием слов , и весь словарь как векторную базу данных , что позволило ей выполнять такие задачи, как прогнозирование последовательности, которые не по силам простому многослойному перцептрону . Недостаток статических вложений заключался в том, что они не различали несколько значений омонимов . [14]
  • опубликовал быстрый контроллер веса В 1992 году Юрген Шмидхубер . [4] Одна сеть другой нейронной сети через внешние продукты ключевых векторов и векторов значений, называемых ОТ и ТО. Позже было показано, что он эквивалентен ненормализованному линейному трансформатору. [6] [5] [15] [16] Шмидхубер использовал терминологию «обучение внутренним источникам внимания». [17] в 1993 году, и теперь утверждает, что он был предшественником того, что сейчас известно как механизм внимания, но Джеффри Хинтон оспаривает это утверждение о приоритете. [18]
  • В 1993 году модели выравнивания IBM использовались для статистического машинного перевода . [19]
  • слов был использован большой текстовый корпус объемом в один миллиард слов, взятый из Интернета, который в то время назывался «очень-очень большим» В 2001 году для устранения неоднозначности . [20]
  • В 2012 году AlexNet продемонстрировала эффективность больших нейронных сетей для распознавания изображений, поощряя использование больших искусственных нейронных сетей вместо старых статистических подходов.
  • с 380 млн параметров модель seq2seq для машинного перевода с использованием двух сетей с длинной краткосрочной памятью ( LSTM ). В 2014 году Суцкевер и др. предложили [21] Архитектура состоит из двух частей. Кодер это LSTM, который принимает последовательность токенов и превращает ее в вектор. Декодер это еще один LSTM, который преобразует вектор в последовательность токенов.
  • В 2014 году стробирование оказалось полезным в модели seq2seq со 130 млн параметров , в которой использовались упрощенные вентилируемые рекуррентные единицы (GRU). Богданау и др. [22] показали, что GRU не лучше и не хуже закрытых LSTM. [23] [24]
  • В 2014 году Богданов и др. [25] улучшил предыдущую модель seq2seq, используя «аддитивный» механизм внимания между двумя сетями LSTM. Однако это еще не был тот тип внимания, который можно распараллелить (масштабируемое «скалярное произведение»), позже предложенный в статье о трансформаторе 2017 года.
  • В 2015 году относительная производительность архитектур моделей глобального и локального (оконного) внимания была оценена Луонгом и др.: было обнаружено, что архитектура смешанного внимания улучшает переводы, предлагаемые архитектурой Богданау, в то время как использование архитектуры локального внимания сокращает время перевода. [26]
  • В 2016 году Google Translate постепенно заменил старый подход статистического машинного перевода новым подходом, основанным на нейронных сетях , который включал модель seq2seq в сочетании с LSTM и «аддитивным» механизмом внимания. Они достигли более высокого уровня производительности, чем статистический подход, на разработку которого ушло десять лет, всего за девять месяцев. [27] [28]
  • В 2017 году оригинальная (размером 100 М) модель преобразователя кодер-декодер с более быстрым (распараллеливаемым или разложимым) механизмом внимания была предложена в статье « Внимание — это все, что вам нужно ». Поскольку у модели были трудности со сходимостью, было предложено линейно масштабировать скорость обучения от 0 до максимального значения для первой части обучения (т. е. 2% от общего количества шагов обучения). Цель модели-трансформера состоит в том, чтобы взять модель seq2seq и удалить ее рекуррентные нейронные сети, но сохранить ее механизм аддитивного внимания. [1]
  • В статье ELMo 2018 года двунаправленный LSTM используется для расчета глубоких контекстуализированных вложений для каждого слова, улучшая направление исследований на основе Bag of Words и word2vec .
  • (размером более 1B) использовался преобразователь только для энкодера В 2018 году в модели BERT , что усовершенствовало ELMo. [29]
  • В 2020 году трансформер зрения [30] и преобразователь с расширенной сверткой для обработки речи [31] превзошли рекуррентные нейронные сети , ранее использовавшиеся для зрения и речи.
  • В 2020 году трудности с конвергенцией исходного преобразователя были решены за счет нормализации слоев до (а не после) многоголового внимания Сюн и др. Это называется предварительным трансформатором LN. [32]
  • В 2023 году однонаправленные («авторегрессивные») трансформаторы использовались в GPT-3 (размером более 100B) и других моделях OpenAI GPT . [33] [34]
  • В 2024 году преобразователи были применены для оценки позиций на шахматной доске. Используя только статическую оценку (то есть без минимаксного поиска), удалось достичь Эло 2895, что соответствует уровню гроссмейстера . [11]

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

[ редактировать ]

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

Одним из ключевых компонентов механизма внимания является включение нейронов, которые умножают выходные сигналы других нейронов. Такие нейроны назывались мультипликативными единицами , а нейронные сети, использующие мультипликативные единицы, назывались сигма-пи-сетями или сетями второго порядка , [35] но они столкнулись с высокой вычислительной сложностью. [7] Ключевым прорывом стал LSTM (1995 г.), [примечание 1] который включил мультипликативные единицы в рекуррентную сеть, а также другие инновации, которые предотвратили проблему исчезновения градиента и позволили эффективно освоить моделирование длинных последовательностей. Она стала стандартной архитектурой для моделирования длинных последовательностей до публикации книги «Трансформеры» в 2017 году.

Однако LSTM не решил общую проблему, с которой обычно сталкиваются рекуррентные сети. [примечание 2] have, а именно то, что он не может работать параллельно со всеми токенами в последовательности. Он должен работать по одному от первого токена до последнего. Быстрый контроллер веса (1992 г.) был первой попыткой обойти эту трудность. Он использовал архитектуру быстрых весов, [36] где одна нейронная сеть выводит веса другой нейронной сети. Позже было показано, что он эквивалентен линейному трансформатору без нормализации. [17] [4]

Периодическое внимание

[ редактировать ]

был введен механизм внимания В 2014 году в модели seq2seq (с использованием закрытых рекуррентных единиц, вариант LSTM) для машинного перевода. [2] [3] Он был введен для решения конкретной проблемы, возникшей в seq2seq. В seq2seq входные данные последовательно обрабатываются одной рекуррентной сетью в выходной вектор фиксированного размера, который затем обрабатывается другой рекуррентной сетью в выходные данные. Если входные данные длинные, то выходной вектор не сможет содержать всю необходимую информацию, и качество вывода ухудшается.

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

Раньше в seq2seq не было механизма внимания, и вектор состояния был доступен только после обработки последнего слова исходного текста. Хотя теоретически такой вектор сохраняет информацию обо всем исходном предложении, на практике информация сохраняется плохо. Это связано с тем, что модели seq2seq испытывают трудности с моделированием зависимостей на больших расстояниях. Изменение входного предложения улучшило перевод seq2seq. [37] Благодаря механизму внимания сеть может легче моделировать зависимости на расстоянии. [2]

Внимание

[ редактировать ]

Упомянутые модели Seq2seq по-прежнему страдали от той же проблемы с рекуррентными сетями, которая заключалась в том, что их трудно распараллеливать, что не позволяло их ускорять на графических процессорах. В 2016 году декомпозируемое внимание применило механизм внимания к сети прямой связи , которую легко распараллелить. [38]

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

Обучение

[ редактировать ]

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

[ редактировать ]

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

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

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

[ редактировать ]

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

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

  • восстановление поврежденного текста: Thank you <X> me to your party <Y> week. -> <X> for inviting <Y> last <Z> где <Z> означает «конец вывода».
  • перевод: translate English to German: That is good. -> Das ist gut..
  • оценка грамматической приемлемости предложения ( предложение CoLA ): The course is jumping well. -> not acceptable .

Приложения

[ редактировать ]

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

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

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

Реализации

[ редактировать ]

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

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

Архитектура

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

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

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

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

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

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

[ редактировать ]

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

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

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

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

[ редактировать ]

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

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

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

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

[ редактировать ]

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

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

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

[ редактировать ]

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

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

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

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

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

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

[ редактировать ]

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

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

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

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

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

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

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

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

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

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

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

[ редактировать ]

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

  • «только кодер»: полный кодер, полный декодер.
  • «кодер-декодер»: полный кодер, авторегрессионный декодер.
  • «только декодер»: авторегрессионный кодер, авторегрессионный декодер.

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

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

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

[ редактировать ]

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

[ редактировать ]

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

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

[ редактировать ]

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

RoPE (поворотно-позиционное встраивание), [50] лучше всего объяснить, рассматривая список двумерных векторов . Теперь выберите угол . Тогда кодировка RoPE Эквивалентно, если мы запишем двумерные векторы как комплексные числа , то кодирование RoPE — это просто умножение на угол: Для списка -мерные векторы, кодер RoPE определяется последовательностью углов . Затем к каждой паре координат применяется кодировка RoPE.

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

для любого целого числа .

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

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

Кодирование относительного положения

[ редактировать ]

Кодирование относительного положения [52] похож на ALiBi, но более общий: где является матрицей Теплица , т. е. в любое время .

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

[ редактировать ]

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

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

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

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

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

[ редактировать ]

Многозапросное внимание изменяет механизм многоголового внимания. [57] В то время как обычно,

с вниманием к множественным запросам есть только один , таким образом:

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

Кэширование

[ редактировать ]

Когда для вывода, например для генерации текста, используется авторегрессионный преобразователь, вектор запроса различен на каждом этапе, но уже вычисленные векторы ключа и значения всегда одинаковы. Метод кэширования KV сохраняет вычисленные векторы ключа и значения в каждом блоке внимания, чтобы они не вычислялись повторно при каждом новом токене. PagedAttention применяет подкачку памяти к кэшированию KV. [58] [59] [60]

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

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

[ редактировать ]

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

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

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

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

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

[ редактировать ]

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

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

Дальняя арена (2020) [69] является стандартным эталоном для сравнения поведения архитектур трансформаторов при длинных входных сигналах.

Случайное внимание (2021) [70] использует случайные функции Фурье : где являются независимыми выборками из нормального распределения . Такой выбор параметров удовлетворяет , или Следовательно, однонаправленное внимание с одним запросом можно записать как где . Аналогично для множественных запросов и многонаправленного внимания.

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

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

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

[ редактировать ]

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

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

Конформер [31] и позже Шепот [72] следуйте той же схеме для распознавания речи , сначала превращая речевой сигнал в спектрограмму , которая затем обрабатывается как изображение, т.е. разбивается на серию патчей, превращается в векторы и обрабатывается как токены в стандартном преобразователе.

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

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

См. также

[ редактировать ]
  • Perceiver - алгоритм машинного обучения для нетекстовых данных.
  • BERT (языковая модель) – языковая модель, разработанная Google.
  • GPT-3 — модель языка генерации текста 2020 года.
  • GPT-4 – модель языка генерации текста 2023 г.
  • ChatGPT — чат-бот и виртуальный помощник, разработанный OpenAI.
  • У Дао - китайская мультимодальная программа искусственного интеллекта
  • Трансформатор зрения — алгоритм машинного обучения для обработки изображений
  • BLOOM (языковая модель) – многоязычная языковая модель открытого доступа.

Примечания

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

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

[ редактировать ]
– Обсуждение эффекта слоя преобразователя как эквивалента обновления Хопфилда, приближающего входные данные к одной из фиксированных точек (представимых шаблонов) непрерывной сети Хопфилда.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 515244e527d319d1730e52eb9ed38764__1722430620
URL1:https://arc.ask3.ru/arc/aa/51/64/515244e527d319d1730e52eb9ed38764.html
Заголовок, (Title) документа по адресу, URL1:
Transformer (deep learning architecture) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)