Ви навчили LLM на своєму датасеті. А модель галюцинує коди МКБ-10? Fine-tuning відкритої LLM — спосіб перетворити загальну модель на спеціаліста вашого домену. Ми доучуємо моделі з повним контролем над даними. Ви володієте вагами. Розгортаєте on-premise. Масштабуєте інференс без плати за токени. Накопичений досвід — понад 50 проєктів: від класифікації до генерації складних звітів. QLoRA дозволяє економити до 75% бюджету на обчислювальних ресурсах. Типова економія становить від $500 до $5000 на проєкт. Ми гарантуємо якість доучення та надаємо звітність за кожним етапом проєкту. Наша команда має сертифікати та понад 5 років досвіду в NLP. Створіть свій чат-бот на LLM за допомогою fine-tuning. Оцінимо ваш проєкт. Пишіть, обговоримо деталі та підберемо стратегію. Отримайте консультацію щодо вашого проєкту.
Скільки коштує fine-tuning?
Вартість fine-tuning залежить від обсягу даних, складності задачі та необхідних обчислювальних ресурсів. Мінімальний проєкт з готовими даними коштує від $1500. Типовий проєкт з підготовкою даних — $5000–$15000. Складні проєкти можуть досягати $30000. Ми надаємо детальний кошторис на етапі аудиту.
Яка модель краще: LoRA чи повний fine-tuning?
LoRA в 4 рази економніше за пам'яттю, ніж повний fine-tuning, і в 2 рази швидше за часом навчання. Повний fine-tuning дає на 5–15% вищу якість на складних задачах, але потребує в 4 рази більше VRAM. Вибір залежить від вашого бюджету та вимог до точності.
Вибір базової моделі під задачу
Вибір базової моделі — критичне рішення. Неправильний вибір призводить до переробки на етапі ітерацій. Ми оцінюємо, на якому класі задач модель показує максимум, і підбираємо оптимальний варіант.
| Клас задачі | Рекомендовані моделі | Обґрунтування |
|---|---|---|
| Класифікація, NER, структурований вивід | Llama 3.1 8B, Mistral 7B, Phi-4-mini | Достатня якість, швидкий інференс |
| Генерація тексту українською/російською | Qwen2.5-7B/14B, Llama 3.1 8B | Сильна багатомовність |
| Програмування, SQL, code review | Qwen2.5-Coder-32B, DeepSeek-Coder-V2, Phi-4 | Спеціалізовані code моделі |
| Складний reasoning, аналіз | DeepSeek-R1-Distill-32B, Llama 3.1 70B | Високий reasoning, інструкції |
| Edge/offline/мобільні | Phi-4-mini, Qwen2.5-3B, Llama 3.2 3B | Малий розмір, квантизація |
| Мультимодальні задачі | Llama 3.2-Vision, Qwen2-VL, InternVL | Нативна підтримка зображень |
Переваги fine-tuning над RAG
RAG (Retrieval-Augmented Generation) хороший, коли потрібно підтягнути актуальні факти із зовнішнього джерела. Але якщо задача потребує глибокого розуміння доменної логіки, fine-tuning дає більш послідовну якість. Наприклад, у медичній діагностиці модель має точно класифікувати код МКБ-10, а RAG може плутатися через шум у витягнутих документах. Fine-tuning «вшиває» знання прямо у ваги, усуваючи проблему. При цьому LoRA-доучення в 4 рази економніше повного fine-tuning за пам'яттю, що робить його доступним для більшості проєктів.
Синтетична генерація даних
Часто у замовника немає розмічених даних, але є неструктуровані джерела: документи, регламенти, FAQ. Використовуємо GPT-4o або Claude для автоматичної генерації навчальних пар. Це дозволяє отримати тисячі прикладів за дні, а не місяці. Однак важливо верифікувати вибірку вручну — мінімум 10–15% для контролю якості.
from openai import OpenAI
import json
client = OpenAI()
def generate_training_example(document_chunk: str, num_examples: int = 5) -> list:
"""Генерує навчальні пари з фрагмента документа"""
prompt = f"""Ти — експерт зі створення датасетів для навчання мовних моделей.
На основі фрагмента документа нижче створи {num_examples} пар "запитання-відповідь" у форматі JSON.
Запитання мають бути різноманітними: фактичні, аналітичні, практичні.
Відповіді — точними, заснованими тільки на тексті документа.
Документ:
{document_chunk}
Поверни JSON-масив: [{"question": "...", "answer": "..."}]"""
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}],
response_format={"type": "json_object"},
temperature=0.7
)
return json.loads(response.choices[0].message.content)["pairs"]
Типовий проєкт fine-tuning
Фаза 1: Аудит задачі та даних (1–2 тижні)
- Формалізація задачі (класифікація/генерація/витяг)
- Інвентаризація наявних даних, оцінка обсягу та якості
- Вибір базової моделі та методу навчання
Фаза 2: Підготовка даних (2–6 тижнів)
- Збір та агрегація джерел
- Очищення (дублікати, шум, PII)
- Розмітка (ручна/синтетична/комбінована)
- Форматування під chat template
- Train/val/test split (80/10/10)
Фаза 3: Навчання (1–4 тижні)
- Baseline оцінка базової моделі
- Перший запуск LoRA/QLoRA з дефолтними параметрами
- Аналіз training/val loss кривих
- Підбір гіперпараметрів
- Full Fine-Tuning при необхідності
Фаза 4: Оцінка та ітерації (1–3 тижні)
- Автоматичні метрики (F1, BLEU, ROUGE, accuracy)
- LLM-as-judge (GPT-4o або інша сильна модель як суддя)
- Людська оцінка вибірки
- Аналіз failure cases → доопрацювання даних
Фаза 5: Деплой та моніторинг (1–2 тижні)
- Квантизація (опціонально)
- Деплой через vLLM/TGI
- Налаштування моніторингу та A/B тест vs baseline
Що входить в роботу
- Аналіз задачі та даних, формалізація метрик успіху
- Вибір оптимальної базової моделі та методу навчання
- Підготовка даних: збір, очищення, розмітка (вручну або синтетично)
- Навчання з підбором гіперпараметрів, логування в MLflow
- Оцінка: автопілот + LLM-as-judge + контрольна вибірка експертів
- Деплой (vLLM, TGI) та інтеграція у ваш пайплайн
- Документація та навчання команди замовника
Практичний кейс: спеціалізація під телемедицину (з нашої практики)
Задача: асистент для лікарів первинної ланки — диференціальна діагностика за скаргами пацієнта, пропозиція списку обстежень, вибір МКБ-10 коду. Наш клієнт — великий медичний центр.
Вихідні дані:
- 450 клінічних випадків з висновками (з медсистеми, знеособлені)
- Клінічні рекомендації МОЗ України за 12 нозологіями (PDF, 3200 сторінок)
- Довідник МКБ-10
Стратегія:
- Конвертація клінічних рекомендацій у chunks
- Синтетична генерація 3200 прикладів через GPT-4o (скарги → діагностика)
- Верифікація 15% вибірки практикуючими терапевтами
- Fine-tuning Qwen2.5-14B (найкраща українська/російська мова для медтермінології)
Результати (після 4 епох QLoRA, r=32):
- Top-3 accuracy МКБ-10: 71% → 89%
- Повнота списку рекомендованих обстежень (recall vs експерт): 0.62 → 0.84
- Hallucination rate (вигадані препарати/процедури): 24% → 6%
- Latency (vLLM, A100): 1.8с на запит
QLoRA дозволила навчити модель на 1x A100 80GB, що в 4 рази економніше повного fine-tuning. Цей підхід підходить і для ваших задач — зв'яжіться, оцінимо проєкт.
Моніторинг якості в продакшні
Після деплою налаштовуємо безперервний моніторинг:
import mlflow
# Логування передбачень для аналізу дрейфу
with mlflow.start_run():
mlflow.log_metrics({
"avg_response_length": avg_len,
"refusal_rate": refusal_rate,
"latency_p95": latency_p95,
"user_rating_avg": rating_avg,
})
Ознаки деградації моделі: зростання refusal rate, зниження користувацьких оцінок, збільшення частки escalation в downstream системах.
Інфраструктурні вимоги
| Метод | Модель | GPU | VRAM | Час навчання |
|---|---|---|---|---|
| QLoRA | 7B | 1×A100 40GB | 18 GB | 2–6 год |
| QLoRA | 14B | 1×A100 80GB | 35 GB | 4–12 год |
| QLoRA | 70B | 2×A100 80GB | 90 GB | 12–36 год |
| Full FT | 7B | 4×A100 40GB | 120 GB | 8–24 год |
| Full FT | 70B | 8×H100 80GB | 560 GB | 48–120 год |
Терміни повного циклу
Мінімальний проєкт (готові дані, нескладна задача): 3–5 тижнів. Типовий проєкт (підготовка даних з нуля): 8–14 тижнів. Складний проєкт (спеціалізований домен, ітеративна розмітка): 16–24 тижні.
Приклад розподілу трудозатрат (типовий проєкт)
- Аудит і формалізація: 1–2 тижні
- Підготовка даних: 3–6 тижнів
- Навчання та ітерації: 2–4 тижні
- Деплой та супровід: 1–2 тижні
Загальний термін: 8–14 тижнів. Вартість розраховується індивідуально — оцініть ваш проєкт у нас.
Fine-tuning — ключова техніка адаптації LLM. Отримайте консультацію для вашої задачі: підберемо стратегію та оптимізуємо бюджет. Замовте оцінку проєкту зараз. Ми використовуємо MLOps для автоматизації пайплайнів, що дозволяє швидко експериментувати. Навчання нейромережі — один із етапів створення корпоративного AI.







