How Data Annotation Affects LLM Fine-Tuning

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1All 1566 services
How Data Annotation Affects LLM Fine-Tuning
Medium
from 1 week to 3 months
Frequently Asked Questions

AI Development Areas

AI Solution Development Stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1317
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1226
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    925
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1156
  • image_logo-advance_0.webp
    B2B Advance company logo design
    620
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    894

You launched fine-tuning for your LLM, but the quality of responses is below expectations. Most often the cause is not the architecture, but the data. 70% of fine-tuning problems stem from annotation quality, not model choice or hyperparameters. A poorly constructed dataset can cause metrics to drop by 20–30% compared to a well-annotated one. Annotation for fine-tuning is fundamentally different from classic ML annotation: here you don't assign a label, but create an ideal response for the model. The quality of annotations directly determines the quality of the trained model. Over 5 years, we have completed over 50 projects—from customer support to multi-step agents—and we guarantee a professional approach to every task.

Types of Annotation

The choice of method depends on volume, budget, and required quality. Below is a comparison of the main approaches.

Type Speed Quality Cost Risks
Direct annotation 5–10 pairs/hour Very high High Annotator fatigue
Edit-based 15–30 pairs/hour High Medium Accepting a poor response
Ranking/Preference 20–40 pairs/hour Medium Low Inconsistency in criteria
AI-assisted 30–50 pairs/hour High Low Dependence on base model

Direct annotation—the annotator creates a pair (instruction, ideal response) from scratch. Highest quality, highest cost. We use it for domains where quality is critical (law, medicine).

Edit-based annotation—the annotator improves the base model's response. 2–3 times faster than from scratch. Risk: the annotator may accept a poor response with minor edits. To avoid this, we include a mandatory "rationale for changes" field.

Ranking/Preference annotation—the annotator ranks several model responses (used for RLHF and DPO). Simpler than creating from scratch, but requires a clear understanding of quality criteria. Without them, kappa between annotators rarely exceeds 0.4.

AI-assisted annotation—a strong model (GPT‑4) generates responses, humans review and correct. Optimal balance of quality and speed for most tasks. In practice, it delivers 90% of direct annotation quality at 30% of the cost.

How to Choose the Annotation Type?

If your task is to train a model to answer typical questions (support, FAQ), choose AI-assisted with final proofreading. For creative tasks (code generation, creative writing)—direct annotation. For ranking tasks (recommender systems)—ranking/preference. If budget is limited, you can combine: 20% direct for training annotators and 80% edit-based for the main volume. Get a consultation on selecting the annotation type for your project—we'll help you choose.

Annotation Guidelines

This is the key document; without it, annotators will produce inconsistent results. We include:

  • quality criteria (accuracy, completeness, tone, length, structure)
  • examples of good responses with analysis
  • examples of poor responses with explanations of errors
  • list of forbidden phrases ("I'm just a language model…", "I can't…")
  • rules for handling ambiguous queries

We develop guidelines for each project and run calibration sessions before starting. Example guidelines for a Customer Support Assistant:

## Annotation Guidelines: Customer Support Assistant

### Quality criteria for a good response:
1. Accuracy: Response aligns with company policies and is factually correct
2. Completeness: Solves the user's problem without leaving open questions
3. Tone: Professional, empathetic, without apologies for non-existent issues
4. Length: Sufficient but not excessive (100–300 words optimal)
5. Structure: Paragraphs, no lists for simple answers

### What should NOT be in the response:
- "I'm just a language model..."
- "I can't..."
- Repeating the user's question
- Unnecessary apologies
- Outdated product information

### Examples of GOOD responses: [examples]
### Examples of BAD responses: [examples with explanations]

Platforms for Annotation

Label Studio (open-source):

from label_studio_sdk import Client

ls = Client(url='http://localhost:8080', api_key='...')

# Create a project for LLM annotation
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>
    '''
)

# Upload tasks
tasks = [{"instruction": ex.instruction, "input": ex.input}
         for ex in unannotated_examples]
project.import_tasks(tasks)

Scale AI / Appen—for large volumes with professional annotators. Significantly more expensive, but Quality Control is included. We use them for projects with volumes over 50,000 pairs.

How to Control Annotation Quality?

The primary metric is inter-annotator agreement (IAA)—the consistency between annotators. The higher it is, the more reliable the data. For quality control, we build in 10–20% overlap of tasks that are annotated independently by two specialists. We calculate Cohen's Kappa—a measure of agreement used in NLP.

Example of Cohen's Kappa calculation
from sklearn.metrics import cohen_kappa_score

def compute_iaa(annotations_a: list, annotations_b: list) -> float:
    """Cohen's Kappa for annotator consistency"""
    # For ranking tasks (1-5 rating)
    kappa = cohen_kappa_score(annotations_a, annotations_b)
    print(f"Cohen's Kappa: {kappa:.3f}")
    # < 0.4: low agreement, revise guidelines
    # 0.6-0.8: good agreement
    # > 0.8: excellent agreement
    return kappa

Low agreement (< 0.4) is a signal that the guidelines are ambiguous. We revise the document, run an additional calibration session, and re-measure IAA.

Calibration sessions before full-scale annotation: the entire team annotates 20–50 examples together, discusses discrepancies, and refines the guidelines. This critically reduces variance between annotators. Without calibration, even experienced annotators achieve kappa < 0.5 on complex tasks. After calibration—consistently 0.7+.

Why Are Calibration Sessions Important?

Because without them, the spread among annotators can nullify all data collection efforts. One calibration session reduces rework by 40% and increases final model accuracy by 15–20%. This saves up to 30% of the project budget. Optimization of annotation reduces costs by 35–40% compared to traditional methods. Order a pilot calibration—we'll show the effect on your data.

What's Included in Our Data Annotation Work?

Below are the main stages and their duration.

Stage Duration Result
Task analysis and guideline development 3–5 days Annotation guidelines document
Selection of annotation type 1 day Recommendation with justification
Calibration session and training 2–3 days Trained annotators
Annotation with quality control from 2 weeks Dataset with overlap and IAA
Final dataset and documentation 2 days JSONL with metadata, IAA statistics

Timelines depend on volume and complexity: from 2 weeks for 1,000 pairs to 2–3 months for 50,000+. Cost is calculated individually. We work with both one-off projects and long-term annotation outsourcing. Get a consultation to evaluate your project—we'll assess the scope, choose the optimal annotation method, and calculate deadlines.