Промпт-інжиніринг
Розуміння тонкої настройки LLM: підлаштовування великих мовних моделей під ваші унікальні вимоги

Станом на вересень 2023 року, ландшафт великих мовних моделей (LLM) продовжує розвиватися з появою моделей, таких як Alpaca, Falcon, Llama 2, GPT-4 та інших.
Важливим аспектом використання потенціалу цих LLM є процес тонкої настройки, стратегія, яка дозволяє налаштовувати попередньо треновані моделі для виконання конкретних завдань з високою точністю. Саме через цей процес тонкої настройки ці моделі можуть真正но відповідати індивідуальним вимогам, пропонуючи інноваційні рішення, адаптовані до конкретних потреб.
Однак, варто зазначити, що не всі методи тонкої настройки створені рівними. Наприклад, доступ до можливостей тонкої настройки GPT-4 відбувається за платну підписку, яка відносно дорожча порівняно з іншими варіантами на ринку. З іншого боку, відкритий джерельний код пропонує альтернативні рішення, які забезпечують більш доступний шлях до використання великих мовних моделей. Ці відкриті джерельні коди демократизують доступ до передових технологій штучного інтелекту, сприяючи інноваціям та інклюзивності у швидкозмінному ландшафті штучного інтелекту.
Чому тонка настройка LLM важлива?
Тонка настройка LLM – це не просто технічне вдосконалення, а важливий аспект розвитку моделей LLM, який дозволяє застосовувати їх більш конкретно та розвинено у різних завданнях. Тонка настройка дозволяє регулювати попередньо треновані моделі для кращого виконання конкретних завдань, підвищуючи їхню продуктивність у цих завданнях та забезпечуючи більш цілеспрямоване застосування. Це дає великим мовним моделям можливість адаптуватися до нових даних, демонструючи гнучкість, яка є важливою у зростаючому інтересі до застосувань штучного інтелекту.
Тонка настройка великих мовних моделей відкриває багато можливостей, дозволяючи їм виконувати конкретні завдання, починаючи від аналізу настрою та закінчуючи оглядами медичної літератури. Налаштовуючи базову модель для конкретного випадку застосування, ми відкриваємо нові можливості, підвищуючи ефективність та точність моделі. Крім того, це дозволяє використовувати системні ресурси більш економно, оскільки тонка настройка вимагає менше обчислювальної потужності порівняно з тренуванням моделі з нуля.
Як ми глибше вивчатимемо тонку настройку LLM, ми отримаємо комплексний огляд, заснований на останніх досягненнях та кращих практиках у цій галузі.
Інструкційна тонка настройка
Фаза тонкої настройки у життєвому циклі генерації штучного інтелекту, зображеному на наступній ілюстрації, характеризується інтеграцією вхідних та вихідних інструкцій, а також прикладами крокового розсуду. Цей підхід дозволяє моделі генерувати відповіді, які не тільки актуальні, але й точно відповідають конкретним інструкціям, введеним у неї. Саме під час цієї фази попередньо треновані моделі адаптуються для розв’язання окремих завдань та випадків застосування, використовуючи персоналізовані набори даних для підвищення їхньої функціональності.
Тонка настройка для одного завдання
Тонка настройка для одного завдання зосереджується на вдосконаленні експертизи моделі у конкретному завданні, наприклад, у підсумку. Цей підхід особливо корисний для оптимізації робочих процесів, пов’язаних з великими документами чи нитками розмов, включаючи юридичні документи та тікети служби підтримки клієнтів. Вражаюче, що ця тонка настройка може досягти значних покращень продуктивності з відносно невеликим набором прикладів, від 500 до 1000, на відміну від мільярдів токенів, використаних у фазі попереднього тренування.
Основи тонкої настройки LLM: архітектура трансформера та подальший розвиток
Путь до розуміння тонкої настройки LLM починається з ознайомлення з основними елементами, які складають LLM. Серцем цих моделей є архітектура трансформера, нейронна мережа, яка використовує механізми самоуваги для пріоритету контексту слів над їхнім розташуванням у реченні. Цей інноваційний підхід дозволяє досягти глибшого розуміння віддалених відносин між токенами у вхідних даних.
Як ми вивчатимемо трансформери, ми зустрічаємо багаторівневий процес, який починається з кодувальника. Ця початкова фаза включає токенізацію вхідних даних та створення векторів вкладення, які представляють вхідні дані та їхнє розташування у реченні. Наступні етапи включають серію обчислень, що використовують матриці, відомі як Запит, Значення та Ключ, що завершуються самою увагою, яка вказує на фокусування на різних частинах речення та токенів.
Тонка настройка є критичним етапом у розвитку LLM, процесом, який включає здійснення дрібних коригувань для досягнення бажаних виходів. Цей етап, хоча й важливий, представляє ряд викликів, включаючи обчислювальні та пам’ятні вимоги обробки величезної кількості параметрів. Parameter-Efficient Fine-Tuning (PEFT) пропонує техніки для зменшення кількості параметрів, які потрібно тонко налаштувати, тим самим спрощуючи процес тренування.
Попереднє тренування LLM: створення міцної основи
На початкових етапах розвитку LLM попереднє тренування займає центральне місце, використовуючи надпараметризовані трансформери як основну архітектуру. Цей процес включає моделювання природної мови різними способами, такими як двонаправлене, автoregresивне або послідовність-послідовність на великих масштабах несупервізованих корпусів. Метою тут є створення бази, яку можна пізніше тонко налаштувати для конкретних завдань нижнього рівня шляхом введення завдань-орієнтованих цілей.
Помітна тенденція у цій сфері полягає у неминучому збільшенні масштабу попередньо тренованих LLM, вимірюваному кількістю параметрів. Емпіричні дані послідовно показують, що більші моделі, поєднані з більшим обсягом даних, майже завжди забезпечують кращу продуктивність. Наприклад, GPT-3 з його 175 мільярдами параметрів встановив стандарт у генерації високоякісної природної мови та виконанні широкого спектру завдань без попереднього тренування.
Тонка настройка: шлях до адаптації моделі
Після попереднього тренування LLM проходить тонку настройку для адаптації до конкретних завдань. Незважаючи на перспективну продуктивність, продемонстровану навчання у контексті у попередньо тренованих LLM, таких як GPT-3, тонка настройка залишається вищою у завдання-орієнтованих умовах. Однак поширений підхід повної тонкої настройки параметрів представляє виклики, включаючи високі обчислювальні та пам’ятні вимоги, особливо при роботі з великомасштабними моделями.
Для великих мовних моделей з понад мільярдом параметрів ефективне управління оперативною пам’яттю GPU є важливим. Один параметр моделі при повній 32-бітній точності вимагає 4 байти пам’яті, що означає необхідність 4 ГБ оперативної пам’яті GPU лише для завантаження моделі з мільярдом параметрів. Фактичний процес тренування вимагає ще більше пам’яті для розміщення різних компонентів, включаючи стани оптимізатора та градієнти, потенційно вимагаючи до 80 ГБ оперативної пам’яті GPU для моделі такого масштабу.
Для подолання обмежень оперативної пам’яті GPU використовується квантовація, техніка, яка зменшує точність параметрів моделі, тим самим зменшуючи вимоги до пам’яті. Наприклад, зміна точності з 32-бітної на 16-бітну може зменшити вдвічі необхідну пам’ять як для завантаження, так і для тренування моделі. Пізніше в цій статті ми довідимося про QLoRA, який використовує концепцію квантовації для налаштування.
Дослідження категорій методів PEFT
Під час повної тонкої настройки великих мовних моделей важливо мати обчислювальну установку, яка може ефективно обробляти не тільки величезні ваги моделей, які зараз досягають розмірів у сотні гігабайт, але й керувати рядом інших критичних елементів. До них належать виділення пам’яті для станів оптимізатора, керування градієнтами, прямими активаціями та забезпечення тимчасової пам’яті під час різних етапів процесу тренування.
Аддитивний метод
Цей тип налаштування може доповнити попередньо треновану модель додатковими параметрами або шарами, зосереджуючись на тренуванні лише нових доданих параметрів. Незважаючи на збільшення кількості параметрів, ці методи підвищують ефективність тренування та використання простору. Аддитивний метод розділений на підкатегорії:
- Адаптери: Включення малих повністю зв’язаних мереж після шарів трансформера, з помітними прикладами AdaMix, KronA та Compactor.
- М’які підказки: Тонка настройка сегмента вкладення вхідних даних моделі через градієнтний спуск, з IPT, prefix-tuning та WARP як помітними прикладами.
- Інші аддитивні підходи: Включають техніки, такі як LeTS, AttentionFusion та Ladder-Side Tuning.
Селективний метод
Селективні PEFT тонко налаштовують обмежену кількість верхніх шарів на основі типу шару та внутрішньої структури моделі. До цієї категорії належать методи, такі як BitFit та LN-налаштування, які зосереджуються на налаштуванні конкретних елементів, таких як зміщення моделі або окремі рядки.
Метод, заснований на перепараметризації
Ці методи використовують низькорангові представлення для зменшення кількості тренованих параметрів, з найбільш відомим методом Low-Rank Adaptation (LoRA). Цей метод використовує просту низькорангову матричну декомпозицію для параметризації оновлення ваги, демонструючи ефективне тонке налаштування у низькорангових підпросторах.
1) LoRA (Низькоранкова адаптація)
LoRA виникла як революційна техніка PEFT, представлена в статті Edward J. Hu та інших у 2021 році. Вона діє у категорії перепараметризації, заморожуючи оригінальні ваги LLM та інтегруючи нові тренувальні низькорангові матриці у кожний шар архітектури трансформера. Цей підхід не тільки зменшує кількість тренувальних параметрів, але й зменшує час тренування та обчислювальні ресурси, що необхідні, тим самим пропонуючи більш ефективну альтернативу повній тонкій настройці.
Для розуміння механіки LoRA потрібно повернутися до архітектури трансформера, де вхідна підказка піддається токенізації та перетворенню у вектори вкладення. Ці вектори проходять через кодувальник та/або декодувальник трансформера, зустрічаючи самоувагу та фідфорвардні мережі, ваги яких попередньо треновані.
LoRA використовує концепцію сингулярної значення декомпозиції (SVD). По суті, SVD розбиває матрицю на три окремі матриці, одна з яких є діагональною матрицею, що містить сингулярні значення. Ці сингулярні значення мають вирішальне значення, оскільки вони оцінюють важливість різних вимірів у матрицях, з більшіми значеннями, що вказують на вищу важливість, а меншими значеннями – на нижчу значимість.
Цей підхід дозволяє LoRA зберігати суттєві характеристики даних, зменшуючи при цьому розмірність, тим самим оптимізуючи процес тонкої настройки.
LoRA втручається в цей процес, заморожуючи всі оригінальні параметри моделі та вводячи пару “матриць рангової декомпозиції” поряд з оригінальними вагами. Ці менші матриці, позначені як A та B, проходять тренування через супервізоване навчання.
Ключовим елементом у цій стратегії є параметр “ранг” (‘r’), який диктує розмір низькорангових матриць. Обережний вибір ‘r’ може дати вражаючі результати, навіть з меншим значенням, тим самим створюючи низькорангову матрицю з меншою кількістю параметрів для тренування. Ця стратегія була успішно реалізована за допомогою відкритих бібліотек, таких як HuggingFace Transformers, що полегшує тонку настройку LoRA для різних завдань з вражаючою ефективністю.
2) QLoRA: підвищення ефективності LoRA
Розбудовуючи основу, закладену LoRA, QLoRA ще більше зменшує вимоги до пам’яті. Представлена Tim Dettmers та іншими у 2023 році, вона поєднує низькоранкову адаптацію з квантовацією, використовуючи 4-бітний формат квантовації, позначений як NormalFloat або nf4. Квантовація по суті є процесом переходу даних з вищої репрезентації до тієї, що має менше інформації. Цей підхід зберігає ефективність 16-бітних методів тонкої настройки, де-квантуючи 4-бітні ваги до 16-бітних, якщо це необхідно під час обчислювальних процесів.

