единица 6 / 11

Основа за фина настройка: Кога, как и с какъв риск

Печалби:

  • Способност да се разграничи дали даден проблем е информация или поведение и да се оцени фината настройка за поведенчески проблеми само след изчерпване на подканите, няколко изстрела и RAG.
  • Разбиране на методите за фина настройка (SFT, LoRA/PEFT, RLHF) и атрибутите на данните, които определят качеството (последователност, разнообразие, поверителност)
  • Възможност за измерване на истинската стойност на фината настройка с тестове преди-след оценка, свръхнаучаване и катастрофално забравяне

Фината настройка (персонализиране на поведението му чрез допълнително обучение на предварително обучен модел с вашите собствени данни) е мощен, но скъп инструмент в арсенала на инженера, работещ с LLM. Когато се използва на неправилно място, това е загуба на пари и време, но когато се използва на правилното място, осигурява качество, което не може да бъде постигнато по друг начин. В този раздел ние разглеждаме кога е необходима фина настройка, нейните основни методи и рискове. Целта е да ви накара да вземате решения.

Първо правилният въпрос: необходима ли е фина настройка?

Най-скъпата грешка на начинаещите е веднага да се втурнат към фина настройка на проблем, който може да бъде решен. Настройте реда по следния начин:

  1. Бърз инженеринг: Добрата подкана, която ясно обяснява задачата, решава повечето проблеми. Консумирайте първо тук.
  2. Малкократно обучение: Поставянето на няколко примера в подканата показва на модела желания формат и поведение.
  3. RAG: Ако проблемът е „липса на информация“ (необходимост от данни, които моделът не познава), решението е RAG (единица 4), а не фина настройка.
  4. Фина настройка: Влиза в действие, ако горното не е достатъчно и проблемът е "поведение/формат/стил".

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

Съвет: Преди да вземете решение за фина настройка, попитайте: „Това проблем със знанието ли е или проблем с поведението?“ Информационните проблеми се решават по-добре с RAG, поведенческите проблеми се решават по-добре с фина настройка.

Методи за фина настройка

Пълна фина настройка: Преобучение на всички параметри на модела. Най-мощен, но най-скъп; Изисква голям хардуер (GPU) и внимателни данни. Това е ненужно за повечето отбори.

Параметрно-ефективна фина настройка (PEFT): Методи, които замразяват по-голямата част от модела, обучавайки само малък набор от допълнителни параметри. Най-разпространеният е LoRA (адаптация от нисък ранг: обучение на малки "адаптерни" слоеве, добавени към модела). 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.
  • [ ] Проверих данните за фина настройка за последователност, разнообразие и поверителност.
  • [ ] Разпределих задържан клъстер за оценка и измерих основния резултат.
  • [ ] Планирах сравнение преди-след и тест за забравяне.
  • [ ] Сравних общата цена с качеството, което предоставя.