Techsy
Контакти
Розпочати
Назад до блогу
ai-machine-learning

Як донавчити LLM: методи, фреймворки та покроковий код [2026]

Автор Mert Batur Gürbüz
Mar 17, 2026
16 хв на читання
Зміст
Як донавчити LLM: методи, фреймворки та покроковий код [2026]

Донавчання LLM означає взяти попередньо навчену модель і донавчити її на ваших специфічних даних, щоб вона виконувала ваше завдання краще, ніж це можливо досягти будь-яким промптом. Бар'єр входу впав: QLoRA + Unsloth тепер дозволяють донавчити модель на 8 мільярдів параметрів на споживчій відеокарті з 12 ГБ пам'яті за ціною менше $1 у хмарі.

Цей гайд охоплює повний шлях: коли варто донавчати (на відміну від RAG або інженерії промптів), який метод і фреймворк обрати, як підготувати датасет, готовий до копіювання приклад для Llama 3, реальні сценарії витрат та розгортання.

До навчання в двох словах

Перш ніж ви до чогось прив'яжетеся, ось коротка картина:

АтрибутДеталі
Що це такеНавчання попередньо навченої LLM на даних, специфічних для завдання, для покращення продуктивності
Коли використовуватиКоли інженерії промптів та RAG недостатньо для вашого випадку використання
Найпопулярніший методQLoRA (4-бітне квантоване LoRA), обслуговує 90% випадків донавчання на споживчих GPU
Найшвидший фреймворк (2026)Unsloth (у 2-5 разів швидше, на 70% менше VRAM порівняно зі стандартним навчанням)
Мінімальне обладнанняGPU з 12 ГБ VRAM (RTX 3060) з QLoRA
Най дешевший хмарний варіант~$0.34/год на RunPod (RTX 4090)
Розмір датасету100-10 000 прикладів (рекомендовано 500+ для продакшену)
Час навчання30 хв - 8 год залежно від розміру моделі та датасету
Найкращі базові моделі (2026)Llama 3.x, Qwen 2.5, Mistral, Gemma 2, Phi-4
Ключовий ризикКатастрофічне забування (модель втрачає загальні знання)
АльтернативаRAG для пошуку знань, інженерія промптів для простих завдань

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

Коли слід донавчати LLM? (порівняно з RAG та інженерією промптів)

Це питання, яке більшість розробників пропускають, і воно коштує їм тижнів марно витрачених зусиль. Донавчання є потужним інструментом, але воно не завжди є правильним вибором. Ось框架 для прийняття рішення.

ПідхідНайкраще, колиОбмеженняВартість
Інженерія промптівПросте форматування, зміна тону, працюють few-shot прикладиОбмежено контекстним вікном, нестабільно на складних завданняхБезкоштовно (лише витрати на API)
RAGВам потрібно запитувати зовнішні або часто змінювані знанняЯкість пошуку варіюється, додає затримкуПомірна (витрати на векторну БД + ембедінги)
ДонавчанняВам потрібна стабільна поведінка, мова, специфічна для домену, або суворе дотримання форматуПотребує даних для навчання, ризик катастрофічного забуванняЧас GPU + підготовка датасету
Гібрид (RAG + Донавчання)Вам потрібна спеціалізована поведінка І зовнішні знанняНайскладніше будувати та підтримуватиКомбінована

Рішення зводиться до того, що саме ви хочете змінити. Ось реальні сценарії:

СценарійРекомендований підхідЧому
Бот служби підтримки зі знаннями продуктуRAGЗнання часто змінюються, промпти обробляють тон
Медичне кодування з відповідністю ICD-10ДонавчанняСуворі вимоги до формату, термінологія, специфічна для домену
Корпоративний асистент з даними компанії + специфічний тонГібридПотрібен як пошук, так і стабільна поведінка
Надійне форматування виводу JSONДонавчанняДешевше і надійніше, ніж боротьба з промптами
Чат-бот, який говорить як ваш брендДонавчанняЗміни поведінки та стилю потребують оновлення ваг

Якщо ви обираєте правильний AI-стек для свого SaaS, ця схема прийняття рішень є першим кроком. Багато команд будують складні конвеєри RAG, коли донавчання на 500 прикладах дало б їм більш стабільні результати з меншою затримкою.

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

Як працює донавчання LLM? Повне проти LoRA проти QLoRA

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

Повне донавчання (коли бюджет не обмежений)

Повне донавчання оновлює кожен параметр у моделі. Воно дає найкращі можливі результати, але вимагає колосальних ресурсів: приблизно 100+ ГБ VRAM для моделі на 7B параметрів (вам потрібно одночасно зберігати модель, стани оптимізатора та градієнти). Це територія кластерів H100. Якщо ви не в добре фінансованій лабораторії, пропустіть цей етап.

