Введение в модели-трансформеры: что это такое и как они работают

Опубликовано: 2024-08-07

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

Оглавление

  • Что такое модель трансформера?
  • Трансформаторы против CNN и RNN
  • Как работают модели-трансформеры
  • Примеры моделей трансформеров
  • Преимущества
  • Недостатки

Что такое модель трансформера?

Трансформатор — это тип модели глубокого обучения, широко используемый в НЛП. Благодаря своей производительности и масштабируемости он является основой таких моделей, как серия GPT (созданная OpenAI), Claude (созданная Anthropic) и Gemini (созданная Google), и широко используется во всей отрасли.

Модели глубокого обучения состоят из трех основных компонентов: архитектуры модели, обучающих данных и методов обучения. В рамках этой структуры преобразователь представляет собой один из видов архитектуры модели. Он определяет структуру нейронных сетей и их взаимодействие. Ключевым нововведением, которое отличает трансформеры от других моделей машинного обучения (ML), является использование «внимания».

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

Вот пример для иллюстрации. «Кошка сидела на берегу реки. Затем он переместился на ветку ближайшего дерева». Вы можете понять, что «банк» здесь — это не тот банк, в который вы кладете деньги. Вы, вероятно, воспользуетесь контекстной подсказкой слова «река», чтобы понять это. Внимание работает аналогичным образом; он использует другие слова, чтобы определить, что означает каждое слово. Что означает «это» в примере? Модель будет рассматривать слова «переехал» и «дерево» как подсказки, чтобы понять, что ответ — «кошка».

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

Работайте умнее с Grammarly
Партнер по написанию ИИ для всех, у кого есть работа

Трансформаторы против CNN и RNN

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

Трансформаторы против RNN

Рекуррентные нейронные сети представляют собой последовательные модели. Удачная аналогия – человек, читающий книгу. По мере чтения слово за словом их память и понимание книги развиваются. Проницательные читатели могут даже предсказать, что произойдет дальше, основываясь на том, что произошло раньше. RNN функционирует таким же образом. Он читает слово за словом, обновляет свою память (так называемое скрытое состояние), а затем может сделать прогноз (например, следующее слово в предложении или тональность некоторого текста). Обратной стороной является то, что скрытое состояние не может содержать очень много информации. Если вы загрузите в RNN всю книгу, она не запомнит многие детали вводных глав, потому что в скрытом состоянии не так много места. Более поздние главы, поскольку они были добавлены в скрытое состояние совсем недавно, имеют приоритет.

Трансформеры не страдают от такой проблемы с памятью. Они сравнивают каждое слово с каждым другим словом во входных данных (как часть механизма внимания), поэтому им не нужно использовать скрытое состояние или «помнить» то, что произошло ранее. Используя ту же книжную аналогию, трансформер подобен человеку, читающему следующее слово в книге, а затем просматривающему каждое предыдущее слово в книге, чтобы правильно понять новое слово. Если первое предложение книги содержит фразу «Он родился во Франции», а последнее предложение книги содержит фразу «его родной язык», преобразователь сможет сделать вывод, что его родной язык — французский. RNN может быть не в состоянии сделать это, поскольку скрытое состояние не гарантирует сохранение этой информации. Кроме того, RNN необходимо читать каждое слово по одному, а затем обновлять его скрытое состояние. Трансформатор может применять свое внимание параллельно.

Трансформеры против CNN

Сверточные нейронные сети используют окружающий контекст каждого элемента последовательности для присвоения значения. Для слова на странице CNN будут смотреть на слова, непосредственно окружающие его, чтобы выяснить значение слова. Он не сможет соединить последнюю и первую страницу книги. CNN преимущественно используются с изображениями, поскольку пиксели часто связаны со своими соседями гораздо больше, чем слова. Тем не менее, CNN также можно использовать для НЛП.

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

