Зв'язатися з нами

Розуміння тонкого налаштування LLM: адаптація великих мовних моделей до ваших унікальних вимог

Оперативна інженерія

Розуміння тонкого налаштування LLM: адаптація великих мовних моделей до ваших унікальних вимог

mm
Представлення тонкої настройки LLM - Midjourney

Станом на вересень 2023 року серед великих мовних моделей (LLM) все ще зростає кількість моделей, зокрема Alpaca, Falcon, полум'я 2, ГПТ-4 та багато інших.

Важливим аспектом використання потенціалу цих LLM є процес тонкого налаштування, стратегія, яка дозволяє налаштовувати попередньо підготовлені моделі для точного виконання конкретних завдань. Саме завдяки такому тонкому налаштуванню ці моделі можуть справді відповідати індивідуальним вимогам, пропонуючи інноваційні рішення, які відповідають унікальним потребам.

Однак важливо зазначити, що не всі шляхи тонкого налаштування однакові. Наприклад, доступ до можливостей тонкого налаштування GPT-4 коштує дорого, тому потрібна платна підписка, яка є відносно дорожчою порівняно з іншими варіантами, доступними на ринку. З іншого боку, домен з відкритим кодом кишить альтернативами, які пропонують більш доступний шлях до використання потужності великих мовних моделей. Ці опції з відкритим вихідним кодом демократизують доступ до передових технологій штучного інтелекту, сприяючи інноваціям і інклюзивності в середовищі ШІ, що швидко розвивається.

Чому тонка настройка LLM важлива?

Тонка настройка LLM – це більше, ніж технічне вдосконалення; це важливий аспект розробки моделі LLM, який дозволяє більш конкретне та вдосконалене застосування в різних завданнях. Тонка настройка налаштовує попередньо навчені моделі, щоб краще відповідати конкретним наборам даних, підвищуючи їх продуктивність у конкретних завданнях і забезпечуючи більш цілеспрямоване застосування. Він демонструє надзвичайну здатність LLM адаптуватися до нових даних, демонструючи гнучкість, яка є життєво важливою в умовах постійно зростаючого інтересу до програм ШІ.

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

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

Точне налаштування на основі інструкцій

Фаза тонкої настройки в Генеративний ШІ Життєвий цикл, показаний на малюнку нижче, характеризується інтеграцією входів і виходів інструкцій у поєднанні з прикладами покрокових міркувань. Цей підхід полегшує модель у створенні відповідей, які є не тільки релевантними, але й точно узгодженими з конкретними інструкціями, що вводяться в неї. Саме на цьому етапі попередньо навчені моделі адаптуються для вирішення окремих завдань і випадків використання, використовуючи персоналізовані набори даних для покращення їх функціональності.

Життєвий цикл генеративного штучного інтелекту – тонке налаштування, оперативне проектування та RLHF

Життєвий цикл Generative AI – тонке налаштування

Однозадачна тонка настройка

Тонка настройка окремого завдання зосереджена на вдосконаленні досвіду моделі в конкретному завданні, наприклад підведенні підсумків. Цей підхід є особливо корисним для оптимізації робочих процесів, пов’язаних із важливими документами або потоками розмов, зокрема юридичними документами та заявками в службу підтримки клієнтів. Примітно, що це тонке налаштування може досягти значного підвищення продуктивності за допомогою відносно невеликого набору прикладів, від 500 до 1000, на відміну від мільярдів токенів, які використовуються на етапі попереднього навчання.

Ілюстрація прикладу тонкого налаштування окремого завдання

Ілюстрація прикладу тонкого налаштування окремого завдання

 

Основи LLM Fine-Tuning LLM: Transformer Architecture and Beyond

Подорож до розуміння тонкого налаштування LLM починається з розуміння фундаментальних елементів, які складають LLM. В основі цих моделей лежить трансформаторна архітектура, нейронна мережа, яка використовує механізми самоуважності, щоб визначити пріоритет контексту слів над їхньою близькістю в реченні. Цей інноваційний підхід сприяє глибшому розумінню віддалених зв’язків між токенами у вхідних даних.

Розбираючись у тонкощах трансформаторів, ми стикаємося з багатоетапним процесом, який починається з кодера. Ця початкова фаза включає токенізацію вхідних даних і створення векторів вбудовування, які представляють вхідні дані та їх положення в реченні. Подальші етапи включають серію обчислень з використанням матриць, відомих як Запит, значення та ключ, що завершується оцінкою самоуважності, яка диктує фокусування на різних частинах речення та різних лексемах.