LoRA: Революція PEFT

LoRA (Low-Rank Adaptation) заморожує базову модель і додає невеликі матриці, що навчаються, які називаються адаптерами. Замість прямого оновлення масивної матриці ваг W, LoRA розкладає оновлення на дві маленькі матриці A і B, де ранг r значно менший за розмірність моделі. Результат: ви навчаєте приблизно 1-2% оригінальних параметрів, зберігаючи 98-99% якості повного донавчання.

Стандартною реалізацією є бібліотека peft від Hugging Face. Адаптери LoRA зазвичай займають 50-200 МБ, що є крихтою порівняно з повною моделлю.

QLoRA: Донавчання для всіх

QLoRA робить крок далі за LoRA. Він завантажує базову модель у 4-бітній точності, використовуючи спеціальний тип даних NormalFloat4 (NF4), а потім застосовує адаптери LoRA поверх них. 4-бітне квантування скорочує використання VRAM ще на ~25% порівняно зі стандартним LoRA, зберігаючи майже ідентичну якість.

Саме це робить донавчання доступним. Модель на 7B параметрів, яка потребує 100+ ГБ для повного донавчання, поміщається у 12 ГБ з QLoRA.

МетодVRAM (модель 7B)Якість порівняно з базоюШвидкість навчанняРозмір адаптераВаріант використання
Повне донавчання100+ ГБНайкращаНайповільнішаПовна модель (~14 ГБ)Підприємства з кластерами H100
LoRA~16 ГБ98-99% від повногоУ 2 рази швидше~50-200 МБКоманди з A100/RTX 4090
QLoRA~12 ГБ97-99% від повногоНайшвидша (з Unsloth)~50-200 МБСоло-розробники, споживчі GPU

Вердикт: Для 90% розробників правильним вибором є QLoRA. Різниця в якості порівняно з повним донавчанням є незначною для більшості завдань, а економія на обладнанні — колосальна. Почніть з цього і масштабуйтеся лише тоді, якщо ваші метрики оцінки вимагають цього.

Який фреймворк для донавчання обрати у 2026 році?

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

ФреймворкЗірки на GitHubШвидкістьНайкраще дляПідтримка моделейКрива навчання
Unsloth54K+У 2-5 разів швидшеШвидкість на одному GPU, QLoRALlama, Mistral, Qwen, Gemma, PhiНизька
LLaMA-Factory68K+БазоваНайширша підтримка моделей, веб-інтерфейс100+ моделейНизька (GUI)
TRL (Hugging Face)18K+БазоваRLHF/DPO/GRPO, екосистема HFВсі моделі HFСередня
Axolotl11K+БазоваВідтворюваність, кілька GPUОсновні моделіВисока (конфігурація YAML)

Ось коротка рекомендація:

  • Перше донавчання? Використовуйте Unsloth. Найшвидше навчання, найпростіше налаштування, безкоштовні ноутбуки Colab для миттєвого старту.
  • Потрібен веб-інтерфейс без коду? Використовуйте LLaMA-Factory. Його GUI LLaMA-Board дозволяє налаштовувати та запускати навчання з браузера.
  • Займаєтеся вирівнюванням (RLHF, DPO, GRPO)? Використовуйте TRL. Це стандарт Hugging Face для навчання на основі переваг, а версія v0.15.0 (березень 2026) додала нативну підтримку GRPO.
  • Запускаєте продакшен-конвеєри на кількох GPU? Використовуйте Axolotl. Конфігурації на основі YAML роблять експерименти відтворюваними та аудиторськими.

Одна корисна хитрість: Unsloth та LLaMA-Factory можна комбінувати. LLaMA-Factory підтримує Unsloth як бекенд для навчання, що дає вам зручність GUI зі швидкісними оптимізаціями Unsloth. Команди, які будують AI-агентів, що використовують донавчені моделі, часто починають з Unsloth для швидкої ітерації, а потім переходять на Axolotl для відтворюваності в продакшені.

Як підготувати датасет для донавчання?

Якість даних є найбільшим фактором успіху донавчання. Добре підібраний датасет із 500 прикладів майже завжди перевершить шумний датасет із 10 000 прикладів.

Формати датасетів

Двома домінуючими форматами є чат (сумісний з OpenAI) та інструкція (стиль Alpaca). Ось як кожен з них виглядає у форматі JSONL:

Чат-формат (рекомендовано для більшості випадків):

