Магистр права: Что такое большая языковая модель?

Более новая технология, большие языковые модели ( LLM ), прогнозируют токен или последовательность токенов, иногда предсказанные токены на несколько абзацев. Помните, что токеном может быть слово, подслово (подмножество слова) или даже отдельный символ. LLM делают гораздо лучшие прогнозы, чем модели N-граммного языка или рекуррентные нейронные сети, потому что:

  • LLM содержат гораздо больше параметров, чем рекуррентные модели.
  • LLM собирают гораздо больше контекста.

В этом разделе представлена ​​наиболее успешная и широко используемая архитектура для создания LLM: Трансформатор.

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

Трансформаторы — это современная архитектура для широкого спектра приложений языковых моделей, таких как перевод:

Рисунок 1. Входные данные: Я хорошая собака. На основе трансформатора             переводчик преобразует эти входные данные в выходные: Je suis un bon             chien — это то же предложение, переведенное на французский язык.
Рисунок 1. Приложение на основе Transformer, которое переводит с английского на французский.

Полные преобразователи состоят из кодера и декодера:

  • Кодер преобразует входной текст в промежуточное представление. Кодер — это огромная нейронная сеть .
  • Декодер преобразует это промежуточное представление в полезный текст. Декодер — это также огромная нейронная сеть.

Например, в переводчике:

  • Кодер преобразует входной текст (например, английское предложение) в некоторое промежуточное представление.
  • Декодер преобразует это промежуточное представление в выходной текст (например, эквивалентное французское предложение).
Рисунок 2. Транслятор на основе Transformer начинается с кодировщика.             который генерирует промежуточное представление английского языка             предложение. Декодер преобразует это промежуточное представление в             выходное предложение на французском языке.
Рисунок 2. Полный преобразователь содержит как кодер, так и декодер.

В этом модуле основное внимание уделяется полноценным преобразователям, которые содержат как кодер, так и декодер; однако также существуют архитектуры только для кодировщика и только для декодера:

  • Архитектуры, использующие только кодировщики, отображают входной текст в промежуточное представление (часто уровень внедрения ). Варианты использования архитектур только для кодировщиков включают:
    • Прогнозирование любого токена во входной последовательности (что является обычной ролью языковых моделей).
    • Создание сложного внедрения, которое могло бы служить входными данными для другой системы, например классификатора.
  • Архитектуры, использующие только декодер, генерируют новые токены из уже сгенерированного текста. Модели, использующие только декодер, обычно превосходно генерируют последовательности; современные модели, предназначенные только для декодеров, могут использовать свою мощность генерации для создания продолжений историй диалогов и других подсказок.

Что такое внимание к себе?

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

«Насколько каждый входной токен влияет на интерпретацию этого токена?»

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

Для упрощения предположим, что каждый токен представляет собой слово, а полный контекст — это всего лишь одно предложение. Рассмотрим следующее предложение:

The animal didn't cross the street because it was too tired.

Предыдущее предложение содержит одиннадцать слов. Каждое из одиннадцати слов обращает внимание на остальные десять, задаваясь вопросом, насколько каждое из этих десяти слов имеет значение само по себе. Например, обратите внимание, что в предложении есть местоимение it . Местоимения часто неоднозначны. Местоимение it обычно относится к недавнему существительному или именной фразе, но в примере предложения к какому недавнему существительному оно относится — к животному или к улице?

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

Рисунок 3. Релевантность каждого из одиннадцати слов в предложении:             «Животное не перешло улицу, потому что слишком устало»             к местоимению «оно». Слово «животное» наиболее актуально для             местоимение «оно».
Рисунок 3. Внимание к себе для местоимения it . Из книги «Трансформер: новая архитектура нейронной сети для понимания языка» .

И наоборот, предположим, что последнее слово в предложении меняется следующим образом:

The animal didn't cross the street because it was too wide.

Мы надеемся, что в этом пересмотренном предложении самовнимание будет оценивать улицу как более соответствующую местоимению it, чем животное .

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

Что такое многоголовое внимание к себе?

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

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

Внимание к себе заставляет каждое слово в контексте изучать значимость всех остальных слов в контексте. Итак, возникает соблазн объявить эту проблему O(N 2 ), где:

  • N — количество токенов в контексте.

Как будто предыдущее «Большое О» не было достаточно тревожным, «Трансформеры» содержат несколько слоев самообслуживания и несколько головок самообслуживания на каждом слое, поэтому «Большое О» на самом деле:

O(N2 · S · D)

где:

  • S — количество слоев самообслуживания.
  • D – количество головок на слой.

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

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

The residents of the sleepy town weren't prepared for what came next.

Случайные жетоны удаляются, например:

The ___ of the sleepy town weren't prepared for ___ came next.

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

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

Oranges are traditionally ___ by hand. Once clipped from a tree, __ don't ripen.

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

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

Почему Трансформеры такие большие?

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

Но как LLM генерирует текст?

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

Фактически, LLM — это, по сути, механизмы автозаполнения, которые могут автоматически прогнозировать (завершать) тысячи токенов. Например, рассмотрим предложение, за которым следует замаскированное предложение:

My dog, Max, knows how to perform many traditional dog tricks.
___ (masked sentence)

LLM может генерировать вероятности для замаскированного предложения, в том числе:

Вероятность Слово(а)
3,1% Например, он может сидеть, стоять и переворачиваться.
2,9% Например, он умеет сидеть, стоять и переворачиваться.

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

User's question: What is the easiest trick to teach a dog?
LLM's response:  ___

LLM генерирует вероятности для различных возможных ответов.

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

Преимущества LLM

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

Проблемы с LLM

Обучение LLM влечет за собой множество проблем, в том числе:

  • Собираем огромный тренировочный набор.
  • Потребление нескольких месяцев и огромных вычислительных ресурсов и электроэнергии.
  • Решение проблем параллелизма.

Использование LLM для вывода прогнозов вызывает следующие проблемы:

  • У LLM галлюцинации , а это означает, что их прогнозы часто содержат ошибки.
  • LLM потребляют огромное количество вычислительных ресурсов и электроэнергии. Обучение LLM на более крупных наборах данных обычно уменьшает объем ресурсов, необходимых для вывода, хотя более крупные наборы обучения требуют больше ресурсов для обучения.
  • Как и все модели ML, LLM могут проявлять всевозможные предвзятости.

Упражнение: Проверьте свое понимание.

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