Трансформаторна архітектура

Трансформаторна архітектура

Тонка настройка є критичною фазою в розробці LLMs, процес, який передбачає внесення тонких коригувань для досягнення більш бажаних результатів. Цей етап, хоч і важливий, представляє низку проблем, у тому числі вимоги до обчислень і зберігання, пов’язані з обробкою величезної кількості параметрів. Parameter Efficient Fine Tuning (PEFT) пропонує методики для зменшення кількості параметрів, які потрібно точно налаштувати, таким чином спрощуючи процес навчання.

LLM Pre-Training: Створення міцної бази

На початкових етапах розробки LLM попередня підготовка займає центральне місце, використовуючи надпараметризовані трансформатори як базову архітектуру. Цей процес передбачає моделювання природної мови різними способами, такими як двонаправлене, авторегресійне або від послідовності до послідовності на великомасштабних неконтрольованих корпусах. Мета тут полягає в тому, щоб створити базу, яку можна було б налаштувати пізніше для конкретних подальших завдань за допомогою введення цілей для конкретних завдань.

Попереднє навчання, тонке налаштування

Попереднє навчання, тонке налаштування

Примітною тенденцією в цій сфері є неминуче зростання масштабу попередньо підготовлених LLM, що вимірюється кількістю параметрів. Емпіричні дані показують, що більші моделі в поєднанні з більшою кількістю даних майже завжди дають кращу продуктивність. Наприклад, GPT-3 зі своїми 175 мільярдами параметрів встановив еталон у створенні високоякісної природної мови та вмілому виконанні широкого спектру завдань з нульовим ударом.

Точне налаштування: шлях до адаптації моделі

Після попереднього навчання LLM проходить тонке налаштування для адаптації до конкретних завдань. Незважаючи на багатообіцяючу продуктивність, продемонстровану в контекстному навчанні в попередньо підготовлених LLM, таких як GPT-3, точне налаштування залишається кращим у налаштуваннях для конкретних завдань. Однак поширений підхід до повного тонкого налаштування параметрів представляє проблеми, включаючи високі вимоги до обчислень і пам’яті, особливо при роботі з великомасштабними моделями.

Для великих мовних моделей із понад мільярдом параметрів ефективне керування оперативною пам’яттю GPU є ключовим. Для одного параметра моделі з повною 32-розрядною точністю потрібні 4 байти простору, що означає потребу в 4 ГБ оперативної пам’яті графічного процесора лише для завантаження моделі з 1 мільярдом параметрів. Фактичний процес навчання потребує ще більше пам’яті для розміщення різних компонентів, включаючи стани оптимізатора та градієнти, потенційно вимагаючи до 80 ГБ оперативної пам’яті GPU для моделі такого масштабу.

Щоб подолати обмеження оперативної пам’яті графічного процесора, використовується квантування, що є технікою, яка знижує точність параметрів моделі, тим самим зменшуючи вимоги до пам’яті. Наприклад, зміна точності з 32-бітної на 16-бітну може вдвічі зменшити пам’ять, необхідну як для завантаження, так і для навчання моделі. Далі в цій статті. ми дізнаємося про Qlora, яка використовує концепцію квантування для налаштування.

LLM GPU Вимоги до пам'яті wrt. кількість параметрів і точність

LLM GPU Вимоги до пам'яті wrt. кількість параметрів і точність

 

Вивчення категорій методів PEFT

У процесі повного налаштування великих мовних моделей важливо мати обчислювальну установку, яка може ефективно обробляти не лише значну вагу моделі, яка для найдосконаліших моделей зараз досягає розмірів у сотні гігабайт, але й керувати ряд інших критичних елементів. До них відносяться виділення пам’яті для станів оптимізатора, керування градієнтами, активація вперед і полегшення тимчасової пам’яті на різних етапах процедури навчання.

Адитивний метод

Цей тип налаштування може доповнити попередньо навчену модель додатковими параметрами або шарами, зосереджуючись на навчанні лише щойно доданих параметрів. Незважаючи на збільшення кількості параметрів, ці методи підвищують ефективність часу та простору навчання. Адитивний метод далі поділяється на підкатегорії:

  • Адаптери: Включення невеликих повністю з’єднаних мереж після трансформаторних підрівнів, з помітними прикладами AdaMix, КронА, і Компактор.
  • М'які підказки: Точне налаштування сегмента вхідних вставок моделі за допомогою градієнтного спуску з IPT, префікс-настроювання, і WARP є яскравими прикладами.
  • Інші адитивні підходи: включайте такі методи, як LeTS, AttentionFusion і Ladder-Side Tuning.

