Усі уроки · 44
Шлях 3 · Дорожня карта AI-інженера·Урок 32 з 33

Fine-tuning: коли він справді потрібен

Що таке fine-tuning по суті, чому він потрібен пізніше, ніж прийнято думати, як він співвідноситься з промптингом і RAG, скільки коштує і які дешевші варіанти варто спробувати раніше.

РівеньСереднійЧас~10 хв

Прочитайте спершу: fine-tuning вам, найімовірніше, не потрібен

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

Чому це важливо

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

Що таке fine-tuning насправді

Fine-tuning (донавчання) — це продовження навчання вже попередньо навченої моделі на ваших власних прикладах: її ваги зсуваються в бік вашого завдання. Після цього моделі більше не потрібні ваші приклади в промпті: поведінка вже «зашита» в неї. Так модель засвоює певний стиль поведінки: формат виводу, тон, лаконічний фаховий жаргон, однорідну структуру.

Часта плутанина: fine-tuning — поганий спосіб додати знання. Моделі, донавчені на ваших документах підтримки, усе одно вигадуватимуть деталі про продукт: ваги — це сховище фактів зі втратами. Знання мають жити в RAG, а поведінка — у вагах.

Слова, які ви зустрінете

Слово Що воно означає тут
Ваги (weights) Мільярди чисел усередині моделі, які визначають, як вона поводиться. Fine-tuning злегка підправляє їх.
Попередньо навчена модель (pretrained model) Модель, уже навчена на величезному обсязі тексту. Ви починаєте з неї замість навчання з нуля.
Fine-tuning (донавчання) Додаткове навчання на ваших прикладах, щоб поведінка стала вбудованою і її не доводилося пояснювати наново в кожному промпті.
RAG Пошук: документи шукаються в момент запиту, а знайдені факти кладуться в промпт. Це інструмент для знань; поведінки моделі він не змінює.
LoRA Дешева різновидність fine-tuning: замість оновлення всіх ваг навчається невеликий додатковий шар. Години замість днів, і його можна підключати й відключати.
Дистиляція (distillation) Велика модель генерує навчальні приклади для малої — короткий шлях до дешевої спеціалізованої моделі.
Дрейф (drift) Ваша донавчена модель непомітно погіршується, коли змінюються світ, ваші дані чи базова модель.
Бенчмарк (benchmark) Стандартний публічний іспит для моделей. Корисний для порівняння моделей і майже марний для оцінки вашої власної функції.

Промптинг, RAG і fine-tuning: порівняння

Ці три підходи розв’язують різні проблеми:

Промптинг RAG Fine-tuning
Що змінює Що ви питаєте — цього разу Що модель бачить Як модель поводиться
Підходить для Формату, тону, обмежень Бракуючих, закритих чи змінних фактів Стабільного стилю у великих обсягах
Вартість Хвилини Дні Тижні плюс набір даних
Оборотно? Миттєво Миттєво Ні — тепер ви підтримуєте версію моделі
Застаріває? Ні Ні — документи перечитуються Так: за змін потрібно донавчати знову

Чому він потрібен пізніше, ніж ви думаєте

Майже кожна команда хапається за fine-tuning надто рано, бо він звучить як «справжнє» інженерне рішення. На практиці на драбині ускладнення перед ним стоять інші сходинки:

  • Покращені промпти — чіткіші інструкції, приклади, структура виводу. Розв’язують більше випадків на кшталт «модель не вміє X», ніж прийнято думати.
  • Few-shot-промптинг — покладіть у промпт 3–5 розв’язаних прикладів. Fine-tuning для бідних: коштує токенів, але нічого не змінює назавжди.
  • RAG — якщо проблема в бракуючих чи закритих знаннях, пошук завжди виграє в донавчання.
  • Fine-tuning — лише коли поведінка вже правильна, але її прикро дорого чи повільно виражати промптами. Наприклад, промпт розрісся до тисяч токенів самих прикладів, а затримка й вартість стають болісними у великому масштабі.

