Вы обучили LLM на своём датасете. А модель галлюцинирует коды МКБ-10? Fine-tuning открытой LLM — способ превратить общую модель в специалиста вашего домена. Мы дообучаем модели с полным контролем над данными. Вы владеете весами. Разворачиваете on-premise. Масштабируете инференс без платы за токены. Накопленный опыт — более 50 проектов: от классификации до генерации сложных отчётов. QLoRA позволяет экономить до 75% бюджета на вычислительных ресурсах. Оценим ваш проект. Пишите, обсудим детали и подберём стратегию. Получите консультацию по вашему проекту.
Как выбрать базовую модель под задачу?
Выбор базовой модели — критическое решение. Неправильный выбор приводит к переработке на этапе итераций. Мы оцениваем, на каком классе задач модель показывает максимум, и подбираем оптимальный вариант.
| Класс задачи | Рекомендуемые модели | Обоснование |
|---|---|---|
| Классификация, 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. Получите консультацию для вашей задачи: подберём стратегию и оптимизируем бюджет. Закажите оценку проекта сейчас.







