Как разметка данных влияет на fine-tuning LLM

Вы запустили fine-tuning своей LLM, а качество ответов оказалось ниже ожидаемого. Чаще всего причина не в архитектуре, а в данных. 70% проблем с fine-tuning связаны с качеством разметки, а не с выбором модели или гиперпараметрами. Неправильно собранный датасет приводит к падению метрик на 20‑30% по

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

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

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1440
  • 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
    1002

Вы запустили fine-tuning своей LLM, а качество ответов оказалось ниже ожидаемого. Чаще всего причина не в архитектуре, а в данных. 70% проблем с fine-tuning связаны с качеством разметки, а не с выбором модели или гиперпараметрами. Неправильно собранный датасет приводит к падению метрик на 20‑30% по сравнению с хорошо размеченным. Разметка для дообучения принципиально отличается от классической ML‑разметки: здесь не присваивается метка, а создаётся идеальный ответ модели. Качество аннотаций напрямую определяет качество обученной модели. За 5 лет мы реализовали свыше 50 проектов — от поддержки клиентов до многошаговых агентов, и гарантируем профессиональный подход к каждому.

Типы аннотации

Выбор способа зависит от объёма, бюджета и требуемого качества. Ниже — сравнение основных подходов.

Тип аннотации Скорость Качество Стоимость Риски
Direct annotation 5‑10 пар/час Очень высокое Высокая Усталость аннотатора
Edit-based 15‑30 пар/час Высокое Средняя Принятие плохого ответа
Ranking/Preference 20‑40 пар/час Среднее Низкая Неконсистентность критериев
AI-assisted 30‑50 пар/час Высокое Низкая Зависимость от базовой модели

Direct annotation — разметчик создаёт пару (инструкция, идеальный ответ) с нуля. Самое высокое качество, самый высокий cost. Используем для критичных к качеству доменов (юриспруденция, медицина).

Edit-based annotation — разметчик улучшает ответ базовой модели. В 2‑3 раза быстрее, чем с нуля. Риск: разметчик принимает плохой ответ с минорными правками. Чтобы этого избежать, включаем обязательное поле «обоснование изменений».

Ranking/Preference annotation — разметчик ранжирует несколько ответов модели (используется для RLHF и DPO). Проще, чем создание с нуля, но требует чёткого понимания критериев качества. Без них kappa между аннотаторами редко превышает 0.4.

AI-assisted annotation — сильная модель (GPT‑4) генерирует ответы, люди проверяют и корректируют. Оптимальный баланс качества и скорости для большинства задач. На практике даёт 90% качества direct при 30% стоимости.

Как выбрать тип аннотации?

Если ваша задача — обучить модель отвечать на типовые вопросы (поддержка, FAQ), выбирайте AI-assisted с финальной вычиткой. Для творческих задач (генерация кода, креатив) — direct annotation. Для задач с ранжированием (рекомендательные системы) — ranking/Preference. Если бюджет ограничен, можно комбинировать: 20% direct для обучения аннотаторов и 80% edit-based для основного объёма. Получите консультацию по подбору типа аннотации для вашего проекта — мы поможем с выбором.

Руководство по аннотации (Annotation Guidelines)

Ключевой документ, без которого аннотаторы будут давать несогласованные результаты. Включаем в него:

  • критерии качества (точность, полнота, тон, длина, структура);
  • примеры хорошего ответа с разбором;
  • примеры плохого ответа с объяснением ошибок;
  • список запрещённых фраз («Я просто языковая модель…», «Я не могу…»);
  • правила обработки неоднозначных запросов.

Мы разрабатываем guidelines под каждый проект и проводим calibration сессии перед стартом. Пример guidelines для Customer Support Assistant:

