Штучний інтелект
Пошкодження від настройки моделі штучного інтелекту легко відновлюються, стверджують дослідження

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

Performance gains on diverse models with the authors’ new post-training calibration. Further details later in the article. Source: http://export.arxiv.org/pdf/2409.16223
Вплив цього досить значний, не тільки для технологічних гігантів, чиї інтереси зосереджені на фінансових вигодах від оренди генеративних систем “як сервіс”, але й для зростаючої кількості “корд-каттер” хобі, які завантажують і настрають відкриті моделі, щоб вони могли доступитися до персоналізованих систем генерації тексту та зображень/відео більш дешево – і з меншими обмеженнями.
Автори статті не бояться показати свій ентузіазм щодо потенціалу свого методу, який робить значні кроки вперед порівняно з поданням Holistic Transfer: Towards Non-Disruptive Fine-Tuning with Partial Target Data (співавторами якого є багато учасників нової статті).
Вони заявляють:
‘Результати є обнадійливими і мають глибокі наслідки! Вони свідчать про те, що проста пост-процесорна калібрування може потенційно вирішити проблему зниження точності моделі після настройки на відсутні класи, повернувши можливості оригінальної моделі та відкривши поліпшення якості ознак для всіх класів.’
Ми розглянемо нову роботу трохи пізніше. Спочатку давайте побачимо, яку проблему вона намагається вирішити.
Чому це важливо
Перша хвиля широкого використання настройки відбулася після випуску моделі Stable Diffusion текст-у-зображення в серпні 2002 року. Перші моделі, треновані на підмножині гіпермасштабної LAION набору даних, були доступні для завантаження будь-ким.
Однак користувачі, які хотіли вставити конкретний контент (наприклад, свої особисті дані, стилі мистецтва чи зображення знаменитостей) у генеративні якості Stable Diffusion, були змушені використовувати техніки, такі як DreamBooth – екстраполяцію методу налаштування Google Research, який дозволяв користувачеві тренувати нові дані у вільно доступній моделі через настройку.

Приклади процесу користувача для офіційної реалізації DreamBooth від Google у 2022 році. Користувач відбирає невелику кількість зображень і вибирає унікальну назву (якої немає у тренувальних даних Stable Diffusion) у текстових промптах від настроєної моделі. Source: https://dreambooth.github.io/
У такий спосіб було можливим отримати копію моделі, яка була дуже хороша у створенні конкретної людини чи особистого стилю мистецтва, але яка тепер була компрометована для більш загального використання.
Це означало, що якщо ви хотіли налаштувати Stable Diffusion, щоб вона могла точно зображувати трьох різних людей, вам потрібно було створити три різні моделі, кожна близько 2-4 ГБ або більше.
Будь-яка спроба налаштувати ці моделі drugий раз не тільки погіршувала загальну продуктивність моделі, але й негативно впливала на вихідні дані з попередньої сесії налаштування.
У будь-якому випадку, моделі DreamBooth знаменитостей скоро поширилися в Інтернеті, збираючись переважно на домені civit.ai. Згодом менш трудомісткі методи, такі як Low-Rank Adaptation (LoRA), перевершували налаштування за популярністю (хоча чи є вихідний код LoRA таким же ефективним, як повне налаштування, залишається спірним, а NVIDIA згодом відкрила джерело більш ефективного підходу під назвою DoRA).
Low-Rank Adaptation (LoRA) належить до категорії Parameter-Efficient Fine-Tuning (PEFT), яка впливає лише на підмножину параметрів моделі.
Деякі користувачі хотіли змінити основну природу відкритих джерел моделей Stable Diffusion, налаштовуючи їх на тисячах зображень.
Це, по суті, створило альтернативну фундаментальну модель, присвячену будь-якій галузі, яку користувач намагався тренувати (наприклад, певний стиль мистецтва). Для цієї мети “легкі” методи, такі як LoRA, були менш ефективними, оскільки ваги моделі потребували сильного зміщення до нових тренувальних даних.
Місцевий чат
З недавнім зростанням інтересу до Больших мовних моделей (LLM), користувачі, які бажають уникнути зростаючих витрат на API-драйвені сервіси, такі як ChatGPT, все частіше завантажують і налаштовують ефективні відкриті моделі як Llama 3, серед багатьох інших.
Тут також можна використовувати LoRA замість налаштування повної контрольної точки. Ми раніше ствердили, що налаштування є кращим методом для створення LLM, адаптованих до конкретних потреб користувача. Хоча налаштування може мати більші апаратні вимоги і тривалість, воно пропонує глибше узагальнення нових даних, які користувач хоче, щоб модель засвоїла.
Проблема з налаштуванням полягає в тому, що це руйнівний процес, який не можна інкрементально тренувати на додаткових даних пізніше, як ми зазначили вище.
Ознаки та упередження, які вводяться до моделі, очевидно порушують оригінальний баланс ваг у наборі даних, що означає, що модель або надмірно схильна відображати дані користувача, або буде виконувати гірше в цілому порівняно з оригінальною фундаментальною моделлю (у завдань, не пов’язаних з новими даними).
Це можна поліпшити до певної міри, заморожуючи певні частини моделі під час тренування; однак це може привести до зниження загальної функціональності, оскільки заморожена частина архітектури може не узагальнюватися добре до нових даних у латентному просторі моделі.
Було б добре, якби існував простіший спосіб зберегти оригінальні можливості настроєної моделі, зберігаючи при цьому здатність моделі генерувати вихідні дані на основі даних налаштування.
Такий розвиток був би корисним для всіх потенційних користувачів, від хобі та ранніх приймачів, які використовують локальні LLM та інші типи генеративних моделей, до рівня FAANG (де дуже дорогі моделі штучного інтелекту могли бути покращені ітеративно та некорисно, без витрат у кілька мільйонів доларів на повторне тренування з додатковими даними).
Пост-процесорна калібрування
Це приводить нас назад до нової статті, яка називається Fine-Tuning is Fine, if Calibrated, і походить від 11 дослідників з Університету штату Огайо, Університету Вісконсин-Медісон та Ренсселерського політехнічного інституту.
Дослідники намагалися з’ясувати, що саме пошкоджується у фундаментальній моделі під час налаштування. Вони прийшли до висновку, що єдина велика різниця між “до та після” моделлю полягає в тому, що логіт-шкали по налаштованих класах і оригінальним класам у моделі виявляють велику розбіжність.
Логіт-зв’язки передбачають ймовірність успіху у логістичній регресії, перетворюючи оцінені значення (які можуть бути дуже точними) у нуль або одиницю.
Автори не тільки виявили, що цей дефіцит майже випадково оборотний за допомогою техніки калібрування, але й що цей пост-факто виправлення фактично покращує якість вихідних даних для даних налаштування. Отже, з цією технікою ви не тільки отримуєте оригінальні можливості фундаментальної моделі, але й краще інтегруєте свої власні дані налаштування.
(Хоча стаття не досліджує цю можливість, ця техніка припускає, що модель можна налаштувати кілька разів і залишається ефективною)
Обговорюючи свої висновки щодо пошкодження моделі після налаштування, автори заявляють:
‘До нашого сюрпризу, ми виявили, що настроєна модель не забуває відносин між іншими класами та не погіршує ознаки для розпізнавання цих класів. ‘
‘Натомість настроєна модель часто генерує більш дискримінативні ознаки для цих інших класів, навіть якщо вони були відсутні під час налаштування! ‘
‘[Що] справді шкодить точності, це розбіжність логіт-шкал між класами налаштування та іншими [класами], що свідчить про те, що проста пост-процесорна калібрування може повернути можливості оригінальної моделі та одночасно відкрити поліпшення ознак для всіх класів.’
Автори зробили результати своїх тестів для цієї теорії доступними у репозиторії GitHub.
Вони виявили, що під час дослідження єдина частина архітектури фундаментальної моделі, яка пошкоджується під час налаштування, це бінарний класифікатор, який неправильно класифікує класи, які відсутні в оригінальній моделі як класи налаштування.
Стаття зазначає*:
‘[Додаванням] калібрування до всіх відсутніх класів [4, 40 ], настроєна модель може успішно повернути точність відсутніх класів та отримати приємне загальне покращення унизу [домену]. ‘
‘Результати навіть перевершують сильну базову лінію [Holistic Transfer – статтю, на якій ця стаття будується ] у багатьох бенчмарках, включаючи ImageNet та її варіанти [ImageNet, ImageNet-R(endition), ImageNet-S(ketch) ], Office-Home та VTAB, без складного тренування та налаштування гіперпараметрів.’