Как работают модели-трансформеры?

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

  1. Токенизация:превращает текст в токены (аналогично разбиению предложения на отдельные слова).
  2. Встраивание:преобразует токены в векторы, включая позиционные встраивания, чтобы модель понимала расположение токена во входных данных.
  3. Механизм внимания:обрабатывает токены, используя самовнимание (для входных токенов) или перекрестное внимание (между входными токенами и сгенерированными токенами). Этот механизм позволяет модели взвешивать важность различных токенов при генерации выходных данных.
  4. Нейронная сеть прямого распространения:передает результат через нейронную сеть прямого распространения, которая позволяет модели улавливать сложные закономерности путем введения нелинейности.
  5. Повторение.Шаги 3–4 повторяются несколько раз на нескольких уровнях для уточнения результата.
  6. Распределение выходных данных:создает распределение вероятностей по всем возможным токенам.
  7. Выбор токена:выбирает токен с наибольшей вероятностью.

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

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

Примеры моделей трансформеров

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

Большие языковые модели

Архитектура-трансформер поддерживает почти все большие языковые модели (LLM): GPT, Claude, Gemini, Llama и многие более мелкие модели с открытым исходным кодом. LLM могут выполнять различные текстовые (и, все чаще, графические и аудио) задачи, такие как ответы на вопросы, классификация и создание произвольной формы.

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

Трансформаторы зрения

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

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

Аудио преобразователи

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

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

Преимущества моделей-трансформеров

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

Длинный контекст

Механизм внимания может сравнивать все токены во входной последовательности друг с другом. Таким образом, информация на протяжении всего ввода будет запоминаться и использоваться для генерации вывода. Напротив, RNN забывают более старую информацию, а CNN могут использовать только информацию, близкую к каждому токену. Вот почему вы можете загрузить сотни страниц в чат-бот LLM, задать ему вопрос о любой из страниц и получить точный ответ. Отсутствие длинного контекста в RNN и CNN —основнаяпричина, по которой трансформеры превосходят их в выполнении задач.

Возможность распараллеливания

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

Масштабируемость

Исследователи постоянно увеличивают размеры преобразователей и объем данных, используемых для их обучения. Они еще не увидели предела тому, чему могут научиться трансформеры. Чем больше модель трансформатора, тем более сложным и детальным является текст, который она может понять и сгенерировать (GPT-3 имеет 175 миллиардов параметров, а GPT-4 — более 1 триллиона). Примечательно, что масштабирование моделей трансформаторов, например создание модели с 10 миллиардами параметров по сравнению с моделью с 1 миллиардом параметров, не требует значительно больше времени. Такая масштабируемость делает трансформаторы мощным инструментом для различных сложных приложений.

Недостатки моделей-трансформеров

Недостатком моделей-трансформеров является то, что они требуют много вычислительных ресурсов. Механизм внимания квадратичный: каждый токен на входе сравнивается с каждым другим токеном. Два токена будут иметь 4 сравнения, три токена — 9, четыре токена — 16 и т. д. По сути, вычислительные затраты — это квадрат количества токенов. Эта квадратичная стоимость имеет несколько последствий:

Специализированное оборудование

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

Ограниченная длина ввода

Трансформеры имеют ограниченный объем текста, который они могут обработать (известный как длина контекста). Изначально GPT-3 мог обрабатывать только 2048 токенов. Достижения в реализации внимания привели к появлению моделей с длиной контекста до 1 миллиона токенов. Несмотря на это, необходимы существенные исследования, чтобы найти каждый дополнительный токен длины контекста. Напротив, RNN не имеют максимальной длины контекста. Их точность сильно падает по мере увеличения входных данных, но вы можете прямо сейчас передать входные данные длиной в 2 миллиона токенов в один.

Стоимость энергии

Центры обработки данных, питающие трансформаторные вычисления, требуют энергии для их работы и воды для их охлаждения. По одной из оценок, для обучения GPT-3 потребовалось 1300 мегаватт-часов электроэнергии: это эквивалентно электроснабжению 130 домов в США в течение целого года. По мере того, как модели становятся больше, количество необходимой энергии увеличивается. К 2027 году индустрия искусственного интеллекта может ежегодно требовать столько же электроэнергии, сколько Нидерланды. Значительные усилия прилагаются для снижения потребности в трансформаторах энергии, но эта проблема до сих пор не решена.