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

MoRA: Высокоранговое обновление для PEFT

mm

Благодаря своей прочной производительности и широкой применимости по сравнению с другими методами, LoRA или низкоранговая адаптация является одним из наиболее популярных методов PEFT или эффективного дообучения параметров для дообучения большой языковой модели. Фреймворк LoRA использует две низкоранговые матрицы для декомпозиции и приближения обновленных весов в FFT или полном дообучении, и фреймворк LoRA модифицирует эти обучаемые параметры соответствующим образом, регулируя ранг матриц. Основным преимуществом реализации этого процесса является то, что оно позволяет фреймворку LoRA объединить эти матрицы без задержки вывода после дообучения. Кроме того, хотя недавние большие языковые модели демонстрируют замечательную производительность на задачах контекстного обучения, определенные сценарии все еще требуют дообучения и могут быть категоризированы в три типа. Первый тип – настройка инструкций, целью которой является лучшее соответствие ЛЯМ задачам и предпочтениям пользователей без улучшения знаний и возможностей ЛЯМ, подход, который упрощает процесс работы с различными задачами и сложными инструкциями. Второй тип включает сложные задачи рассуждения, такие как решение математических задач. Наконец, третий тип – непрерывное предварительное обучение, подход, который пытается улучшить общие возможности ЛЯМ в конкретных областях.

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

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

MoRA: Высокоранговое обновление для PEFT

По мере того, как размер и возможности языковых моделей увеличиваются, PEFT или эффективное дообучение параметров становится одним из наиболее популярных и эффективных методов адаптации ЛЯМ к конкретным задачам. По сравнению с FFT или полным дообучением, которое обновляет все параметры, PEFT модифицирует только часть общего количества параметров, и на некоторых задачах может достичь аналогичной производительности, как и FFT, обновляя менее 1% общего количества параметров, что значительно снижает требования к памяти для оптимизатора, а также облегчает хранение и развертывание моделей. Кроме того, среди всех существующих методов PEFT LoRA является наиболее популярным сегодня, особенно для ЛЯМ. Одной из основных причин, почему методы LoRA демонстрируют лучшую производительность по сравнению с методами PEFT, такими как адаптеры или настройка подсказок, является то, что LoRA использует низкоранговые матрицы для обновления параметров, и фреймворк имеет возможность объединить эти матрицы с исходными параметрами модели, не увеличивая вычислительные требования во время вывода. Хотя существует множество методов, которые пытаются улучшить LoRA для больших языковых моделей, большинство этих моделей полагаются на GLUE для проверки их эффективности, либо требуя少 количества обучаемых параметров, либо достигая лучшей производительности.

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

На изображении выше (а) представляет LoRA, а (б) представляет MoRA. W – это замороженный вес от модели, M – обучаемая матрица в MoRA, A и B – обучаемые низкоранговые матрицы в LoRA, а r представляет ранг в LoRA и MoRA. Как можно наблюдать, фреймворк MoRA демонстрирует большую емкость, чем модели, основанные на LoRA, с большим рангом. Кроме того, фреймворк MoRA разработал соответствующие не-параметризированные операторы для уменьшения размера входных данных и увеличения размера выходных данных для обучаемой матрицы M. Кроме того, фреймворк MoRA предоставляет гибкость использования низкоранговой матрицы обновления для замены обучаемой матрицы M и операторов, гарантируя, что метод MoRA может быть объединен обратно в большую языковую модель, как LoRA. Следующая таблица сравнивает производительность FFT, LoRA, вариантов LoRA и нашего метода на задачах настройки инструкций, математического рассуждения и непрерывного предварительного обучения.

MoRA: Методология и архитектура

Влияние низкорангового обновления

Ключевым принципом моделей, основанных на LoRA, является оценка полно-ранговых обновлений в FFT с помощью низкоранговых обновлений. Традиционно для данной предварительно обученной матрицы параметров LoRA использует две низкоранговые матрицы для расчета обновления веса. Чтобы гарантировать, что обновления веса равны 0, когда начинается обучение, фреймворк LoRA инициализирует одну из низкоранговых матриц с помощью гауссовского распределения, а другую – с 0. Общее обновление веса в LoRA демонстрирует низкий ранг по сравнению с дообучением в FFT, хотя низкоранговое обновление в LoRA демонстрирует производительность, сравнимую с полно-ранговым обновлением на определенных задачах, включая настройку инструкций и классификацию текста. Однако производительность фреймворка LoRA начинает ухудшаться на задачах, таких как непрерывное предварительное обучение и сложное рассуждение. На основе этих наблюдений MoRA предлагает, что легче использовать возможности и исходные знания ЛЯМ для решения задач с помощью низкоранговых обновлений, но модель испытывает трудности с задачами, требующими улучшения возможностей и знаний большой языковой модели.