Порівняння методів тонкої настройки: QLoRA підвищує ефективність LoRA за допомогою 4-бітної квантовації та пейдж-оптимізаторів для керування сплесками пам’яті
QLoRA використовує NumericFloat4 (nf4), націлюючи кожний шар архітектури трансформера, та вводить концепцію подвійної квантовації для подальшого зменшення пам’яті, необхідної для тонкої настройки. Це досягається шляхом квантовації вже кванталізованих констант, стратегії, яка запобігає типовим сплескам пам’яті під час градієнтної точки через використання пейдж-оптимізаторів та уніфікованого керування пам’яттю.
Guanaco, який є ансамблем, тонко налаштованим за допомогою QLoRA, встановлює стандарт у відкритих рішеннях для чат-ботів. Його продуктивність, підтверджена систематичними оцінками людини та автоматизованими оцінками, підкреслює його домінування та ефективність у цій сфері.
Версії Guanaco розміром 65B та 33B, тонко налаштовані за допомогою модифікованої версії набору даних OASST1, виступають як серйозні конкуренти відомим моделям, таким як ChatGPT та навіть GPT-4.
Тонка настройка за допомогою навчання з підкріпленням від людської обратної зв’язі
Навчання з підкріпленням від людської обратної зв’язі (RLHF) застосовується під час тонкої настройки попередньо тренованих мовних моделей для більш тісної відповідності людським цінностям. Ця концепція була введена компанією Open AI у 2017 році, закладając основу для покращення підсумовування документів та розвитку InstructGPT.
У центрі RLHF лежить парадигма навчання з підкріпленням, тип техніки машинного навчання, де агент вчиться, як діяти в середовищі, виконуючи дії та отримуючи нагороди. Це безперервний цикл дії та обратної зв’язі, де агент стимулюється до вибору дій, які принесуть найвищу нагороду.
Переносячи це у сферу мовних моделей, агент є самою моделлю, що діє у середовищі заданого контекстного вікна та приймає рішення на основі стану, який визначається поточними токенами у контекстному вікні. “Простір дій” охоплює всі потенційні токени, які модель може вибрати, з метою вибрати токен, який найбільш відповідає людським уподобанням.
Процес RLHF широко використовує людську обратну зв’язь, використовуючи її для тренування моделі нагород. Ця модель грає вирішальну роль у керуванні попередньо тренованою моделлю під час тонкої настройки, спонукаючи її генерувати виходи, які більш відповідають людським цінностям. Це динамічний та ітеративний процес, де модель вчиться через серію “розгортань”, термін, який описує послідовність станів та дій, що ведуть до нагороди у контексті генерації мови.
Одним з вражаючих потенціалів RLHF є її здатність сприяти персоналізації у системах штучного інтелекту, адаптуючи їх до індивідуальних уподобань користувачів, чи то їхнього почуття гумору чи щоденних рутин. Це відкриває шляхи для створення систем штучного інтелекту, які не тільки технічні, але й емоційно інтелектуальні, здатні розуміти та реагувати на нюанси людської комунікації.
Однак варто зазначити, що RLHF не є безпомилковим рішенням. Моделі все ще можуть генерувати нежадані виходи, віддзеркалюючи величезні та часто неконтрольовані та упереджені дані, на яких вони тренуються.
Висновок
Процес тонкої настройки, критичний етап у використанні повного потенціалу LLM, таких як Alpaca, Falcon та GPT-4, став більш розвиненим та цілеспрямованим, пропонуючи адаптовані рішення для широкого спектру завдань.
Ми розглянули тонку настройку для одного завдання, яка спеціалізує моделі на конкретних ролях, та методи параметро-ефективної тонкої настройки (PEFT), включаючи LoRA та QLoRA, які спрямовані на підвищення ефективності процесу тренування та зниження витрат. Ці розробки відкривають двері до високорівневих функцій штучного інтелекту для ширшої аудиторії.
Крім того, введення навчання з підкріпленням від людської обратної зв’язі (RLHF) компанією Open AI є кроком до створення систем штучного інтелекту, які краще відповідають людським цінностям та уподобанням, встановлюючи сцену для систем штучного інтелекту, які не тільки розумні, але й чутливі до індивідуальних потреб користувачів. І RLHF, і PEFT працюють у синергії для підвищення функціональності та ефективності великих мовних моделей.
Як підприємства, організації та окремі особи розглядають інтеграцію цих тонко налаштованих LLM у свої операції, вони фактично запрошують майбутнє, де штучний інтелект не тільки інструмент, а й партнер, який розуміє та адаптується до людських контекстів, пропонуючи інноваційні та персоналізовані рішення.























