Все статьи
обновлено 9 мин

Кастомизация Llama под свой бизнес: LoRA fine-tuning без боли

Когда стандартного RAG не хватает: как дообучить open-source модель на ваших данных. Метод LoRA, требования к данным и железу, реальные результаты по точности.

fine-tuninglorallamaself-hosted-aiagmindкастомизация

В большинстве корпоративных задач RAG (Retrieval-Augmented Generation) даёт точность 90-95% — модель отвечает по документам, найденным в векторной базе. Но в специфичных доменах (узкоспециальная медицина, нестандартная юриспруденция, технический жаргон отрасли) RAG упирается в потолок: модель находит правильный чанк, но интерпретирует его неточно из-за непонимания доменной лексики.

Решение — fine-tuning базовой модели на ваших данных. В 2026 году это делается через LoRA (Low-Rank Adaptation): не переобучается вся модель, а добавляются небольшие «адаптеры» в нужные слои. Стоит дешевле, делается быстрее, обновления базовой модели не ломают вашу работу.

Чем fine-tuning отличается от RAG

RAG: модель остаётся базовой, в момент запроса ей подаются релевантные документы как контекст.

  • Плюсы: данные не «запекаются» в модель — обновляются мгновенно через переиндексацию
  • Минусы: модель не «понимает» доменную лексику, иногда формулирует ответы неточно

Fine-tuning: модель дообучается на ваших примерах «вопрос-ответ» и переписывается с учётом ваших данных.

  • Плюсы: модель становится экспертом в вашем домене, лучше использует терминологию
  • Минусы: дольше готовится, при обновлении базовой модели нужно переучивать (LoRA это упрощает)

Гибрид (стандарт 2026): fine-tuned модель + RAG. Fine-tuning даёт понимание языка, RAG — конкретные факты. Самая мощная связка.

Когда нужен fine-tuning

Не нужен если:

  • RAG даёт точность 90%+ на ваших задачах
  • Вы только начинаете работать с AI и хочется быстрого старта
  • Команда меньше 50 человек

Нужен если:

  • Узкоспециализированный домен (узкие медицинские специальности, патентное право, специфические технические области)
  • AI-ассистент для customer-facing работы где стиль важен
  • Большие команды с регулярной нагрузкой и измеримыми потерями от 5-10% точности
  • RAG упёрся в плато при качественных данных и хорошем эмбеддере

LoRA в двух предложениях

LoRA — Low-Rank Adaptation. Вместо обновления всех весов модели (которых десятки миллиардов), мы добавляем «адаптерные» слои — пары матриц низкого ранга (rank=8-32 обычно), которые корректируют выходы существующих слоёв. Обучаются эти адаптеры быстро (часы вместо дней), занимают мало места (10-100 MB вместо десятков GB), и могут активироваться/деактивироваться без перезагрузки модели.

Для практики: LoRA-fine-tuning Llama 3.3 70B возможен на одном RTX 4090 / DGX Spark за 4-8 часов на хорошо подготовленном датасете.

Что нужно для fine-tuning

1. Размеченные данные

Минимум 500-1000 пар «запрос — идеальный ответ» из вашего домена.

Хорошие источники данных:

  • Архив переписки специалистов с клиентами (если разрешено по compliance)
  • База FAQ с экспертно-проверенными ответами
  • Записи разрешённых тренингов и обучений
  • Внутренние мануалы с примерами решения задач

Плохие источники:

  • Случайные сэмплы из интернета
  • Противоречивые ответы разных экспертов
  • Мало или слишком кратко (1-2 предложения каждый)

2. Качество > количество

500 высококачественных пар лучше чем 5000 средних. Выбросы и дубликаты ухудшают результат.

Чек-лист качества:

  • Запрос реалистичный (как в реальной работе, а не «что такое Х» учебнички)
  • Ответ полный, структурированный, с обоснованием
  • Стиль соответствует тому что вы хотите от модели
  • Нет противоречий между похожими парами

3. Железо

Для LoRA-fine-tuning Llama 3.3 70B:

  • 1x A100/H100 80GB или 1x DGX Spark — оптимум
  • 1x RTX 4090 (с QLoRA — quantized LoRA) — впритык, медленнее но возможно
  • Не подходит: GPU с <24 GB VRAM

4. Время

  • Подготовка датасета (самое долгое): 1-3 недели работы эксперта на разметку
  • Обучение модели: 4-12 часов
  • Тестирование и итерации: 1-2 недели

Полный цикл: 4-6 недель от старта до production.

Pipeline fine-tuning’а

Шаг 1: сбор сырых данных

Из всех источников собирается raw-датасет — пары «запрос-ответ» с метаданными (автор, дата, оценка качества).

Шаг 2: фильтрация

Из raw-датасета убираются:

  • Дубликаты
  • Слишком короткие/длинные ответы
  • Низкокачественные пары
  • Противоречивые ответы (если есть несколько ответов на одинаковый запрос — оставляем лучший)

Шаг 3: форматирование

Каждая пара приводится к формату для обучения. Для chat-моделей (Llama 3.3, Qwen) это:

[INST] {запрос} [/INST]
{ответ}

С system-prompt’ом который определяет роль модели:

[INST] <<SYS>>
Ты эксперт-юрист с 15 годами опыта. Отвечай чётко, со ссылками на нормы права.
<</SYS>>

{запрос} [/INST]
{ответ}

Шаг 4: разделение

Датасет делится на train (90%) и validation (10%). Validation используется чтобы отслеживать переобучение.

Шаг 5: обучение