json
{"messages": [{"role": "system", "content": "You are a customer support agent for Acme Inc. Be helpful, concise, and always reference the user's order number."}, {"role": "user", "content": "I ordered a laptop 3 days ago (order #4821) and it still says processing."}, {"role": "assistant", "content": "I can see order #4821 is currently in our warehouse being prepared for shipment. Laptops typically ship within 3-5 business days. You should receive a tracking number by tomorrow. Would you like me to flag this for priority processing?"}]}
{"messages": [{"role": "system", "content": "You are a customer support agent for Acme Inc. Be helpful, concise, and always reference the user's order number."}, {"role": "user", "content": "Can I return my keyboard? Order #3019, bought it last week."}, {"role": "assistant", "content": "Absolutely! Order #3019 is within our 30-day return window. I'll email you a prepaid return label right now. Once we receive the keyboard, your refund will process within 2-3 business days."}]}
{"messages": [{"role": "system", "content": "You are a customer support agent for Acme Inc. Be helpful, concise, and always reference the user's order number."}, {"role": "user", "content": "My monitor arrived cracked. Order #5573."}, {"role": "assistant", "content": "I'm sorry about that! For order #5573, I'm initiating an immediate replacement shipment -- no need to return the damaged unit. The new monitor will ship today with express delivery. You'll get a tracking email within the hour."}]}

Формат інструкцій (стиль Alpaca):

json
{"instruction": "Summarize the following customer complaint in one sentence.", "input": "I've been waiting 2 weeks for my refund and nobody responds to my emails. This is the worst customer service I've ever experienced.", "output": "Customer is frustrated by a 2-week delay in receiving their refund and lack of email response from support."}
{"instruction": "Classify the sentiment of this review.", "input": "The product works fine but shipping took forever.", "output": "Mixed (positive product, negative shipping)"}

Рекомендації щодо розміру датасету

Скільки даних вам дійсно потрібно? Це залежить від складності завдання:

  1. 50-100 прикладів, доказ концепції, достатньо, щоб перевірити, чи допомагає донавчання
  2. 500-1 000 прикладів, корисно для більшості одиночних завдань (класифікація, вилучення, форматування)
  3. 5 000-10 000 прикладів, результати продакшен-якості для складних завдань
  4. 10 000+ прикладів, спадна віддача, якщо ваше завдання не має високої варіативності

Чек-лист якості даних

Перед навчанням перевірте свій датасет за цими критеріями:

  • Узгоджене форматування в усіх прикладах (той самий системний промпт, та сама структура виводу)
  • Різноманітні приклади, що охоплюють крайні випадки та режими збою
  • Відсутність суперечностей (не вчіть модель говорити і «так», і «ні» на один і той самий шаблон вводу)
  • Збалансований розподіл типів виводу (якщо робите класифікацію, не робіть 90% прикладів в одному класі)
  • Видаліть дублікати або майже дублікати

Професійна порада: Використовуйте GPT-4 або Claude для генерації початкових синтетичних даних для навчання, а потім уточніть їх за допомогою людського перегляду. 500 високоякісних синтетичних прикладів часто перевершують 5 000 шумних реальних прикладів. Гайд з донавчання від Meta рекомендує цей підхід для бутстрапінгу датасетів.

Покроково: Донавчення Llama 3 8B з QLoRA та Unsloth

Ось повний покроковий посібник. Кожен блок коду готовий до копіювання, ви можете запустити його у безкоштовному ноутбуці Google Colab або на будь-якій машині з 12+ ГБ VRAM.

Крок 1: Встановлення Unsloth

bash
pip install unsloth

Це все. Unsloth автоматично обробляє всі залежності (transformers, peft, trl, bitsandbytes).

Крок 2: Завантаження базової моделі у 4-бітному режимі

python
from unsloth import FastLanguageModel

# Load Llama 3.1 8B in 4-bit quantization
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="unsloth/Meta-Llama-3.1-8B-bnb-4bit",
    max_seq_length=2048,
    load_in_4bit=True,
)

Це завантажує 4-бітну квантовану модель (~4 ГБ) і завантажує її в пам'ять GPU. На RTX 3060 (12 ГБ) у вас буде достатньо запасу для навчання.

Крок 3: Налаштування адаптерів LoRA

python
# Add LoRA adapters to the model
model = FastLanguageModel.get_peft_model(
    model,
    r=16,                # LoRA rank -- 16 is the sweet spot for most tasks
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
                     "gate_proj", "up_proj", "down_proj"],
    lora_alpha=16,       # Scaling factor (usually equal to r)
    lora_dropout=0,      # Unsloth optimizes for 0 dropout
    bias="none",
)

З r=16 ви навчаєте приблизно 40 мільйонів параметрів із 8 мільярдів, менше 0,5% моделі. У цьому магія LoRA.

Крок 4: Завантаження вашого датасету

python
from datasets import load_dataset

# Load your JSONL dataset from Hugging Face Hub or local file
dataset = load_dataset("json", data_files="train.jsonl", split="train")

# Format into chat template
def format_chat(example):
    text = tokenizer.apply_chat_template(
        example["messages"],
        tokenize=False,
        add_generation_prompt=False,
    )
    return {"text": text}