Селективний метод

Вибіркові PEFT налаштовують обмежену кількість верхніх шарів на основі типу шару та внутрішньої структури моделі. Ця категорія включає такі методи, як BitFit та LN налаштування, які зосереджені на налаштуванні конкретних елементів, таких як зміщення моделі або окремі рядки.

Метод на основі репараметризації

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

1) LoRA (адаптація низького рангу)

LoRA виникла як новаторська техніка PEFT, представлена ​​в статті Едвард Дж. Ху та інші у 2021 році. Він працює в категорії перепараметризації, заморожуючи початкові ваги LLM та інтегруючи нові матриці низького рангу, які можна навчати, у кожен рівень архітектури Transformer. Цей підхід не тільки скорочує кількість параметрів, які можна навчити, але також зменшує час навчання та необхідні обчислювальні ресурси, таким чином представляючи більш ефективну альтернативу повному тонкому налаштуванню.

Щоб зрозуміти механізм LoRA, потрібно переглянути архітектуру трансформатора, де підказка введення піддається токенізації та перетворенню у вектори вбудовування. Ці вектори проходять через сегменти кодера та/або декодера трансформатора, стикаючись із мережами самоконтролю та прямого зв’язку, ваги яких попередньо навчені.

LoRA використовує концепцію Декомпозиція сингулярного значення (SVD). По суті, SVD розбиває матрицю на три різні матриці, одна з яких є діагональною матрицею, що містить сингулярні значення. Ці сингулярні значення є ключовими, оскільки вони вимірюють значущість різних вимірів у матрицях, причому більші значення вказують на вищу важливість, а менші — на меншу.

Розкладання сингулярного значення (SVD) прямокутної матриці m × n

Розкладання сингулярного значення (SVD) матриці m × n

Цей підхід дозволяє LoRA підтримувати основні характеристики даних, одночасно зменшуючи розмірність, отже оптимізуючи процес тонкого налаштування.

LoRA втручається в цей процес, заморожуючи всі початкові параметри моделі та вводячи пару «матриць рангового розкладання» поряд із вихідними ваговими коефіцієнтами. Ці менші матриці, позначені як A і B, проходять навчання через контрольоване навчання.

Ключовим елементом цієї стратегії є параметр під назвою ранг ('r'), який визначає розмір матриць низького рангу. Ретельний вибір «r» може дати вражаючі результати навіть із меншим значенням, створюючи таким чином матрицю низького рангу з меншою кількістю параметрів для навчання. Ця стратегія була ефективно реалізована за допомогою бібліотек з відкритим вихідним кодом, таких як HuggingFace Transformers, що полегшує тонке налаштування LoRA для різних завдань із надзвичайною ефективністю.

2) QLoRA: підвищення ефективності LoRA

Спираючись на фундамент, закладений LoRA, QLoRA додатково мінімізує вимоги до пам’яті. Представлено Тім Деттмерс та інші у 2023 році, він поєднує адаптацію низького рангу з квантуванням, використовуючи 4-бітовий формат квантування, який називається NormalFloat or nf4. Квантування — це, по суті, процес, який перетворює дані з вищого інформаційного представлення до такого з меншим вмістом інформації. Цей підхід зберігає ефективність 16-бітових методів тонкого налаштування, деквантуючи 4-бітні ваги до 16-бітових, як це необхідно під час обчислювальних процесів.

Порівняння методів точного налаштування: QLORA покращує LoRA за допомогою 4-бітового точного квантування та сторінкових оптимізаторів для керування спалахами пам’яті

Порівняння методів точного налаштування: QLORA покращує LoRA за допомогою 4-бітового точного квантування та сторінкових оптимізаторів для керування спалахами пам’яті

QLoRA використовує NumericFloat4 (nf4), націлюючи кожен рівень в архітектурі трансформатора, і вводить концепцію подвійного квантування для подальшого зменшення обсягу пам’яті, необхідного для тонкого налаштування. Це досягається шляхом виконання квантування вже квантованих констант, стратегії, яка запобігає типовим стрибкам пам’яті контрольних точок градієнта за допомогою використання сторінкових оптимізаторів і уніфікованого керування пам’яттю.

