Моделі та платформи ШІ
MoRA: Високоефективне оновлення для PEFT
Через свою потужну продуктивність та широке застосування порівняно з іншими методами, 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,5 тис. навчальних епізодів. Однак ці числа недостатні для методу SOTA, який був тренований на 395 тис. зразків, і вони роблять складним оцінювання здатності цих методів вивчити висновувальну силу NLP.
На основі спостережень про вплив низькорангового оновлення, фреймворк 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.












