Более новая технология, большие языковые модели ( LLM ), прогнозируют токен или последовательность токенов, иногда предсказанные токены на несколько абзацев. Помните, что токеном может быть слово, подслово (подмножество слова) или даже один символ. LLM делают гораздо лучшие прогнозы, чем модели N-граммного языка или рекуррентные нейронные сети, потому что:
- LLM содержат гораздо больше параметров , чем рекуррентные модели.
- LLM собирают гораздо больше контекста.
В этом разделе представлена наиболее успешная и широко используемая архитектура для создания LLM: Трансформатор.
Что такое трансформер?
Трансформаторы — это современная архитектура для широкого спектра приложений языковых моделей, таких как перевод:
Полные преобразователи состоят из кодера и декодера:
- Кодер преобразует входной текст в промежуточное представление. Кодер — это огромная нейронная сеть .
- Декодер преобразует это промежуточное представление в полезный текст. Декодер — это также огромная нейронная сеть.
Например, в переводчике:
- Кодер преобразует входной текст (например, английское предложение) в некоторое промежуточное представление.
- Декодер преобразует это промежуточное представление в выходной текст (например, эквивалентное французское предложение).
Что такое внимание к себе?
Чтобы улучшить контекст, Трансформеры в значительной степени полагаются на концепцию, называемую самовниманием . Фактически, от имени каждого входного токена самовнимание задает следующий вопрос:
«Насколько каждый входной токен влияет на интерпретацию этого токена?»
«Я» в «самовнимании» относится к входной последовательности. Некоторые механизмы внимания взвешивают отношения входных токенов с токенами в выходной последовательности, например, переводом, или с токенами в какой-либо другой последовательности. Но самовнимание учитывает только важность отношений между токенами во входной последовательности.
Для упрощения предположим, что каждый токен представляет собой слово, а полный контекст — это всего лишь одно предложение. Рассмотрим следующее предложение:
The animal didn't cross the street because it was too tired.
Предыдущее предложение содержит одиннадцать слов. Каждое из одиннадцати слов обращает внимание на остальные десять, задаваясь вопросом, насколько каждое из этих десяти слов имеет значение само по себе. Например, обратите внимание, что в предложении есть местоимение it . Местоимения часто неоднозначны. Местоимение it обычно относится к недавнему существительному или именной группе, но в примере предложения к какому недавнему существительному оно относится — к животному или к улице?
Механизм самообслуживания определяет соответствие каждого соседнего слова местоимению it . На рисунке 3 показаны результаты: чем синяя линия, тем важнее это слово для местоимения it. То есть для местоимения it животное важнее улицы .
И наоборот, предположим, что последнее слово в предложении меняется следующим образом:
The animal didn't cross the street because it was too wide.
Мы надеемся, что в этом пересмотренном предложении самовнимание будет оценивать улицу как более соответствующую местоимению it , чем животное .
Некоторые механизмы самообслуживания являются двунаправленными , то есть они вычисляют оценки релевантности для токенов, предшествующих и следующих за словом, к которому обращают внимание. Например, на рисунке 3 обратите внимание, что исследуются слова с обеих сторон. Таким образом, двунаправленный механизм самообслуживания может собирать контекст из слов по обе стороны от слова, на которое обращают внимание. Напротив, однонаправленный механизм самообслуживания может собирать контекст только из слов, находящихся на одной стороне слова, на которое обращают внимание. Двунаправленное самовнимание особенно полезно для создания представлений целых последовательностей, в то время как приложения, генерирующие последовательности токен за токеном, требуют однонаправленного самовнимания. По этой причине кодеры используют двунаправленное самообслуживание, а декодеры — однонаправленное.
Что такое многоголовое внимание к себе?
Каждый уровень самообслуживания обычно состоит из нескольких головок самообслуживания . Выходные данные слоя — это математическая операция (например, средневзвешенное или скалярное произведение) выходных данных различных головок.
Поскольку каждый уровень самообслуживания инициализируется случайными значениями, разные головы могут изучать разные отношения между каждым словом, на которое обращают внимание, и соседними словами. Например, уровень самообслуживания, описанный в предыдущем разделе, был сосредоточен на определении того, к какому существительному местоимению он относится. Однако другие уровни самообслуживания могут изучить грамматическую релевантность каждого слова каждому другому слову или изучить другие взаимодействия.
Почему Трансформеры такие большие?
Трансформаторы содержат сотни миллиардов или даже триллионов параметров . В этом курсе обычно рекомендуется строить модели с меньшим количеством параметров, а не модели с большим количеством параметров. В конце концов, модель с меньшим количеством параметров использует меньше ресурсов для прогнозирования, чем модель с большим количеством параметров. Однако исследования показывают, что трансформаторы с большим количеством параметров стабильно превосходят трансформаторы с меньшим количеством параметров.
Но как 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 могут проявлять всевозможные предвзятости.