«Чи варто донавчити модель на наших даних?» — одне з перших запитань, які ставлять бізнес-команди на старті AI-проєкту. Інтуїція зрозуміла: наші дані особливі, отже модель має їх вивчити. На практиці fine-tuning виявляється правильним першим кроком значно рідше, ніж очікують, а хибний вибір марнує місяці. У гайді пояснюємо, що насправді змінює кожен метод адаптації, що кажуть дані досліджень, і пропонуємо процес ухвалення рішення, який можна застосувати до вашого проєкту.

Три важелі — три різні ефекти

Важіль Що змінює Найкраще для Час до першого результату
Промпти (зокрема few-shot) Інструкції й приклади, які модель бачить під час роботи Поведінка, формат, тон, визначення задачі Години
RAG Знання, доступні під час роботи через пошук Факти, документи, дані, що часто змінюються, цитування Від днів до тижнів
Fine-tuning Ваги моделі Стабільний стиль чи формат у масштабі, вузькі навички, менші/дешевші моделі, затримка Тижні

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

Почніть із промптів

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

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

Додайте RAG для знань

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

  • Актуальність. Оновіть документ — і наступна відповідь це відобразить. Донавчена модель заморожена на момент навчання.
  • Цитування. Відповіді можуть посилатися на джерела, що будує довіру й робить помилки перевірюваними.
  • Контроль доступу. Пошук може враховувати права користувача; ваги не можуть «забути» документ для конкретної людини.
  • Видалення. Видалити дані (наприклад, за GDPR) — означає прибрати їх з індексу, а не перенавчати модель.

Дані досліджень теж свідчать на користь пошуку для знань. Дослідження, що порівнювало методи додавання знань, показало: RAG стабільно перевершував fine-tuning без учителя — і для знань, бачених під час навчання, і для цілком нових, а моделям важко вивчати нові факти лише через fine-tuning (Ovadia et al., 2023). Інша робота свідчить, що fine-tuning на нових фактах може посилювати галюцинації, бо модель вчиться впевнено відповідати поза межами реальних знань (Gekhman et al., 2024).

Побудова якісного RAG — окрема дисципліна: чанкінг, ембеддинги, гібридний пошук, переранжування. Див. RAG для бізнесу, ембеддинги та чанкінг і векторні бази даних.

Коли fine-tuning — правильний інструмент

Fine-tuning сильний тоді, коли треба стабільно й дешево змінити поведінку в масштабі:

  • Вузькі задачі з великим обсягом. Класифікація мільйонів тікетів підтримки чи видобування полів з одного типу документів. Донавчена мала модель може зрівнятися з великою універсальною на цій одній задачі за частку вартості й затримки.
  • Суворий стиль чи формат виводу, який промпти й structured outputs не забезпечують надійно, — голос бренду, доменна нотація.
  • Коротші промпти. Якщо кожен запит несе 3000 токенів інструкцій і прикладів, fine-tuning може «вшити» їх у модель.
  • Доменна мова, з якою базова модель справді не справляється: спеціалізована термінологія, мало представлені мови чи діалекти — хоча тут спершу протестуйте сильні багатомовні базові моделі.
  • Дистиляція. Велика модель генерує якісні відповіді, а мала модель донавчається на них для продакшену.
  • Патерни використання інструментів в агентах із фіксованим набором інструментів, коли потрібно, щоб мала модель надійно їх викликала.

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

Методи fine-tuning коротко

Повний fine-tuning оновлює всі ваги. Для великих моделей дорогий і здебільшого непотрібний.

LoRA (Low-Rank Adaptation) заморожує базову модель і навчає невеликі низькорангові матриці, вбудовані в її шари. Для GPT-3 175B LoRA зменшила кількість параметрів, що навчаються, у 10 000 разів, а потребу в пам'яті GPU — утричі за порівнянної якості (Hu et al., 2021). Адаптери — невеликі файли, які можна підміняти під задачу.

QLoRA поєднує LoRA з 4-бітно квантизованою базовою моделлю, що дозволяє донавчити модель на 65 млрд параметрів на одному GPU з 48 ГБ (Dettmers et al., 2023). Саме це робить fine-tuning відкритих моделей практичним на скромному залізі.

Навчання на вподобаннях (RLHF, DPO) вчить модель, яка з двох відповідей краща, замість імітувати одну цільову. Корисне для тону й стилю, але потребує даних про вподобання (Rafailov et al., 2023).

