одиниця 6 / 11

Основа тонкого налаштування: коли, як і з яким ризиком

Прибуток:

  • Здатність розрізнити, чи є проблема інформацією чи поведінкою, і оцінити точне налаштування для поведінкових проблем лише після того, як підказка, кілька разів і RAG вичерпано.
  • Розуміння методів тонкого налаштування (SFT, LoRA/PEFT, RLHF) і атрибутів даних, які визначають якість (послідовність, різноманітність, конфіденційність)
  • Можливість виміряти справжню цінність тонкої настройки за допомогою тестів оцінки до-після, перенавчання та катастрофічного забуття

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

Спочатку правильне запитання: чи потрібна точна настройка?

Найдорожча помилка початківців - відразу кидатися на доопрацювання проблеми, яку можна вирішити. Налаштуйте порядок таким чином:

  1. Розробка підказок: хороша підказка, яка чітко пояснює завдання, вирішує більшість проблем. Спочатку споживайте тут.
  2. Невелике навчання: додавання кількох прикладів у підказку показує моделі бажаний формат і поведінку.
  3. RAG: якщо проблема полягає в «браку інформації» (потреба в даних, які модель не знає), рішенням є RAG (блок 4), а не тонке налаштування.
  4. Точне налаштування: воно вступає в дію, якщо вищезазначеного недостатньо і проблема полягає в "поведінці/форматі/стилі".

Ключова відмінність: точне налаштування є слабким і ризикованим у навчанні моделі нової інформації; але він сильний у навчанні, як поводитися (специфічний формат, тон, польовий жаргон, послідовна структура). «Моя модель не знає інформації про нашу компанію» → RAG. «Нехай моя модель завжди видає вихідні дані в тому форматі, який ми хочемо» → кандидат на тонке налаштування.

Порада: перш ніж прийняти рішення про точне налаштування, запитайте: «Це проблема зі знаннями чи поведінкою?» Інформаційні проблеми краще вирішуються за допомогою RAG, поведінкові проблеми краще вирішуються за допомогою тонкого налаштування.

Методи тонкого налаштування

Повне доведення: Перенавчання всіх параметрів моделі. Найпотужніший, але найдорожчий; Для цього потрібне велике обладнання (графічний процесор) і ретельні дані. Це непотрібно для більшості команд.

Тонке налаштування за параметрами (PEFT): методи, які заморожують переважну більшість моделі, навчаючи лише невеликий набір додаткових параметрів. Найпоширенішим є LoRA (Low-Rank Adaptation: навчання невеликих шарів «адаптера», доданих до моделі). LoRA забезпечує результати, близькі до повного тонкого налаштування, з набагато меншою пам’яттю та витратами; Тому це перший вибір на практиці.

Контрольована точна настройка (SFT): навчання моделі «реагувати на цей вхід таким чином» за допомогою даних, що складаються з пар вихідних даних, ідеальних для вхідних даних. Це найпоширеніший сценарій.

Навчання з підкріпленням на основі зворотного зв’язку людини (RLHF): узгодження поведінки моделі з відповідями людей, яким надають перевагу. Це складно і дорого; Потреби більшості програмних команд задовольняються за допомогою SFT. Достатньо знати RLHF як поняття.

Дані: серце тонкого налаштування

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

  • Узгодженість: усі приклади послідовно показують потрібний вам формат і тон. Суперечливі приклади збивають модель з пантелику.
  • Різноманітність: приклади охоплюють різноманітність у фактичному використанні, але не є однорідними.
  • Очищення: екземпляри, що містять неправильні, упереджені або приховані дані, постійно передаються в модель. Дані тонкого налаштування слід читати так само уважно, як договір.
Застереження: кожне зміщення, помилка та прихована інформація, яка входить до даних точного налаштування, вкарбовується в модель і знову з’являється в її результатах. Перевіряйте свої навчальні дані так само ретельно, як якщо б ви їх опублікували; Не публікуйте особисті дані.

Огляд: чи спрацювало тонке налаштування?

Перед тонким налаштуванням зарезервуйте затриманий набір оцінок і виміряйте оцінку моделі без точного налаштування (базова модель). Після точного налаштування виміряйте ще раз у тому самому банку. Без порівняння «стало краще» не скажеш. Також слід пам’ятати про дві пастки:

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

Слабкий підхід / Сильний підхід

Слабкий: «У мене є 3000 журналів чату, давайте їх усі доопрацюємо, щоб модель могла говорити, як ми».

Гючлю: «Спочатку я оцінив базову модель зі 100 реальними завданнями, зазначив оцінку. Я виміряв, наскільки вона покращилася за допомогою підказок і кількох знімків — цього було недостатньо. Потім із 3000 журналів я вибрав і очистив лише 400 зразків із високою якістю, узгодженим форматом і без прихованих даних. Я налаштував LoRA, виміряв знову з тими самими 100 завданнями та підтвердив за допомогою окремий тест, щоб загальні можливості були недоторканими».

Різниця: сильний підхід спочатку вичерпує альтернативи, вибирає дані, вимірює до і після та перевіряє побічні ефекти.

Реальність вартості та обслуговування

Точне налаштування — це не одноразова робота; Це обов'язок турботи. Може знадобитися перенавчання, коли базову модель оновлено, потребує змін або втрачено дані. Крім того, розміщення точно налаштованої моделі приносить додаткові витрати та операції. Порівняйте цю загальну вартість володіння з підвищенням якості, яке вона забезпечує. У більшості випадків хороша підказка + RAG дешевша та гнучкіша, ніж тонке налаштування.

