заглушки Модели большого языка на основе декодера: полное руководство - Unite.AI
Свяжитесь с нами:

Artificial Intelligence

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

mm
обновленный on
Модели большого языка на основе декодера: полное руководство

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

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

Архитектура-трансформер: курс повышения квалификации

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

Трансформеры Архитектура

Трансформеры Архитектура

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

Внимание к себе: ключ к успеху трансформера

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

Многозапросное внимание

Многозапросное внимание

Операцию самообслуживания можно разбить на три основных этапа:

  1. Прогнозы запроса, ключа и значения: Входная последовательность проецируется на три отдельных представления: Запросы (Q) ключи (К) и ценности (В). Эти прогнозы получаются путем умножения входных данных на изученные весовые матрицы.
  2. Подсчет оценки внимания: Для каждой позиции во входной последовательности оценки внимания вычисляются путем скалярного произведения соответствующего вектора запроса и всех ключевых векторов. Эти оценки отражают релевантность каждой позиции текущей обрабатываемой позиции.
  3. Взвешенная сумма значений: Оценки внимания нормализуются с использованием функции softmax, а полученные веса внимания используются для вычисления взвешенной суммы векторов значений, создавая выходное представление для текущей позиции.

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

Архитектурные варианты и конфигурации

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

Типы архитектуры

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

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

Архитектура кодера-декодера, основанная на базовой модели Transformer, состоит из двух стеков: кодера и декодера. Кодер использует составные слои самообслуживания с несколькими головками для кодирования входной последовательности и генерации скрытых представлений. Затем декодер выполняет перекрестное внимание к этим представлениям, чтобы сгенерировать целевую последовательность. Несмотря на эффективность в различных задачах НЛП, немногие программы LLM, такие как Флан-Т5, примите эту архитектуру.

Архитектура причинного декодера

Архитектура причинного декодера включает в себя однонаправленную маску внимания, позволяющую каждому входному токену обслуживать только предыдущие токены и самого себя. И входные, и выходные токены обрабатываются в одном декодере. Известные модели, такие как GPT-1, GPT-2 и GPT-3 построены на этой архитектуре, причем GPT-3 демонстрирует замечательные возможности контекстного обучения. Многие LLM, включая OPT, BLOOM и Gopher, широко используют причинные декодеры.

Архитектура префиксного декодера

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

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

Трансформатор только для декодера: использование авторегрессионной природы

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

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

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

Архитектурные компоненты LLM на основе декодеров

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

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

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

векторное вложение

векторное вложение

лексемизацию: процесс токенизации преобразует входной текст в последовательность токенов, которые могут быть словами, подсловами или даже отдельными символами, в зависимости от используемой стратегии токенизации. Популярные методы токенизации для LLM включают кодирование пар байтов (BPE), SentencePiece и WordPiece. Эти методы направлены на достижение баланса между размером словарного запаса и степенью детализации представления, позволяя модели эффективно обрабатывать редкие слова или слова, отсутствующие в словаре.

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

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

Многоголовые блоки внимания

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

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

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

Слои прямой связи

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

Функции активации: Выбор функции активации в слоях прямой связи может существенно повлиять на производительность модели. В то время как более ранние LLM полагались на широко используемую активацию ReLU, более поздние модели приняли более сложные функции активации, такие как линейный блок ошибок Гаусса (GELU) или активация SwiGLU, которые показали улучшенную производительность.

Разреженное внимание и эффективные трансформаторы

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

Скудное внимание: Методы разреженного внимания, такие как тот, который используется в модели GPT-3, выборочно обрабатывают подмножество позиций во входной последовательности, а не вычисляют показатели внимания для всех позиций. Это может значительно снизить сложность вычислений при сохранении приемлемой производительности.

Раздвижное окно Внимание: представленный в модели Mistral 7B, скользящее окно внимания (SWA) представляет собой простой, но эффективный метод, который ограничивает объем внимания каждого токена фиксированным размером окна. Этот подход использует способность слоев преобразователя передавать информацию между несколькими уровнями, эффективно увеличивая объем внимания без квадратичной сложности полного внимания к себе.

Роллинг буферного кэша: Чтобы еще больше снизить требования к памяти, особенно для длинных последовательностей, в модели Mistral 7B используется кэш-память с плавающим буфером. Этот метод сохраняет и повторно использует вычисленные векторы ключей и значений для фиксированного размера окна, избегая избыточных вычислений и минимизируя использование памяти.

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

Внимание сгруппированных запросов

Внимание сгруппированных запросов

Размер модели и масштабирование

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

Количество параметров: количество параметров в LLM на основе декодера в первую очередь определяется размером внедрения (d_model), количеством голов внимания (n_heads), количеством слоев (n_layers) и размером словаря (vocab_size). Например, модель GPT-3 имеет 175 миллиардов параметров, причем d_model = 12288, n_heads = 96, n_layers = 96и vocab_size = 50257.

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

Смесь экспертов: Еще одним подходом к масштабированию LLM является архитектура смешанных экспертов (MoE), которая объединяет несколько экспертных моделей, каждая из которых специализируется на определенном подмножестве данных или задач. Модель Mixtral 8x7B является примером модели MoE, в которой используется Мистраль 7Б в качестве базовой модели, обеспечивая превосходную производительность при сохранении эффективности вычислений.

Вывод и генерация текста

Одним из основных вариантов использования LLM на основе декодера является генерация текста, при которой модель генерирует связный и естественно звучащий текст на основе заданной подсказки или контекста.

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

Стратегии выборки: Для создания разнообразного и реалистичного текста можно использовать различные стратегии выборки, такие как выборка top-k, выборка top-p (также известная как выборка ядра) или температурное масштабирование. Эти методы контролируют компромисс между разнообразием и связностью сгенерированного текста, регулируя распределение вероятностей по словарю.

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

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

Достижения и будущие направления

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

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

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

Контролируемая генерация: Обеспечение детального контроля над генерируемым текстом — сложное, но важное направление для LLM. Такие методы, как контролируемое создание текста и быстрая настройка, направлены на то, чтобы предоставить пользователям более детальный контроль над различными атрибутами сгенерированного текста, такими как стиль, тон или конкретные требования к контенту.

Заключение

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

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

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

Последние пять лет я погружался в увлекательный мир машинного обучения и глубокого обучения. Моя страсть и опыт позволили мне принять участие в более чем 50 различных проектах по разработке программного обеспечения, уделяя особое внимание AI/ML. Мое постоянное любопытство также привлекло меня к обработке естественного языка, области, которую я очень хочу исследовать дальше.