РозробкаSenior

Fine-tuning

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

Навчає
Поведінки й форми
Не навчає
Фактів, які цитують
Справжня робота
Побудова набору даних

Де це стоїть на драбині

Є чотири способи змусити модель поводитися так, як потрібно вашому продукту, і кожен наступний різниться приблизно на порядок у вартості, у часі на спробу й у тому, скільки доведеться потім утримувати. Правило, що вберігає команди від халепи, просте: не піднімайтеся на щабель, з якого вас не зіштовхнули. Більшість проєктів, які взялися за fine-tuning рано, згодом виявляють, що кращий промпт і крок пошуку дали б той самий результат за пів дня.

Є чотири способи змусити модель поводитися так, як потрібно продукту, і кожен коштує приблизно на порядок більше за попередній — у часі, грошах і в тому, що доведеться потім утримувати. Промптинг змінюється за хвилини й лагодить формат, тон і більшість поведінки. Пошук будується за дні й лишається єдиним способом дати моделі факти, які можна цитувати, оновлювати й обмежувати за користувачем. Fine-tuning забирає тижні, більшість яких іде на побудову набору даних, і переносить сталу поведінку у ваги. Продовжене передтренування забирає місяці й серйозний бюджет і лишається для галузі, чиєю мовою базова модель не говорить. Пунктир позначає щабель, на який більшість команд піднімається зарано.
  • Промптинг

    Хвилини на зміну, нічого утримувати. Лагодить формат, тон і більшість поведінки. Коштує токенів входу на кожному виклику — назавжди.

  • Пошук

    Дні на побудову. Єдиний спосіб дати моделі факти, які можна цитувати, оновлювати й обмежувати за користувачем.

  • Fine-tuning

    Тижні, переважно на дані. Переносить сталу поведінку у ваги й скорочує кожен наступний промпт.

  • Продовжене передтренування

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

Чим різняться методи

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

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

ПідхідДля чогоЧого коштує
LoRA / адаптериМайже вся продуктова адаптація: формат, тон, галузеве судження, вузька задача, зроблена стабільно.Годин GPU і набору даних. Адаптер малий настільки, що їх можна тримати кілька й перемикати.
Повний fine-tuningВеликий зсув поведінки на багатьох задачах, де адаптери вимірювано не дотягують.Серйозного заліза, цілої моделі для зберігання й обслуговування і справжнього ризику втратити загальні здібності.
Навчання на вподобанняхЯкості, які можна оцінити лише порівнянням: тон, корисність, як і коли відмовляти.Людських порівнянь — повільних і дорогих — і другого етапу навчання.
ДистиляціяВідтворення поведінки великої моделі на одній вузькій задачі всередині малої, дешевої та швидкої.Генерації й перевірки виводів учителя — плюс перевірки, що умови постачальника це дозволяють.
Продовжене передтренуванняГалузь із справді незнайомою лексикою: вузька медицина, право меншою мовою, нові формати.Місяців, великого корпусу й бюджету, який треба затверджувати. Рідко правильна відповідь для продуктової команди.

Набір даних і є проєктом

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

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

Відкладіть частину прикладів до початку й ніколи не навчайтеся на них. Без відкладеного набору ви не відрізните модель, що вивчила задачу, від тієї, що запамʼятала ваші приклади, — а друга виглядає бездоганно на всьому, що ви виміряли. Важливе порівняння — не налаштована модель проти нічого, а налаштована модель проти найкращого промпту, якого ви досягли на базовій, на тих самих відкладених випадках. Якщо розрив малий, ви щойно купили зобовʼязання із супроводу задарма.

Як це виявляється в реальній поставці

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

Обслуговування розпадається на дві дуже різні ситуації. Хостинговий постачальник бере ваш набір даних, повертає ідентифікатор моделі — і решта вашого коду не змінюється: ви платите надбавку за токен, і на цьому все. Самостійний хостинг моделі з відкритими вагами й вашим адаптером дає контроль над резидентністю даних і собівартістю на великих обсягах — і віддає вам у руки парк GPU з плануванням потужностей, пакетуванням, компромісами квантизації та черговими змінами. Другий шлях — це зобовʼязання щодо платформи, а не крок розгортання, і це варто назвати вголос до того, як рішення ухвалиться саме собою.

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

Де це вироджується

  • Fine-tuning до серйозної спроби промптингу й пошуку, яких зазвичай вистачило б.
  • Навчання на документах, щоб дати факти: виходять плавні відповіді з тихо хибними деталями.
  • Відсутність відкладеного набору: запамʼятаний набір не відрізнити від вивченої задачі.
  • Порівняння налаштованої моделі ні з чим замість найкращого промпту на базовій моделі.
  • Непослідовні мітки: вони вчать модель бути непослідовною саме в цих місцях.
  • Чисті навчальні дані для неохайного бойового вводу: перший же кривий запит поводиться непередбачувано.
  • Відсутність плану й власника перенавчання: модель лишається прикріпленою до бази, на якій ніхто не хоче бути.

Коли це застосовувати

Застосовуйте, коли

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

Уникайте, коли

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

Було корисно?

Поділіться з тим, хто працює над тією ж задачею.