When do you need human annotation and small-model fine-tuning?

Most use cases succeed with prompt tuning first, then RAG. When you need stable JSON, multi-label classification, evidence spans, or sensitive-field detection and prompts still wobble, move to teacher pre-label → human Gold → holdout → LoRA → same Gold-set evaluation. Teacher output is a draft — not ground truth.

Why prompt and RAG are not always enough

Knowledge Q&A is mostly about finding the right material and composing an answer — RAG is usually the right first bet. But when production needs machine-parseable structure (fixed fields, closed enums, evidence spans copied from source text, PII flags), prompt constraints drift: valid JSON one day, extra fields the next; citations sometimes accurate, sometimes invented.

The gap is often not “does the model know?” but “can it reliably follow the business schema?” Small-model fine-tuning (typically LoRA / QLoRA) trains output shape and rules — a different path from indexing documents in a vector store.

Decision order: do not skip the earlier steps

  1. Prompt / system instructions — lowest cost; zero or few-shot.
  2. RAG — first choice for knowledge Q&A with citations.
  3. Teacher pre-label + human Gold — complex schema, evidence spans, audit trail.
  4. LoRA fine-tuning — holdout Gold exists, training pool is sufficient, baseline shows room to improve.
  5. Larger models / cloud APIs / preference alignment — when LoRA is not enough or the SOW requires it.

Without a frozen schema, a signed acceptance bar from the business owner, and reviewable samples, fine-tuning will not fix everything.

Eight generic steps: corpus to comparison report

FFDE abstracts vertical SLM work into eight repeatable steps (reviews, ticket classification, clause extraction, and similar tasks):

  1. Corpus intake & registry — provenance, de-identification, deduplication; no secrets in Git.
  2. Freeze schema & rubric — fields, enums, evidence rules; business owner sign-off.
  3. Teacher batch pre-label — strong model for speed; log model version and settings.
  4. Automated validation & teacher audit — structural validity, evidence substrings, PII rules; failures to priority queue.
  5. Human Gold review — field-by-field work; reference drafts read-only — no copy-paste.
  6. Gold freeze & holdout lock — block by sample id and content hash; version the holdout file.
  7. Training split + LoRA — teacher labels only, excluding holdout; leakage self-check before train.
  8. Baseline vs fine-tuned eval — same Gold set, same metrics; report in the acceptance evidence pack.

See the methodology page — Vertical SLM for the customer-facing summary.

Three data roles: never mix them

  • Teacher pre-labels — may enter the training pool (after holdout exclusion); not evaluation ground truth.
  • Human Gold — holdout evaluation only; never training labels.
  • Reference drafts — read-only for annotators; do not copy into Gold fields.

Break any rule and you either train on test questions or poison Gold with teacher bias — metrics become meaningless.

Who labels? How do you ensure quality?

High-volume field work is often done by interns, part-timers, or outsourced teams — that is normal in the industry. Schema design, high-risk semantics, and acceptance sign-off stay with domain experts and the business owner.

FFDE recommends at least these mechanisms for a pilot:

  • Calibration before scale-up — 10–20 items done together; align on ambiguity.
  • Validate on save — JSON, enums, evidence substrings must pass before submit.
  • Honeypot items — known-answer rows in the queue; pause annotators below threshold.
  • Dual annotation & adjudication — double-label a sample; experts resolve conflicts.
  • Expert spot checks — 5–10% per batch; feed errors back into the rubric.
  • Batch freeze — ship batch 1 before expanding; avoid thousands of rows under a wrong rubric.

Quality comes from process and gates, not from hoping cheaper labor tries harder.

Holdout and acceptance: when is fine-tuning “real”?

After Gold freeze, order is fixed:

  1. Run baseline on Gold with the base model (no adapter).
  2. Train LoRA on non-holdout teacher labels.
  3. Evaluate again on the same Gold set — compare JSON validity, field accuracy, PII match, and agreed metrics.

Synthetic pilot corpora validate the pipeline only — not production claims. Formal projects use customer de-identified real data with agreed sample size and acceptance thresholds.

Common mistakes

  • Treating teacher output as Gold — locks evaluation and training to teacher bias.
  • Random train/test split without content-hash blocking — duplicate text under new ids leaks into training.
  • Claiming fine-tuning wins without baseline — same eval set, same metrics, side by side.
  • Expecting general intelligence from tiny data — LoRA improves vertical format and rules, not omniscience.
  • Handing over only an adapter folder — deliver comparison report, failure cases, data boundaries, and run config.

Related reading

Want to assess whether your use case fits annotation and fine-tuning? Book a free consultation →