Методология

Хотя ЛЯМ с контекстным обучением являются значительным улучшением по сравнению с предыдущими подходами, все еще существуют контексты, которые полагаются на дообучение, и они могут быть разделены на три категории. Существуют ЛЯМ для настройки инструкций, которые выравнивают ЛЯМ с задачами и предпочтениями пользователей без значительного увеличения знаний и возможностей ЛЯМ, что упрощает работу с различными задачами и сложными инструкциями. Другой тип включает сложные задачи рассуждения, такие как решение математических задач, для которых настройка инструкций не может справиться с сложным символическим многоступенчатым рассуждением. Большинство связанных исследований направлено на улучшение рассуждений ЛЯМ, и для этого требуется либо проектирование соответствующих обучающих наборов данных на основе более крупных моделей-учителей, таких как GPT-4, либо перефразирование вопросов, связанных с рассуждением, вдоль пути рассуждения. Третий тип – непрерывное предварительное обучение, которое предназначено для улучшения доменно-специфических возможностей ЛЯМ. В отличие от настройки инструкций, дообучение требуется для обогащения связанных доменно-специфических знаний и навыков.

Однако большинство вариантов LoRA почти исключительно используют настройку инструкций или задачи классификации текста для оценки их эффективности в контексте ЛЯМ. Поскольку дообучение для настройки инструкций требует минимальных ресурсов по сравнению с другими типами, оно может не представлять собой правильное сравнение между вариантами LoRA. Добавление задач рассуждения для оценки их методов является распространенной практикой в более недавних работах. Однако мы обычно используем небольшие обучающие наборы (даже при 1M примеров, что довольно много). ЛЯМ испытывают трудности с обучением правильным рассуждениям из примеров такого размера. Например, некоторые подходы используют GSM8K с только 7,5K обучающими эпизодами. Однако эти цифры не достигают уровня лучшего метода, который был обучен на 395K образцах, и они затрудняют оценку способности этих методов к обучению рассуждениям НЛП.

Основываясь на наблюдениях о влиянии низкорангового обновления, фреймворк MoRA предлагает новый метод для смягчения негативных эффектов низкорангового обновления. Основным принципом фреймворка MoRA является использование одних и тех же обучаемых параметров для достижения максимально возможного ранга в низкоранговой матрице обновления. После учета предварительно обученных весов фреймворк LoRA использует две низкоранговые матрицы A и B с общим количеством обучаемых параметров для ранга r. Однако для одного и того же количества обучаемых параметров квадратная матрица может достичь наивысшего ранга, и фреймворк MoRA достигает этого, уменьшая размер входных данных и увеличивая размер выходных данных для обучаемой квадратной матрицы. Кроме того, эти две функции должны быть не-параметризированными операторами и должны выполняться за линейное время, соответствующее размеру.

MoRA: Эксперименты и результаты

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

Запоминание пар UUID

Для демонстрации улучшений в производительности фреймворк MoRA сравнивается с фреймворками FFT и LoRA на задаче запоминания пар UUID. Обучающая потеря из эксперимента отражена на следующем изображении.

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

Как можно наблюдать, по сравнению с LoRA, фреймворк MoRA требует меньше шагов обучения для запоминания пар UUID.

Задачи дообучения

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

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

Предварительное обучение

Для оценки влияния высокорангового обновления на общую производительность трансформер внутри фреймворка MoRA обучается с нуля на наборе данных C4, и производительность сравнивается с моделями LoRA и ReLoRA. Потеря предварительного обучения, а также соответствующая сложность на наборе данных C4, демонстрируются на следующих изображениях.

Как можно наблюдать, модель MoRA демонстрирует лучшую производительность на задачах предварительного обучения по сравнению с моделями LoRA и ReLoRA при одинаковом количестве обучаемых параметров.

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

Окончательные мысли

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

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