Свяжитесь с нами:

LoRa, QLoRA и QA-LoRA: эффективная адаптируемость в больших языковых моделях посредством матричной факторизации низкого ранга

Искусственный интеллект

LoRa, QLoRA и QA-LoRA: эффективная адаптируемость в больших языковых моделях посредством матричной факторизации низкого ранга

mm
LoRA: низкоранговая адаптация больших языковых моделей

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

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

Параметры в LLM

https://huggingface.co/blog/hf-bitsandbytes-integration

Изображение выше представляет масштаб различных больших языковых моделей, отсортированных по количеству параметров. В частности: Пальма, ЦВЕСТИ, и так далее

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

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

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

Эволюция стратегий настройки LLM

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

Следующей стратегией, получившей распространение, стала тонкая настройка подмножеств (subset fine-tuning), более ограниченная версия предыдущей. Здесь тонкая настройка выполняется только для подмножества параметров модели, что в некоторой степени снижает вычислительную нагрузку. Несмотря на свои достоинства, тонкая настройка подмножеств (subset fine-tuning) всё ещё не успевала за темпами роста размеров LLM.

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

Введение в ЛоРА

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

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

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

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

Применение LoRA к трансформаторам

LoRA помогает минимизировать тренировочную нагрузку в нейронных сетях, сосредоточив внимание на конкретных весовых матрицах. В архитектуре Transformer определенные весовые матрицы связаны с механизмом самообслуживания, а именно Wq, Wk, Wv и Wo, а также еще две в модуле многослойного персептрона (MLP).

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

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

 

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

Трансформаторы Внимание Головы

Математическое объяснение LoRA

Давайте разберем математику, лежащую в основе LoRA:

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

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

ЛОРА Анимация

LORA

Инициализация и масштабирование:

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

  1. Инициализация матриц и :
    • матрица : Эта матрица инициализируется случайными гауссовскими значениями, также известными как нормальное распределение. Смысл использования гауссовой инициализации заключается в нарушении симметрии: разные нейроны в одном слое изучают разные функции, когда они имеют разные начальные веса.
    • матрица : Эта матрица инициализируется нулями. При этом обновление В начале обучения модель начинается с нуля. Это гарантирует отсутствие резких изменений в поведении модели на начальном этапе, позволяя ей постепенно адаптироваться. усваивает соответствующие ценности во время обучения.
  2. Масштабирование вывода из :
    • После вычисления обновления , его выход масштабируется в коэффициент в котором является константой. Масштабирование позволяет контролировать масштаб обновлений.
    • Масштабирование особенно важно, когда ранг изменения. Например, если вы решите увеличить ранг для большей точности (за счёт вычислений), масштабирование гарантирует отсутствие необходимости корректировки множества других гиперпараметров в процессе. Оно обеспечивает определённый уровень стабильности модели.

Практическое влияние LoRA

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

Как подчеркивается в статье на примере GPT-3 175B. Иметь отдельные экземпляры доработанных моделей по 175В параметров каждый достаточно затратно. Но с LoRA обучаемые параметры уменьшаются в 10,000 XNUMX раз, а использование памяти графического процессора сокращается до трети.

Влияние LoRa на настройку GPT-3

Влияние LoRa на тонкую настройку GPT-3

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

QLoRA (квантованный)

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

квантование

квантование

Обычно весовые параметры хранятся в 32-битном формате (FP32), то есть каждый элемент матрицы занимает 32 бита. Представьте, что мы могли бы уместить ту же информацию всего в 8 или даже 4 бита. В этом и заключается основная идея QLoRA. Квантование — это процесс преобразования непрерывных бесконечных значений в меньший набор дискретных конечных значений. В контексте LLM это процесс преобразования весовых коэффициентов модели из типов данных с более высокой точностью в типы с более низкой точностью.

Квантование в LLM

Квантование в LLM

Вот более простая разбивка QLoRA:

  1. Начальное квантование: Во-первых, модель большого языка (LLM) квантуется до 4 бит, что значительно уменьшает объем памяти.
  2. Обучение ЛоРА: Затем выполняется обучение LoRA, но со стандартной 32-битной точностью (FP32).

Теперь вы можете задаться вопросом: зачем возвращаться к 32-битному формату для обучения после сокращения до 4-битного? Что ж, чтобы эффективно обучать адаптеры LoRA в FP32, веса моделей также необходимо вернуть к FP32. Это переключение вперед и назад выполняется разумным, пошаговым образом, чтобы избежать перегрузки памяти графического процессора.

LoRA находит свое практическое применение в «Обнимающем лице». Эффективная точная настройка параметров (PEFT) Библиотека упрощает её использование. Для тех, кто хочет использовать QLoRA, она доступна через комбинацию биты и байты и библиотеки PEFT. Кроме того, HuggingFace Библиотека обучения усилению трансформаторов (TRL) облегчает контролируемую точную настройку благодаря встроенной поддержке LoRA. Вместе эти три библиотеки предоставляют необходимый набор инструментов для тонкой настройки выбранной предварительно обученной модели, позволяя создавать убедительные и связные описания продуктов при появлении подсказок с конкретными инструкциями по атрибутам.

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

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

Заключение

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

Мы также кратко углубились в квантовую LoRA (QLoRA), смесь LoRA и квантования, которая уменьшает объем памяти модели, сохраняя при этом необходимую точность для обучения. Благодаря этим передовым методам специалисты-практики теперь оснащены надежными библиотеками, облегчающими внедрение и развертывание LLM в широком спектре реальных сценариев.

матрица

матрица

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

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