## Руководство по аннотации: Customer Support Assistant ### Критерии качества хорошего ответа: 1. Точность: Ответ соответствует политикам компании и фактически верен 2. Полнота: Решает проблему пользователя, не оставляя открытых вопросов 3. Тон: Профессиональный, эмпатичный, без извинений за несуществующие проблемы 4. Длина: Достаточная, но не избыточная (100-300 слов оптимально) 5. Структура: Абзацы, без списков для простых ответов ### Что НЕ должно быть в ответе: - "Я просто языковая модель..." - "Я не могу..." - Повторение вопроса пользователя - Неуместные извинения - Устаревшая информация о продукте ### Примеры ХОРОШЕГО ответа: [примеры] ### Примеры ПЛОХОГО ответа: [примеры с объяснением] 

Платформы для аннотации

Label Studio (open-source):

from label_studio_sdk import Client ls = Client(url='http://localhost:8080', api_key='...') # Создание проекта для LLM аннотации project = ls.start_project( title='Customer Support Fine-tuning', label_config=''' <View> <Text name="instruction" value="$instruction"/> <TextArea name="response" toName="instruction" placeholder="Write ideal response..." rows="10" maxSubmissions="1"/> <Rating name="quality" toName="instruction" maxRating="5" icon="star" size="medium"/> </View> ''' ) # Загрузка задач tasks = [{"instruction": ex.instruction, "input": ex.input} for ex in unannotated_examples] project.import_tasks(tasks) 

Scale AI / Appen — для больших объёмов с профессиональными аннотаторами. Существенно дороже, но Quality Control включён. Используем их для проектов с объёмом от 50 000 пар.

Как контролировать качество аннотаций?

Основной метрикой является inter-annotator agreement (IAA) — согласованность между аннотаторами. Чем выше, тем надёжнее данные. Для контроля качества мы закладываем перекрытие 10–20% задач, которые размечаются двумя специалистами независимо. Считаем Cohen's Kappa — меру согласия, используемую в NLP.

Пример расчёта Cohen's Kappa
from sklearn.metrics import cohen_kappa_score def compute_iaa(annotations_a: list, annotations_b: list) -> float: """Cohen's Kappa для согласованности аннотаторов""" # Для ranking задач (1-5 rating) kappa = cohen_kappa_score(annotations_a, annotations_b) print(f"Cohen's Kappa: {kappa:.3f}") # < 0.4: низкое согласие, пересмотр guidelines # 0.6-0.8: хорошее согласие # > 0.8: отличное согласие return kappa 

Низкая согласованность (< 0.4) — сигнал, что guidelines неоднозначны. Мы дорабатываем документ, проводим дополнительную calibration сессию и повторно замеряем IAA.

Calibration сессии перед стартом полноценной аннотации: совместная разметка 20‑50 примеров всей командой, обсуждение расхождений, уточнение guidelines. Это критически снижает варианс между аннотаторами. Без калибровки даже опытные аннотаторы дают kappa < 0.5 на сложных задачах. После калибровки — стабильно 0.7+.

Почему важны calibration сессии?

Потому что без них разброс между аннотаторами может свести на нет все усилия по сбору данных. Одна calibration сессия снижает количество переделок на 40% и повышает итоговую точность модели на 15‑20%. Это экономит до 30% бюджета проекта. Оптимизация разметки снижает затраты на 35–40% по сравнению с традиционными методами. Закажите пилотную калибровку — мы покажем эффект на ваших данных.

Что входит в нашу работу по разметке данных?

Ниже — основные этапы и их длительность.

Этап Длительность Результат
Анализ задачи и разработка guidelines 3‑5 дней Документ annotation guidelines
Подбор типа аннотации 1 день Рекомендация с обоснованием
Calibration сессия и обучение 2‑3 дня Обученные аннотаторы
Разметка с контролем качества от 2 недель Датасет с перекрытием и IAA
Итоговый датасет и документация 2 дня JSONL с метаданными, статистика IAA

Сроки зависят от объёма и сложности: от 2 недель для 1000 пар до 2‑3 месяцев для 50 000+. Стоимость рассчитывается индивидуально. Мы работаем как с разовыми проектами, так и с долгосрочным аутсорсингом аннотации. Получите консультацию для оценки вашего проекта — оценим объём работы, подберём оптимальный метод аннотации и рассчитаем сроки.