Результати статті: настроєна модель, якій було виконано пост-процесорне калібрування, може, як зазначають автори, перевершити підхід штучного інтелекту до проблеми.
Автори класифікують покращену продуктивність пост-каліброваної настроєної моделі як “неочікувані доброзичливі поведінки” та спостерігають, що коли використовується базовий стохастичний градієнтний спуск (SGD) оптимізатор, отримується кращий результат, ніж при використанні більш популярних сучасних оптимізаторів, таких як Adam.
‘Все ж,’ вони зазначають ‘з достатньо малими швидкостями навчання та ваговим衰анням, доброзичливі поведінки з’являються та зберігаються.’
Незначні ремонти
Для ремонту логіт-розбіжностей, що виникли внаслідок налаштування, автори позичили техніку з нульового навчання, додавши постійний фактор до логітів усіх відсутніх класів. Це призводить до нового правила класифікації.
Автори зазначають, що цей процес “просуває” знехтувані відсутні класи до того самого рівня передбачуваної якості, що й настроєні класи, відновлюючи оригінальну продуктивність та покращуючи продуктивність “доданих” даних під час висновку.

У тестах техніка пост-калібрування відновила продуктивність різноманітних настроєних моделей. ‘Оракул’, вказаний у таблиці, відноситься до настроєного класифікатора, який також враховує відсутні дані класу.
Вони спостерігають далі, що пост-процесорна калібрування потенційно застосовна до будь-якої моделі, і що методи, які намагаються зберегти цілісність фундаментальної моделі шляхом заморожування шарів (наприклад, класифікатора та основи), набагато гірше порівняно з їхнім власним запропонованим підходом.
Висновок
Висновки з цього співробітництва здаються значними. Навчання моделі штучного інтелекту на гіпермасштабному наборі даних – це величезний обов’язок, подібний до злету пасажирського літака. Хоча навчання можна перервати, а будь-які пошкодження пом’якшити, зберігаючи поточні ваги періодично (за значної вартості зберігання), щоб дозволити переривання тренування, є відносно мало того, що можна зробити для зміни результату після запуску.
Що вражає у цій роботі, так це те, що дослідники, здається, відкрили фундаментальний принцип загального тренування моделей штучного інтелекту, і що їхнє рішення досить елегантне.
Економічні наслідки можливості збереження точності фундаментальної моделі після налаштування також значні. На сьогодні найпоширенішим методом подолання недоліків моделей вартістю кілька мільйонів доларів було фільтрування вихідних даних під час висновку або контроль висновку, щоб уникнути будь-якої Ахіллесової п’яти, очевидної у моделі.
Крім того, така техніка могла б теоретично принести значне покращення можливостей настроєних генеративних моделей на споживчому рівні, з бонусом у вигляді підвищення якості вихідних даних.
* Моє перетворення вкладених цитат авторів у гіперпосилання.
Перше опубліковано вівторок, 1 жовтня 2024 року












