Что такое преобразователи в искусственном интеллекте?

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

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

Подробнее о нейронных сетях

Подробнее об искусственном интеллекте (ИИ)

Почему трансформируемые модели важны?

В ранних моделях глубокого обучения основное внимание уделялось задачам обработки естественного языка (NLP), направленным на то, чтобы компьютеры понимали естественный человеческий язык и реагировали на него. Они угадывали следующее слово в последовательности, основанной на предыдущем слове.

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

В моделях раннего машинного обучения (ML) аналогичная технология применялась в более широком масштабе. Они сопоставляли частоту взаимоотношений между различными парами или группами слов в своем наборе обучающих данных и пытались угадать следующее слово. Однако ранние технологии не могли сохранить контекст, превышающий определенную длину ввода. Например, ранняя модель машинного обучения не могла создать содержательный абзац, потому что она не могла сохранить контекст между первым и последним предложениями абзаца. Например: «Я из Италии. Мне нравится кататься на лошадях. Я говорю по-итальянски». Чтобы составить такое предложение, модель должна помнить о связи между Италией и итальянским языком, чего ранние нейронные сети просто не могли сделать.

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

Возможность создания крупномасштабных моделей

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

Подробнее о больших языковых моделях

Подробнее о GPT

Возможность быстрой настройки

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

Упрощение мультимодальной системы искусственного интеллекта

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

Подробнее о машинном зрении

Исследования в области искусственного интеллекта и отраслевые инновации

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

Каковы варианты использования трансформеров?

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

Обработка естественного языка

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

Машинный перевод

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

Подробнее о машинном переводе

Анализ последовательности ДНК

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

Анализ структуры белка

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

Как работают трансформеры?

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

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

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

Механизм самовнимания

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

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

Каковы компоненты архитектуры трансформеров?

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


Встраивание входных данных

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

Векторы можно визуализировать в виде серии координат в n-мерном пространстве. В качестве простого примера представьте себе двухмерный график, где x представляет собой буквенно-цифровое значение первой буквы слова, а y – его категории. Слово banana имеет значение (2,2), потому что оно начинается с буквы b и относится к категории фруктов. Слово mango имеет значение (13,2), потому что оно начинается с буквы m и также относится к категории фруктов. Таким образом, вектор (x, y) сообщает нейронной сети, что слова banana и mango относятся к одной категории. 

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

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

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

Трансформерный блок

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

Например, рассмотрим предложения Speak no lies и He lies down. В обоих предложениях значение слова lies невозможно понять, не взглянув на слова рядом с ним. Слова speak и down необходимы для понимания правильного значения. Самовнимание позволяет группировать релевантные токены по контексту.

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

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

Линейные блоки и блоки softmax

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

Функция softmax – это заключительный этап, на котором результаты логита переводятся в распределение вероятностей. Каждый элемент выходных данных softmax отражает уверенность модели в определенном классе или токене.

Чем трансформеры отличаются от других архитектур нейронных сетей?

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

Трансформеры и RNN

Трансформеры и RNN – это архитектуры, используемые для обработки последовательных данных.

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

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

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

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

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

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

Какие существуют модели трансформеров?

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

Двунаправленные трансформеры

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

Предварительно обученные генеративные трансформеры (GPT)

В моделях GPT используются многоуровневые трансформеры-декодеры, предварительно обучаемые на больших объемах текста с применением языкового моделирования. Они авторегрессивны, то есть способны предсказывать следующее значение в последовательности на основе предыдущих. Используя более 175 миллиардов параметров, модели GPT могут генерировать текстовые последовательности, адаптированные стилистически и тонально. Модели GPT дали импульс исследованиям в области искусственного интеллекта, направленным на его превращение в ИИ общего назначения. Это означает, что организации могут повысить производительность, переосмыслив свои приложения и опыт работы с клиентами.

Двунаправленные и авторегрессивные трансформеры

Двунаправленный и авторегрессивный трансформер (BART) сочетает в себе свойства кодировщика BERT и декодера GPT. Как и BERT, он считывает слева направо и справа налево всю входную последовательность одновременно, однако генерирует выходную по одному токену за раз в зависимости от слов, выданных ранее, и информации, предоставленной кодировщиком.

Трансформеры для мультимодальных задач

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

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

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

Как AWS может удовлетворить ваши требования к моделям преобразования?

Amazon Web Services (AWS) предлагает следующие сервисы искусственного интеллекта и машинного обучения, которые можно использовать в работе с моделями преобразования.

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

Amazon Bedrock – это полностью управляемый сервис, на котором всего за один вызов API можно получить доступ к широкому спектру высокопроизводительных моделей преобразования от ведущих компаний, занимающихся искусственным интеллектом, таких как AI21 Labs, Anthropic, Cohere, Meta, Stability AI и Amazon. Благодаря широкому набору возможностей для создания приложений искусственного интеллекта, Amazon Bedrock упрощает разработку, сохраняя при этом конфиденциальность и безопасность. Ниже приведены несколько примеров.

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

Вы также можете быстрее обучать модели преобразования с помощью AWS Trainium – ускорителя машинного обучения второго поколения, разработанного AWS специально для глубокого обучения моделей с более чем 100 миллиардами параметров. В каждом инстансе Trn1 Эластичного облака вычислений Amazon (Amazon EC2) можно развернуть до 16 ускорителей Trainium, тем самым обеспечив высокопроизводительное и недорогое решение для глубокого обучения в облаке. 

Начните работу с моделями преобразования на AWS, создав аккаунт уже сегодня.

AWS: дальнейшие шаги

Зарегистрируйте бесплатный аккаунт

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

Регистрация 
Начать разработку в консоли

Начните разработку в Консоли управления AWS.

Вход