Дообучение (Fine-Tuning) открытой LLM под задачи заказчика

Вы обучили LLM на своём датасете. А модель галлюцинирует коды МКБ-10? Fine-tuning открытой LLM — способ превратить общую модель в специалиста вашего домена. Мы дообучаем модели с полным контролем над данными. Вы владеете весами. Разворачиваете on-premise. Масштабируете инференс без платы за токены.

Направления AI-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1439
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    997
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1264
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1001

Вы обучили 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

Стратегия:

  1. Конвертация клинических рекомендаций в chunks
  2. Синтетическая генерация 3200 примеров через GPT-4o (жалобы → диагностика)
  3. Верификация 15% выборки практикующими терапевтами
  4. 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. Получите консультацию для вашей задачи: подберём стратегию и оптимизируем бюджет. Закажите оценку проекта сейчас.