Запуск LoRA-fine-tuning. Стандартные гиперпараметры:

  • Rank: 16
  • Alpha: 32
  • Learning rate: 2e-4
  • Epochs: 3-5
  • Batch size: 4 (с gradient accumulation)
  • Target modules: q_proj, v_proj, k_proj, o_proj (attention слои)

Через 4-12 часов получаем готовый LoRA-адаптер размером 50-200 MB.

Шаг 6: оценка

Тест-сет из 50-100 пар не из train-датасета. Сравнение качества:

  • Базовая модель (без fine-tuning)
  • Fine-tuned модель (с LoRA)

Метрики:

  • Accuracy на конкретных вопросах
  • Quality по экспертной оценке (5-балльная шкала)
  • Стилистическое соответствие

Шаг 7: deploy

LoRA-адаптер подгружается к базовой модели в vLLM/TGI. Активация при запросе к domain-specific агенту:

agent_doctor: использует Llama 3.3 + lora_medical_v3
agent_lawyer: использует Llama 3.3 + lora_legal_v2  
agent_general: использует базовую Llama 3.3 без LoRA

Можно держать несколько LoRA-адаптеров одновременно — каждый агент использует свой.

Реальные результаты

Кейс 1: юридическая фирма (договорная практика)

  • База: 1500 пар «запрос юриста — ответ старшего партнёра»
  • Базовая Llama 3.3 70B accuracy: 78%
  • Fine-tuned + RAG accuracy: 92%
  • Прирост: +14 процентных пункта

Кейс 2: медицинская диагностика (один профильный центр)

  • База: 800 пар «симптомокомплекс — дифдиагностика»
  • Базовая Qwen 3 accuracy: 71%
  • Fine-tuned + RAG accuracy: 89%
  • Прирост: +18 пунктов

Кейс 3: customer support узкого SaaS-продукта

  • База: 600 пар «вопрос пользователя — ответ эксперта поддержки»
  • Базовая Llama 3.3 70B accuracy: 84%
  • Fine-tuned + RAG accuracy: 94%
  • Прирост: +10 пунктов

В среднем fine-tuning даёт +10-18 пунктов точности на доменных задачах.

Типовые грабли

1. Переобучение

LoRA с слишком большим rank или слишком много epochs учит модель повторять датасет наизусть. На новых вопросах ответы хуже.

Решение: валидационный сет, early stopping, rank не больше 32.

2. Catastrophic forgetting

Fine-tuned модель ухудшается на общих задачах. Например, на вопросах не из домена начинает галлюцинировать.

Решение: mix датасета — 70% domain-specific, 30% общих задач из исходного training set’а модели (open-source примеры).

3. Перенос стилистики

Если в обучающих ответах есть «наш канцелярский язык» — модель будет так отвечать всегда, даже на неподходящие вопросы.

Решение: разнообразие стилей в датасете, явное указание стиля в system-prompt.

4. Compliance leak

Модель «запоминает» конкретные имена клиентов, номера договоров, личные данные из training set. И может выдать их в ответе на не связанный запрос.

Решение: обезличивание датасета перед обучением. Замена ФИО на [CLIENT_NAME], номеров договоров на [CONTRACT_ID].

Сколько стоит fine-tuning модели под бизнес?

Тип проектаСрокЦена (включая разметку датасета)
Простой fine-tune (1 LoRA, 1000 пар)4-5 недель600-1.2 млн ₽
Комплексный (3-5 LoRA для разных агентов)8-12 недель1.5-3 млн ₽
С привлечением экспертов на разметку12-16 недель2-5 млн ₽

Для большинства SMB fine-tuning не оправдан — RAG достаточен. Для больших команд (100+) с измеримыми потерями от ошибок — окупается.

LoRA vs полный fine-tuning

ПараметрLoRAПолный
Время4-12 часов1-3 дня
Железо1 GPU4-8 GPU
Размер адаптера50-200 MB70 GB+ (полная копия модели)
Качество90-95% от полного100%
Совместимость с обновлениями базовой моделиВысокаяНизкая (заново обучать)

В 99% корпоративных кейсов LoRA достаточно. Полный fine-tuning только для исследовательских проектов или ML-компаний.

Альтернативы fine-tuning’у

Перед инвестицией в fine-tuning попробуйте:

  1. Улучшение RAG — лучший эмбеддер, реранкер, больше документов в базе. Часто даёт +5-10% точности.
  2. Better prompting — детальный system-prompt с примерами few-shot. Иногда хватает.
  3. Multi-step reasoning — chain-of-thought, agent с инструментами. На сложных задачах сильнее fine-tuning.
  4. Качественные данные для RAG — структурированные документы лучше беспорядочной свалки.

Если все эти пути исчерпаны и точность всё ещё ниже целевой — тогда fine-tuning.

Итог

Fine-tuning через LoRA — мощный, но не первый инструмент. Сначала RAG, prompt engineering, multi-step reasoning. Если упёрлись в плато 80-85% и дальше нужно — тогда fine-tuning.

Окупается на больших командах с критичной точностью в специфических доменах. На малых командах с обычными задачами — overkill.

В AGmind мы помогаем определить нужен ли fine-tuning на этапе аудита и при необходимости включаем его в общий проект внедрения.

Если интересно проверить эффект fine-tuning’а на ваших задачах — пилот за 2-3 недели от 100 000 ₽ может включать сравнение базовой модели и fine-tuned версии side-by-side.

Связанные тексты: сравнение open-source моделей, embedding для русского, архитектура AI-помощника.