dataset = dataset.map(format_chat)

Це бере чат-формат JSONL з попереднього розділу і застосовує шаблон чату Llama 3. Токенізатор обробляє всі спеціальні токени (<|begin_of_text|>, <|eot_id|> тощо).

Крок 5: Налаштування та запуск навчання

python
from trl import SFTTrainer
from transformers import TrainingArguments
from unsloth import is_bfloat16_supported

trainer = SFTTrainer(
    model=model,
    train_dataset=dataset,
    dataset_text_field="text",
    max_seq_length=2048,
    args=TrainingArguments(
        per_device_train_batch_size=2,
        gradient_accumulation_steps=4,    # Effective batch size = 8
        warmup_steps=5,
        max_steps=60,                     # Adjust based on dataset size
        learning_rate=2e-4,               # Standard for QLoRA
        fp16=not is_bfloat16_supported(),
        bf16=is_bfloat16_supported(),
        logging_steps=1,
        output_dir="outputs",
        seed=42,
    ),
)

# Start training
trainer.train()

Ключові гіперпараметри для розуміння:

  • Швидкість навчання (2e-4): Стандарт для QLoRA. Зменште до (2e-5), якщо помітите, що модель забуває загальні можливості.
  • Розмір батча (2) x накопичення градієнтів (4): Ефективний розмір батча 8. Збільште gradient_accumulation, якщо на вашому GPU закінчиться пам'ять.
  • max_steps (60): Для 500 прикладів це приблизно 1 епоха. Почніть з 1-3 епох і стежте за валідаційною втратою.
  • Ранг r (16): Нижчий (4-8) для простих завдань, вищий (32-64) для складних завдань. 16 — безпечний варіант за замовчуванням.

Крок 6: Збереження та тестування

python
# Save the LoRA adapters (small -- ~50-200 MB)
model.save_pretrained("my-fine-tuned-model")
tokenizer.save_pretrained("my-fine-tuned-model")

# Quick inference test
FastLanguageModel.for_inference(model)
inputs = tokenizer(
    [tokenizer.apply_chat_template(
        [{"role": "user", "content": "I need to return order #7742"}],
        tokenize=False,
        add_generation_prompt=True,
    )],
    return_tensors="pt",
).to("cuda")