Хмарний fine-tuning від провайдерів моделей (наприклад, fine-tuning OpenAI) бере інфраструктуру на себе, але дає менше контролю. Для моделей з відкритими вагами стандартний шлях — бібліотека Hugging Face PEFT та інструменти на її основі.

Дані: справжня вартість fine-tuning

Обчислення — зазвичай дешева частина. Дорога — дані:

  • Кількість: сотні прикладів можуть зсунути стиль; для надійного виконання задачі типово потрібні тисячі; для складних задач — більше.
  • Якість: кожен приклад має бути саме тим, що ви хочете отримувати від моделі. Неузгоджена розмітка вчить неузгодженості. Перевірка 2000 прикладів — це тижні роботи експерта.
  • Покриття: приклади мають охоплювати граничні випадки, відмови й реальний розподіл вхідних даних.
  • Відкладена оцінка: окремий тестовий набір, на якому ви ніколи не навчаєтеся, плюс ваш наявний набір evals.
  • Супровід: коли змінюються вимоги, ви заново курируєте дані й перенавчаєте.
{"messages": [
  {"role": "system", "content": "Classify the support ticket. Output one label."},
  {"role": "user", "content": "Не можу завантажити акт звірки, кнопка сіра"},
  {"role": "assistant", "content": "documents.export_bug"}
]}

Якщо ви не можете підготувати кілька тисяч прикладів такої якості, fine-tuning, найімовірніше, передчасний.

Комбінування важелів

Методи не виключають один одного. Поширені продакшен-комбінації:

  • Промпти + RAG: стандарт для асистентів зі знаннями, ботів підтримки й внутрішнього пошуку.
  • RAG + донавчена модель: модель донавчена відповідати на основі знайденого контексту в правильному форматі й казати «у документах цього немає» — ідея fine-tuning з урахуванням пошуку, як-от RAFT (Zhang et al., 2024).
  • Велика модель → дистильована мала: прототип на фронтирній моделі з промптами, збір відповідей, потім fine-tuning малої моделі заради вартості й затримки, часто з власним хостингом.
  • Маршрутизація: донавчена мала модель обробляє типові випадки, а невпевнені передаються великій. Див. оптимізація витрат на LLM.

Процес ухвалення рішення

  1. Визначте успіх і зберіть набір для оцінки зі 100+ реальних випадків.
  2. Запромптуйте сильну модель. Виміряйте.
  3. Якщо збої через брак знань → додайте RAG. Виміряйте.
  4. Якщо збої через поведінку чи формат → покращуйте промпти, приклади й structured outputs. Виміряйте.
  5. Якщо якість добра, але вартість чи затримка зависокі за вашого обсягу → розгляньте fine-tuning меншої моделі (дистиляцію). Виміряйте на тому самому наборі.
  6. Якщо якість вийшла на плато на вузькій задачі попри добрі промпти → розгляньте fine-tuning на кураторських даних.

Кожен крок має обґрунтовуватися результатами evals, а не інтуїцією. Нові релізи моделей також зсувають базову лінію: fine-tune, що перевершував торішню базову модель, може програти цьогорічній з добрим промптом — див. як обрати LLM.

FAQ

Чи можна донавчити модель на всіх документах компанії, щоб вона їх «знала»? Технічно так, але це найменш ефективний спосіб дати моделі знання: погане пригадування конкретних фактів, жодних цитат, жодних оновлень без перенавчання. Використовуйте RAG.

Чи потрібен fine-tuning для української мови? Зазвичай ні. Сильні комерційні й відкриті багатомовні моделі добре працюють з українською. Fine-tuning може допомогти для специфічного доменного стилю або для малих моделей.

Скільки коштує fine-tuning? LoRA на відкритій моделі на 7–14 млрд параметрів може коштувати від десятків до сотень доларів GPU-часу. Підготовка даних і оцінювання зазвичай коштують значно більше людського часу.

Чи допомагає fine-tuning проти галюцинацій? Він може навчити модель відмовлятися або триматися наданого контексту, але fine-tuning на нових фактах може посилювати галюцинації. Опора на RAG і верифікація надійніші.

Джерела

  1. Lewis et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks.
  2. Ovadia et al. (2023). Fine-Tuning or Retrieval? Comparing Knowledge Injection in LLMs.
  3. Gekhman et al. (2024). Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations?
  4. Hu et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models.
  5. Dettmers et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs.
  6. Rafailov et al. (2023). Direct Preference Optimization; Zhang et al. (2024). RAFT: Adapting Language Model to Domain Specific RAG.
  7. OpenAI. Fine-tuning guide; Hugging Face. PEFT.