три міні-чохла

Випадок 1. Непотрібне тонке налаштування. Команда взялася за дорогий проект тонкого налаштування, тому що «наша модель не знає наших продуктів». Були витрачені місяці і бюджет, результат був крихким — модель старіла щоразу, коли змінювався каталог товарів. Нарешті вони перейшли на RAG: вони отримали дані продукту з бази документів, оновлення відбулося миттєво, а вартість знизилася. Урок: інформаційна проблема не вирішується тонким налаштуванням.

Випадок 2 - Правильне тонке налаштування. Страхова компанія хотіла, щоб модель завжди створювала резюме полісів у тій самій жорсткій структурі (пункт за пунктом, з конкретними заголовками). Узгодженість із підказкою застрягла на 70%. Після тонкого налаштування LoRA за допомогою 300 хороших зразків узгодженість формату зросла до 98%. Це була проблема поведінки, і точне налаштування було правильним інструментом.

Випадок 3. Втеча конфіденційності в дані. Одна команда відправила журнали чату на доопрацювання, не очищаючи їх. Журнали містили справжні імена клієнтів та ідентифікаційні номери. Тонко налаштована модель почала «витікати» ці імена як вихідні дані у непов’язаних питаннях. Модель була вилучена, дані замасковані та перенавчені. Урок: прихована інформація в даних тонкого налаштування постійно передається в модель.

Шаблони, які можна копіювати

Допоможіть мені вирішити, чи потрібна точна настройка для цієї моєї проблеми. Проблема: [опис] Це проблема ІНФОРМАЦІЇ (модель чогось не знає) чи проблема ПОВЕДІНКИ (модель не видає потрібного формату/тону/структури)? Чи можна вирішити це за допомогою швидкого, кількох пострілів і спочатку RAG? Навіщо пробувати/не пробувати кожен із них? Лише за яких умов ви б рекомендували тонке налаштування?

Перевірте цей набір даних для точного налаштування: 1) Чи узгоджені приклади за форматом і тоном? 2) Чи охоплюють вони різницю у фактичному використанні? 3) Чи містить він конфіденційні/особисті дані (потрібно замаскувати)? 4) Чи є суперечливі приклади? Підмножина прикладів: [приклади] Перелічіть кожну проблему та знайдене виправлення.

Створіть план оцінки до і після тонкого налаштування. Завдання: [пояснення]- Як вибрати набір очікуваних оцінок?- Як вимірюється оцінка базової моделі?- З якою метрикою вона порівнюється після точного налаштування?- Як перевірити, чи не погіршуються загальні можливості (катастрофічне забування)?

Запропонуйте початкові гіперпараметри для точного налаштування за допомогою LoRA. Розмір даних: [кількість зразків]Призначення: [навчання формату/тону]Запропонуйте епоху, швидкість навчання та ранню зупинку, щоб уникнути перенавчання.

Таблиця рішень: який інструмент коли

потреба

спробуйте спочатку

Тонка настройка?

Модель не знає жодної інформації

ганчірка

немає

Потрібні актуальні дані

ганчірка

немає

Специфічний жорсткий формат

кілька пострілів

Якщо недостатньо так

Послідовний тон/стиль

підказка + кілька пострілів

Якщо недостатньо так

Польовий жаргон/стиль

підказка

Якщо цього недостатньо, LoRA

Проста оптимізація завдань

оперативне проектування

Загалом ні

Поширені помилки

  • Спроба вирішити інформаційну проблему за допомогою тонкого налаштування. RAG — правильний інструмент.
  • Виконання тонкого налаштування без використання підказок/кількох знімків/RAG. Дорого і непотрібно.
  • Навчання з низькою якістю/конфліктними даними. Краще менше, але чітких даних.
  • Введення конфіденційних даних у навчання. Постійно проникає в модель.
  • Не вимірювання до і після. Ви не можете довести відновлення.
  • Не випробовуючи катастрофічне забування. Нова навичка може порушити стару.

Підсумовуючи

Точне налаштування є потужним, але дорогим інструментом, і його слід розглядати лише для вирішення проблем поведінки/формату після використання prompt-few-shot-RAG; інформаційні проблеми належать до RAG. Методи, ефективні за параметрами, такі як LoRA, є практичним першим вибором. Якість повністю залежить від якості даних; Використовуйте невеликі, але чисті, послідовні та конфіденційні дані. Виміряйте до і після, перевірте на наявність надмірного навчання та втрати здібностей. Точне налаштування є обов'язком обережності; Зважте його загальну вартість проти якості, яку він забезпечує.

Аплікаційне завдання

Виберіть проблему та вирішіть, чи потрібна точна настройка, розрізняючи «знання чи поведінку», і напишіть своє обґрунтування. Якщо це проблема поведінки, підготуйте 20-30 узгоджених зразків, перевірте наявність прихованих даних і задокументуйте план оцінки до і після (витриманий кластер, базова оцінка, показник порівняння, тест на забування). Якщо це можна вирішити за допомогою RAG/few-shot замість тонкого налаштування, зверніть увагу і на це.

контрольний список

  • [ ] Я визначив, чи є проблема знаннями чи поведінкою.
  • [ ] Спочатку я оцінив варіанти швидкого, малопострілкового та RAG.
  • [ ] Я перевірив узгоджені дані на відповідність, різноманітність і конфіденційність.
  • [ ] Я виділив утриманий кластер оцінки та виміряв базову оцінку.
  • [ ] Я запланував порівняння «до-після» та тест «забуття».
  • [ ] Я порівняв загальну вартість із якістю, яку він забезпечує.