Практичне правило

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

Одним реченням: fine-tuning здешевлює те, що вже добре працює.

Шлях ухвалення рішення

Ідіть цими сходинками по порядку й зупиняйтеся на першій, яка розв’язує вашу проблему. Більшість команд далі другої не заходять:

Промптинг → RAG → fine-tuning: зупиніться на першій сходинці, яка працює
→→→→
1. Доопрацюйте промпт

Перепишіть інструкції, додайте структуру, додайте обмеження.

Найдешевше рішення, яке часто спрацьовує. Якщо якість підскочила — СТОП. Ви закінчили; продовжуйте вдосконалювати на цьому ж рівні.

out› витрати: години
1/5

Скільки це коштує

У рахунку три частини, і видно лише першу:

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

Одну альтернативу корисно знати за назвою: дистиляція — велика модель генерує навчальні дані для малої. Так багато команд отримують дешеву, швидку, спеціалізовану модель, не вигадуючи вручну тисячі прикладів. Варто почитати про неї, коли fine-tuning починає здаватися привабливим.

Спробуйте: тверезий аудит перед навчанням

Віддайте це своєму агенту або вставте в чат разом із поточним промптом. Лестити вам відповідь не буде:

Скопіюйте цей промпт: чи потрібен мені fine-tuning насправді?
Ось мій поточний промпт і опис того, що робить моя функція на LLM. Я думаю про
fine-tuning. Постався до цього скептично й відмовляй мене, якщо це помилка.

МІЙ ПРОМПТ:
[ВСТАВТЕ СВІЙ ПРОМПТ]

ЩО ВІН РОБИТЬ:
[один абзац: що це за функція і приблизно скільки запитів на день]

ЩО МЕНЕ НЕ ВЛАШТОВУЄ:
[надто повільно / надто дорого / неправильний формат / неправильні факти / непослідовний тон]

Відповідай у такому порядку:
1. Чого бракує моїй функції: ЗНАНЬ чи правильної ПОВЕДІНКИ? Скажи, чого саме, і
 процитуй рядок мого промпту, через який ти так думаєш. Якщо справа в знаннях,
 зупинися й скажи, що натомість треба покласти у сховище для пошуку.
2. Скільки токенів у моєму промпті і скільки з них — приклади, які ніколи не
 змінюються? Якщо це число невелике, прямо скажи, що fine-tuning поки не вартий
 зусиль.
3. Чи є в мене сотні реальних, перевірених пар «вхід — вихід»? Якщо ні, скажи, що
 знадобиться, щоб їх зібрати.
4. Винеси вердикт: поки ні / можливо / так — і назви ОДНУ річ, з якої мені варто
 почати замість цього.

Не кажи, що fine-tuning — гарна ідея, лише тому, що я про нього запитую.

Перевірте себе

Перевірте себе

Ваш асистент дає неправильні відповіді про продукт, бо ніколи не бачив вашої документації. Що робити?

Коли fine-tuning — правильний хід?

Що зазвичай становить головну вартість fine-tuning?

Як зрозуміти, що донавчена модель себе виправдала?

Що забрати з собою

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

  1. Перепишіть промпт. Години. Спрацьовує частіше, ніж будь-хто очікує.
  2. Додайте пошук, якщо проблема у фактах. Дні. Більшість команд зупиняються тут — назавжди й цілком задоволені.
  3. Спробуйте few-shot — п’ять розв’язаних прикладів у промпті — перш ніж платити за навчання.
  4. Донавчайте лише тоді, коли поведінка вже правильна, а промпт, який її забезпечує, став величезним, повільним і дорогим у великому масштабі. Придивіться до LoRA, щоб рахунок залишався невеликим.
  5. Доведіть оцінками. Той самий золотий набір, ті самі оцінки: донавчена модель має обійти версію на промптах. Якщо не обходить, ви купили підтримку дарма.

Одна фраза, яку варто запам’ятати: fine-tuning здешевлює те, що вже працює, і не лагодить те, що зламано.