outputs = model.generate(**inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Це весь конвеєр. На RTX 4090 з Unsloth навчання 500 прикладів займає приблизно 15-30 хвилин. На безкоштовному Colab T4 очікуйте 1-2 години.

А як щодо донавчання через API? (OpenAI, Google, Mistral)

Не всі хочуть керувати GPU. Постачальники API дозволяють донавчати через простий процес завантаження та навчання. Ось як вони порівнюються з самостійним запуском.

ПостачальникМоделіМін. прикладівВартість (1 000 прикладів)Завантажити ваги?Конфіденційність даних
OpenAIGPT-4o, GPT-4o-mini10~$3-25НіДані можуть використовуватися для навчання
Google Vertex AIGemma, Gemini100~$5-30Тільки GemmaКонтроль GCP
Mistral (La Plateforme)Моделі Mistral100~$4-20НіРезиденція даних в ЄС
Together AIВідкриті моделі (Llama тощо)50~$2-15Так (відкриті моделі)Дані не зберігаються
Локально (Unsloth/LLaMA-Factory)Будь-яка відкрита модель1Тільки вартість GPU ($0-27)Так (ви володієте всім)Повна конфіденційність

Коли донавчання через API має сенс: Вам потрібно швидко ітерувати, ваш датасет маленький, ви не хочете керувати інфраструктурою або вам конкретно потрібна закрита модель, як-от GPT-4o.

Коли локальне донавчання виграє: Важлива конфіденційність даних (охорона здоров'я, фінанси, право), ви навчаєте часто, ви хочете володіти вагами та експортувати їх, або ви оптимізуєте витрати в масштабі.

Вердикт: Донавчання через API — найшвидший шлях до доказу концепції. Локальне донавчання — найдешевший шлях до продакшену. Більшість команд прототипують через API, а потім переходять на локальний Unsloth, коли підхід підтверджено.

Скільки коштує донавчити LLM?

Наратив «донавчання дороге» застряг у 2023 році. Ось скільки це коштує сьогодні.

СценарійМодельМетодGPUЧас навчанняЗагальна вартість
Хобі / НавчанняLlama 3 8BQLoRAВласна RTX 3060 (12 ГБ)2-4 год$0 (електрика)
Безкоштовна хмараLlama 3 8BQLoRAGoogle Colab T4 (безкоштовно)3-5 год$0
СтартапLlama 3 8BQLoRA + UnslothRunPod RTX 4090 ($0.34/год)1-2 год$0.35-0.70
ПродакшенLlama 3 70BQLoRARunPod A100 80GB ($3.39/год)5-8 год$17-27
ПідприємствоLlama 3 70BПовне донавчання4x H100 ($13.56/год)20-40 год$270-540
API (без GPU)GPT-4o-miniOpenAI APIН/Д~30 хв$3-25

Крива витрат швидко вирівнюється. Стартап, який донавчає модель 8B на RunPod, витрачає на навчання менше, ніж на одну чашку кави. Навіть сценарій продакшену з 70B коштує менше $30 — це місячний бюджет на обід молодшого розробника.

Хмарні постачальники GPU, які варто порівняти: RunPod (найкращі спотові ціни), Lambda (надійні H100 on-demand), Vast.ai (найдешевші, але якість варіюється) та Modal (serverless, оплата за секунду).

"VRAM Requirements by Model Size and Method"

"QLoRA slashes VRAM from 100 GB to 12 GB for 7B models, and from 560 GB to 48 GB for 70B -- making consumer GPUs viable for fine-tuning."
Таблиця даних
"VRAM Requirements by Model Size and Method"
"Model Size""Full Fine-Tune""LoRA""QLoRA"
"7B"1001612
"13B"2003224
"70B"5608048

Графік вище показує, чому QLoRA змінив гру. Модель на 7B, яка вимагала мульти-GPU кластера для повного донавчання, тепер поміщається на GPU ноутбука. Модель на 70B переходить з категорії «тільки хмара» на один A100.

Вердикт: Ви можете донавчити модель 8B продакшен-якості менше ніж за $1. Бар'єр витрат на донавчання зник. Реальною вартістю є час підготовки датасету.

Як оцінити донавчену модель?

Навчання — це лише половина роботи. Без належної оцінки ви не можете сказати, чи ваша донавчена модель дійсно покращилася, чи вона просто запам'ятала ваші дані для навчання.

Автоматизовані метрики

Відстежуйте ці показники під час та після навчання:

  • Втрати при навчанні / перплексія: Мають стабільно знижуватися, а потім виходити на плато. Якщо вони падають майже до нуля, ви перенавчаєтеся.
  • Метрики, специфічні для завдання: Точність (класифікація), BLEU/ROUGE (резюмування), точний збіг (вилучення), F1 (мультилейбл). Обирайте метрику, яка відповідає вашому завданню.

Людська оцінка

Цифри не охоплюють усього. Для генеративних завдань:

  • A/B тестування: Покажіть вивід базової моделі та донавченої пліч-о-пліч. Попросіть 3-5 оцінювачів обрати кращу відповідь серед 50+ прикладів. Відстежуйте відсоток перемог.
  • Оцінка за шкалою Лікерта: Оцініть вивід за релевантністю (1-5), точністю (1-5) та тоном (1-5). Розрахуйте середнє покращення порівняно з базовою моделлю.

Перевірка на катастрофічне забування

Це те, що більшість розробників пропускають. Після донавчання запустіть свою модель на загальному бенчмарку, такому як MMLU або HellaSwag. Якщо бали впали більш ніж на 2-3 пункти, ваша модель втратила занадто багато загальних знань. Рішення: знизьте швидкість навчання, зменшіть кількість епох або перейдіть на LoRA (яке заморожує базові ваги).

Практичне правило: Завжди залишайте 10-20% вашого датасету як тестовий набір. Ніколи не оцінюйте на даних навчання, це нічого не скаже вам про продуктивність у реальному світі.

Як розгорнути донавчену модель?

Навчання завершено. Тепер вам потрібно її обслужити. Більшість гайдів повністю пропускають цю частину.

Крок 1: Об'єднання адаптерів LoRA

Якщо ви використовували LoRA або QLoRA, об'єднайте адаптери назад у базову модель для висновку:

python
# Merge adapters into base model
model.merge_and_unload()
model.save_pretrained("merged-model")
tokenizer.save_pretrained("merged-model")

Крок 2: Виберіть шлях розгортання

Локальна розробка та тестування, Ollama:

bash
# Convert to GGUF format (Ollama's native format)
python llama.cpp/convert_hf_to_gguf.py merged-model --outfile model.gguf --outtype q4_k_m

# Create an Ollama model
ollama create my-fine-tuned-model -f Modelfile
ollama run my-fine-tuned-model

Обслуговування в продакшені, vLLM:

bash
# Start an OpenAI-compatible API server
python -m vllm.entrypoints.openai.api_server \
    --model merged-model \
    --host 0.0.0.0 \
    --port 8000

Serverless (нульова інфраструктура): Завантажте свою модель на Together AI, Fireworks або Modal. Ви отримаєте кінцеву точку API без керування серверами. Вартість масштабується з використанням.

Просунутий рівень: Обслуговування з кількома адаптерами

Ось шаблон, який більше команд повинні використовувати: тримайте одну базову модель завантаженою в пам'ять і міняйте адаптери LoRA для кожного запиту. Ви могли б обслуговувати адаптер служби підтримки, адаптер перевірки коду та адаптер резюмування, все з одного GPU. vLLM підтримує це нативно з прапорцем --enable-lora.

Готові до впровадження? Дивіться наш матеріал Найкращі інструменти та платформи для донавчання LLM [скоро] для глибшого порівняння варіантів розгортання.

Які найпоширеніші помилки при донавчанні?

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

1. Перенавчання на малих датасетах. Ви навчаєте протягом 10 епох на 200 прикладах, втрати при навчанні сягають майже нуля, і модель дослівно повторює ваші дані для навчання. Рішення: максимум 1-3 епохи, використовуйте валідаційний набір і стежте за різницею між втратами при навчанні та оцінкою.

2. Катастрофічне забування. Модель чудово виконує ваше конкретне завдання, але більше не може підтримувати базову розмову. Рішення: використовуйте LoRA/QLoRA (заморожує базові ваги), тримайте швидкість навчання низькою (2e-5 для повного донавчання, 2e-4 для QLoRA) та оцінюйте на загальних бенчмарках перед розгортанням.

3. Погана якість даних. Непослідовне форматування, суперечності між прикладами або дублікати. Модель вчить шум. Рішення: очищайте свої дані перед навчанням. Завжди. Витрачайте більше часу на курацію даних, ніж на налаштування гіперпараметрів.

4. Початок з надто великої моделі. Команди стрибають на 70B, тому що «більше краще», а потім не можуть дозволити собі витрати на GPU. Рішення: почніть з 8B. Якщо 8B з хорошими даними не може вирішити ваше завдання, 70B з тими ж даними, ймовірно, також не зможе. Спочатку масштабуйте якість даних, потім розмір моделі.

5. Відсутність конвеєра оцінки. Навчання без виділеного тестового набору, а потім розгортання на основі «відчуттів». Рішення: розділіть свої дані 80/10/10 (навчання/валідація/тест) перед початком. Порівнюйте з базовою моделлю на кожному тестовому прикладі.

6. Занадто висока швидкість навчання. Руйнує попередньо навчені знання в перші кілька кроків. Модель видає нісенітниці. Рішення: почніть з 2e-4 для QLoRA, 2e-5 для повного донавчання. Якщо вивід погіршується, знизьте значення.

Як Techsy підходить до донавчання LLM

У Techsy ми дотримуємося суворого шляху ескалації для кожного AI-проекту: спочатку інженерія промптів, потім RAG, і донавчання лише тоді, коли дані доводять, що воно необхідне. Більшість проектів клієнтів насправді не потребують донавчання, добре продумані промпти або конвеєр RAG вирішують проблему з меншими витратами та складністю.

Коли донавчання є правильним вибором, ось наш процес:

  1. Аудит датасету, Ми перевіряємо дані клієнта на якість, охоплення та форматування. Якщо у нас недостатньо прикладів, ми допомагаємо побудувати синтетичний датасет, використовуючи GPT-4 або Claude з людським переглядом.
  2. Вибір фреймворку, Unsloth + QLoRA для 90% стартап-проектів. Axolotl для клієнтів, яким потрібні відтворювані продакшен-конвеєри на кількох GPU.
  3. Навчання та оцінка, Ми завжди навчаємо з виділеним тестовим набором і проводимо бенчмаркінг порівняно з базовою моделлю. Якщо донавчена модель не покращує цільову метрику вимірювано, ми її не розгортаємо.
  4. Розгортання, vLLM для продакшен-обслуговування, шаблони з кількома адаптерами, коли клієнтам потрібно кілька спеціалізованих моделей з одного GPU.

Ми випустили донавчені моделі для стартапів, які не могли дозволити собі корпоративні бюджети на GPU, QLoRA на RunPod утримує витрати нижче $30 навіть для моделей 70B.

Потрібна допомога з донавченням LLM для вашого випадку використання? Ми допомагаємо командам пройти шлях від сирих даних до розгорнутої моделі. Отримайте безкоштовну консультацію

Часті запитання про донавчання LLM

Що таке донавчання LLM?

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

Коли мені слід донавчати, а коли використовувати RAG?

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

Скільки коштує донавчити LLM?

Від $0 до $540 залежно від масштабу. Більшість індивідуальних розробників витрачають менше $1, використовуючи QLoRA на RunPod RTX 4090 ($0.34/год). Продакшен-модель 70B на A100 коштує $17-27. Повне донавчання на кластерах H100 коштує $270-540. Донавчання через API (OpenAI) коштує $3-25 за 1 000 прикладів.

Чи можу я донавчити LLM на своєму ноутбуці?

Так, якщо у вашому ноутбуці є GPU з 12+ ГБ VRAM. Ноутбучний GPU RTX 3060 обробляє моделі 8B з QLoRA. Mac на Apple Silicon з 16+ ГБ уніфікованої пам'яті також можуть донавчувати через MLX, хоча це повільніше, ніж CUDA. Для більших моделей вам знадобляться хмарні GPU.

У чому різниця між LoRA та QLoRA?

Обидва додають невеликі шари адаптерів, що навчаються, заморожуючи базову модель. Різниця: QLoRA також квантує базову модель до 4-бітної точності (тип даних NF4), зменшуючи використання VRAM на ~25% порівняно зі стандартним LoRA. Якість майже ідентична, QLoRA досягає 97-99% якості повного донавчання.

Скільки прикладів для навчання мені потрібно?

Це залежить від складності завдання. 50-100 прикладів достатньо для доказу концепції. 500-1 000 прикладів дають корисні результати для більшості одиночних завдань. 5 000-10 000 прикладів забезпечують якість продакшену для складних завдань. Понад 10 000 ви досягаєте спадної віддачі, якщо завдання не має надзвичайно високої варіативності.

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

Llama 3.x для загальних завдань (найкраще співвідношення якості/розміру). Mistral для європейських мов та ефективного висновку. Qwen 2.5 для багатомовних завдань та коду. Phi-4, коли вам потрібен найменший можливий слід. Gemma 2 для інтеграції з екосистемою Google.

Що таке GRPO і чому це важливо?

GRPO (Group Relative Policy Optimization), представлений DeepSeek, є наступником RLHF для навчання вирівнювання. Ключова перевага: він не вимагає навчання окремої моделі винагороди, що скорочує обчислювальні витрати приблизно вдвічі. TRL v0.15.0 підтримує GRPO нативно, роблячи його доступним для всіх, хто використовує екосистему Hugging Face.

Як запобігти катастрофічному забуванню?

Використовуйте LoRA або QLoRA замість повного донавчання, вони заморожують ваги базової моделі, що зберігає загальні знання. Тримайте швидкість навчання низькою (2e-4 для QLoRA, 2e-5 для повного). Навчайте стільки епох, скільки потрібно (зазвичай достатньо 1-3). Після навчання запустіть свою модель на загальних бенчмарках (MMLU, HellaSwag), щоб переконатися, що вона не регресувала.

Чи можу я спочатку донавчити, а потім використовувати RAG разом?

Абсолютно, і багато продакшен-систем роблять саме так. Доновчуйте для поведінки та стабільності формату, а потім підключіть RAG для пошуку актуальних знань. Доновчена модель краще використовує отриманий контекст, тому що вона розуміє мову вашого домену та вимоги до виводу.

Скільки часу займає донавчання?

Для більшості проектів від 30 хвилин до 8 годин. Модель 8B з 500 прикладами на Unsloth + RTX 4090 завершується за 15-30 хвилин. Та сама робота на безкоштовному Colab T4 займає 1-2 години. Моделі 70B на A100 займають 5-8 годин. Повне донавчання на мульти-GPU налаштуваннях може зайняти 20-40 годин.

Чи варте воно того API донавчання OpenAI?

Для швидкого прототипування — так. Ви можете завантажити файл JSONL і отримати донавчений GPT-4o-mini за 30 хвилин без налаштування GPU. Для продакшену локальне донавчання зазвичай краще: ви володієте вагами, контролюєте конфіденційність даних, а витрати нижчі в масштабі. Більшість команд починають з API, щоб підтвердити підхід, а потім мігрують на локальне рішення.

Висновок

Донавчання LLM вже не є чорною магією, якою воно було два роки тому. Ось ключові висновки:

  1. Почніть з QLoRA + Unsloth, це обслуговує 90% випадків використання на споживчому обладнанні
  2. Хороші дані перемагають більшу модель щоразу. Витрачайте зусилля на якість датасету, а не на апгрейд GPU.
  3. Бар'єр витрат зник, донавчіть модель 8B менше ніж за $1 на хмарних GPU
  4. Завжди оцінюйте порівняно з базовою моделлю перед розгортанням. Якщо вона не стала вимірювано кращою, не випускайте її.
  5. Спочатку розгляньте RAG, донавчуйте лише тоді, коли вам потрібно, щоб модель поводилася інакше, а не просто знала інші речі

Готові до впровадження? Дивіться наш матеріал Найкращі інструменти та платформи для донавчання LLM [скоро] для детального порівняння фреймворків навчання та варіантів розгортання.

Якщо вам сподобався цей гайд, ознайомтеся з нашим посібником щодо вибору правильного AI-стеку для ширших архітектурних рішень навколо продуктів на базі AI.

Джерела

  • Репозиторій Unsloth на GitHub, фреймворк донавчання зі збільшенням швидкості в 2-5 разів
  • Документація Hugging Face TRL, реалізація SFTTrainer, DPO та GRPO
  • Документація Hugging Face PEFT, LoRA та ефективне за параметрами донавчання
  • Стаття QLoRA (Dettmers et al., 2023) -- дослідження 4-бітного квантування NormalFloat
  • Стаття LoRA (Hu et al., 2021), низькорангова адаптація великих мовних моделей
  • Документація API донавчання OpenAI, робочий процес донавчання через API
  • Ціни на хмарні GPU RunPod, довідник вартості хмарних GPU
  • Документація vLLM, обслуговування LLM у продакшені
  • Гайд Meta з донавчання Llama, офіційні рекомендації з навчання Llama
  • Стаття DeepSeekMath (GRPO), Групове відносне оптимізування політики

Теги

як донавчити llmLoRAQLoRAUnslothгайд з донавчання llmдонавчання великих мовних моделейPEFT

Поділилися статтею

Схожі статті

Більше у категорії ai-machine-learning

ai-machine-learning
Jul 24, 2026

Claude Opus 5 вже тут: інтелект рівня Fable 5 за пів ціни

Anthropic випустив Claude Opus 5 24 липня 2026 року. На Frontier-Bench він більш ніж удвічі перевершує Opus 4.8 і зберігає ціну Opus, але поступається Fable 5 та Mythos 5 у кількох тестах. Ось таблиця бенчмарків, ціни та рекомендація: перейти / почекати / залишитися.

10 min read хв на читання
Читати
ai-machine-learning
Jul 20, 2026

8 найкращих AI API для веб-скрапінгу у 2026 (перевірено на нашому агент-стеку)

Ми протестували 8 AI API для веб-скрапінгу з реальними цінами 2026 року, отриманими через наш власний агент-стек. Firecrawl, Bright Data, ScrapingBee та ще 5 — за готовністю виводу для LLM, антибот-захистом і підтримкою MCP.

9 min read хв на читання
Читати
ai-machine-learning
Jul 20, 2026

Інжиніринг промптів для кодування: 7 шаблонів, які ми щодня використовуємо в Claude Code та Cursor (2026)

Більшість статей про «промпти для AI-кодування» просто дають вам 50 шаблонів для копіювання. Ця стаття навчає 7 шаблонам, які ми використовуємо щодня для керування пайплайном із 16 агентів у Claude Code, із реальними прикладами «до» і «після» для кожного, а також пояснює, де кожен шаблон застосовується в Claude Code, Cursor і Copilot у 2026 році.

11 min read хв на читання
Читати
Переглянути всі публікації
Розпочати проєкт

Готові створити щось щось надзвичайне?

Втілимо ваше бачення в реальність. Наша команда готова допомогти вам створити програмне забезпечення, яке справді має значення.

Записатись на 30-хвилинну дзвінокНаші проєкти

З бібліотеки

Навички Claude

Переглянути всі
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

AI-автоматизації

Переглянути всі
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

З бібліотеки

Навички Claude

Переглянути всі
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

AI-автоматизації

Переглянути всі
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Послуги

  • Корпоративні рішення
  • Мобільні додатки
  • Веб-додатки

Рішення

  • CRM-системи
  • Інтеграція ШІ
  • ERP-розв'язання
  • Голосові аґенти
  • Автоматизація процесів
  • кібербезпека

Бібліотека

  • Блог
  • Портфоліо

Спільнота

  • AI-автоматизації
  • Навички Claude

Інструменти

  • Калькулятор вартості мобільного додатка
  • Калькулятор вартості OpenAI / LLM API
  • Калькулятор вартості MVP
  • Калькулятор вартості голосового AI-агента

Компанія

  • Про нас
  • Партнери
  • Контакти

Юридична інформація

  • Політика конфіденційності
  • Умови використання
  • Політика cookie

Послуги

  • Корпоративні рішення
  • Мобільні додатки
  • Веб-додатки

Рішення

  • CRM-системи
  • Інтеграція ШІ
  • ERP-розв'язання
  • Голосові аґенти
  • Автоматизація процесів
  • кібербезпека

Бібліотека

  • Блог
  • Портфоліо

Спільнота

  • AI-автоматизації
  • Навички Claude

Інструменти

  • Калькулятор вартості мобільного додатка
  • Калькулятор вартості OpenAI / LLM API
  • Калькулятор вартості MVP
  • Калькулятор вартості голосового AI-агента

Компанія

  • Про нас
  • Партнери
  • Контакти
Юридична інформаціяПолітика конфіденційностіУмови використанняПолітика cookie
TECHSY
© 2026 Techsy. Усі права захищені.