Гуанако, який є ансамблем, налаштованим QLORA, встановлює еталон у рішеннях чат-ботів з відкритим кодом. Його продуктивність, підтверджена систематичними людськими та автоматизованими оцінками, підкреслює його домінування та ефективність у цій галузі.

Версії 65B і 33B Guanaco, налаштовані з використанням модифікованої версії OASST1 набору даних, стають серйозними суперниками відомих моделей, як ChatGPT і навіть ГПТ-4.

Точне налаштування за допомогою Reinforcement Learning from Human Feedback

Навчання з підкріпленням на основі зворотного зв’язку людини (RLHF) вступає в дію під час тонкого налаштування попередньо навчених мовних моделей, щоб тісніше відповідати людським цінностям. Ця концепція була представлена ​​компанією Open AI у 2017 році, заклавши основу для покращеного узагальнення документів і розробки Інструктувати GPT.

В основі RLHF лежить парадигма навчання з підкріпленням, тип техніки машинного навчання, де агент вчиться поводитися в навколишнє середовище виконанням дії і отримання нагороди. Це безперервний цикл дію та зворотний зв'язок, де агента стимулюють робити вибір, який принесе найвищу винагороду.

Перекладаючи це в сферу мовних моделей, агент є модель себе, діючи в межах навколишнє середовище заданого контекстного вікна та прийняття рішень на основі були, який визначається поточними маркерами в контекстному вікні. "простір дії” охоплює всі потенційні токени, з яких модель може вибрати, з метою вибрати токен, який найбільше відповідає вподобанням людини.

Процес RLHF значною мірою використовує відгуки людей, використовуючи їх для навчання моделі винагороди. Ця модель відіграє вирішальну роль у керуванні попередньо навченою моделлю під час процесу тонкого налаштування, заохочуючи її генерувати результати, які більше відповідають людським цінностям. Це динамічний ітеративний процес, у якому модель навчається через серію «розгортань», термін, який використовується для опису послідовності станів і дій, що призводять до винагороди в контексті генерації мови.

Одним із чудових можливостей RLHF є його здатність сприяти персоналізації помічників зі штучним інтелектом, адаптуючи їх відповідно до вподобань окремих користувачів, будь то їхнє почуття гумору чи повсякденні справи. Це відкриває можливості для створення систем штучного інтелекту, які є не тільки технічно досвідченими, але й емоційно розумними, здатними розуміти й реагувати на нюанси людського спілкування.

Однак важливо зазначити, що RLHF не є надійним рішенням. Моделі все ще сприйнятливі до генерування небажаних результатів, що є відображенням величезних і часто нерегульованих і упереджених даних, на яких вони навчаються.

Висновок

Процес тонкого налаштування, важливий крок у використанні повного потенціалу LLM, таких як Alpaca, Falcon і GPT-4, став більш витонченим і цілеспрямованим, пропонуючи індивідуальні рішення для широкого кола завдань.

Ми бачили однозадачне тонке налаштування, яке спеціалізується на моделях у певних ролях, і методи точного налаштування параметрів (PEFT), включаючи LoRA та QLoRA, які спрямовані на підвищення ефективності та економічності процесу навчання. Ці розробки відкривають двері для ширшої аудиторії високорівневих функцій ШІ.

Крім того, запровадження Reinforcement Learning from Human Feedback (RLHF) від Open AI є кроком до створення систем AI, які розуміють людські цінності й уподобання та тісніше відповідають їм, готуючи основу для помічників AI, які не тільки розумні, але й чутливі до індивідуальні потреби користувача. І RLHF, і PEFT працюють разом, щоб підвищити функціональність і ефективність великих мовних моделей.

Оскільки компанії, підприємства та окремі особи прагнуть інтегрувати ці добре налаштовані LLM у свою діяльність, вони, по суті, вітають майбутнє, де ШІ буде більше, ніж інструментом; це партнер, який розуміє людський контекст і адаптується до нього, пропонуючи інноваційні та персоналізовані рішення.

Останні п’ять років я провів, занурюючись у захоплюючий світ машинного та глибокого навчання. Моя пристрасть і досвід допомогли мені внести свій внесок у понад 50 різноманітних проектів розробки програмного забезпечення, зосередивши особливу увагу на ШІ/ML. Моя постійна цікавість також привела мене до обробки природної мови, галузі, яку я хочу досліджувати далі.