реклама
Бургер менюБургер меню

Денис Соломатин – Искусственный интеллект от А до Б (страница 33)

18

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

Размер модели трансформатора определяется размерами его строительных блоков. Вот некоторые из ключевых ценностей: размерность модели определяет размеры матриц проекции ключа, запроса, значения и вывода в блоке трансформатора; количество трансформаторных блоков; размер слоя прямой связи; объем словарного запаса.

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

Несмотря на то, что модель трансформера доминирует в ландшафте, это не единственная архитектура. С тех пор, как в 2012 году AlexNet возродил интерес к глубокому обучению, многие архитектурные архитектуры то входили, то выходили из моды. Seq2seq был в центре внимания в течение четырех лет (2014–2018). GAN (генеративно-состязательные сети) захватили коллективное воображение немного дольше (2014–2019). По сравнению с архитектурами, которые были до него, трансформатор липкий. Он существует с 2017 года. Сколько времени пройдет, прежде чем появится что-то лучшее? Разработать новую архитектуру, способную превзойти трансформаторы, непросто. С 2017 года трансформатор подвергается серьезной оптимизации. Новая архитектура, которая призвана заменить трансформатор, должна будет работать в том масштабе, который важен для людей, на оборудовании, которое их интересует.

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

Одной из популярных моделей является RWKV, модель на основе RNN, которую можно распараллелить для обучения. Из-за своей природы RNN, теоретически, она не имеет такого же ограничения по длине контекста, как модели на основе трансформаторов. Однако на практике отсутствие ограничений по длине контекста не гарантирует хорошей производительности при длительном контексте. Моделирование длинных последовательностей остается основной проблемой при разработке LLM. Архитектура, которая показала большие перспективы в области памяти дальнего действия, – это SSM (модели пространства состояний). С момента появления архитектуры в 2021 году было внедрено несколько методов, которые делают архитектуру более эффективной, лучше справляется с обработкой длинных последовательностей и масштабируется для моделей больших размеров. Вот некоторые из этих методов, чтобы проиллюстрировать эволюцию новой архитектуры: S4 был разработан для повышения эффективности SSM; H3 включает в себя механизм, который позволяет модели вспоминать ранние лексемы и сравнивать лексемы в разных последовательностях, назначение этого механизма схоже с назначением механизма внимания в архитектуре трансформатора, но он более эффективен; Mamba масштабирует SSM до трех миллиардов параметров. По моделированию языка Mamba-3B превосходит трансформаторы того же размера и соответствует трансформаторам в два раза больше по размеру. Авторы также показывают, что вычисления вывода Mamba масштабируются линейно с длиной последовательности (по сравнению с квадратичным масштабированием для трансформаторов), его производительность демонстрирует улучшение на реальных данных с последовательностями длиной до миллиона; Jamba чередует блоки слоев transformer и Mamba для дальнейшего масштабирования SSM. Авторы выпустили смешанную модель с 52 млрд общих доступных параметров (12 млрд активных параметров), предназначенную для размещения в одном графическом процессоре емкостью 80 ГБ. Jamba демонстрирует высокую производительность в тестах стандартной языковой модели и оценке длинного контекста при длине контекста до 256 тыс. токенов. Он также занимает мало памяти по сравнению с ванильными трансформаторами.

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

Большая часть прогресса в области искусственного интеллекта в последние годы может быть связана с увеличением размера модели. Сложно говорить о моделях фундаментов, не сказав о количестве их параметров. Количество параметров обычно добавляется в конце названия модели. Например, Llama-13B относится к версии Llama, модельного семейства, разработанного компанией Meta, с 13 миллиардами параметров.

В целом, увеличение параметров модели увеличивает ее способность к обучению, что приводит к улучшению моделей. При наличии двух моделей одного и того же семейства моделей, модель с 13 миллиардами параметров, скорее всего, будет работать намного лучше, чем модель с 7 миллиардами параметров. По мере того, как сообщество лучше понимает, как обучать большие модели, модели нового поколения, как правило, превосходят модели старого поколения того же размера. Например, Llama 3-8B (2024) превосходит даже Llama 2-70B (2023) в бенчмарке MMLU.

Количество параметров помогает нам оценить вычислительные ресурсы, необходимые для обучения и запуска этой модели. Например, если модель имеет 7 миллиардов параметров, и каждый параметр хранится с использованием 2 байт (16 бит), то мы можем вычислить, что память графического процессора, необходимая для вывода с использованием этой модели, будет составлять не менее 14 миллиардов байт (14 ГБ). Количество параметров может ввести в заблуждение, если модель разрежена. Разреженная модель имеет большой процент нулевых параметров. Модель с 7B-параметрами, которая на 90% разрежена, имеет только 700 миллионов ненулевых параметров. Разреженность позволяет более эффективно хранить данные и выполнять вычисления. Это означает, что для большой разреженной модели может потребоваться меньше вычислительных ресурсов, чем для небольшой модели с высокой плотностью.

Одним из типов разреженных моделей, который приобрел популярность в последние годы, является смесь экспертов (MoE). Модель МО делится на различные группы параметров, и каждая из них является экспертной. Только подмножество экспертов активно (используется для) обработки каждого токена.

Например, Mixtral 8x7B – это смесь из восьми экспертов, каждый из которых обладает семью миллиардами параметров. Если нет двух экспертов с общим параметром, то он должен иметь 8 × 7 миллиардов = 56 миллиардов. Однако из-за того, что некоторые параметры являются общими, у него всего 46,7 миллиарда.

На каждом слое, для каждого токена, активны только два эксперта. Это означает, что для каждого токена активны только 12,9 млрд параметров. Хотя эта модель имеет 46,7 миллиарда параметров, ее стоимость и скорость такие же, как у модели с 12,9 миллиардами параметров.

Большая модель также может уступать по производительности меньшей модели, если она не обучена на достаточном количестве данных. Представьте себе модель 13B-параметров, обученную на наборе данных, состоящем из одного предложения: «Мне нравятся ананасы». Эта модель будет работать намного хуже, чем модель гораздо меньшего размера, обученная на большем количестве данных.

При обсуждении размера модели важно учитывать размер данных, на которых она была обучена. Для большинства моделей размеры наборов данных измеряются количеством обучающих выборок. Например, Flamingo от Google был обучен с использованием четырех наборов данных, один из которых имеет 1,8 миллиарда пар (изображение, текст), а другой – 312 миллионов пар (изображение, текст).

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

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

LLM обучаются с использованием наборов данных в размере триллионов токенов. Meta использовала все более крупные наборы данных для обучения своих моделей лам: 1,4 триллиона токенов для Llama 1; 2 триллиона токенов для Llama 2; 15 триллионов токенов для Llama 3.