Instruction tuning vs domain adaptation: two different fine-tuning goals

Teaching a model to follow your instructions is not the same as teaching it your domain's language. How the data, the training objective and the evaluation differ, and how to avoid mixing them badly.

At an Integral Startup Foundation hackathon
At an Integral Startup Foundation hackathon

"Fine-tune it on our data" hides two different requests. One is: make the model behave the way we want when asked. The other is: make the model fluent in our field. They need different datasets, different training setups and different tests. Confusing them is the most common design error I see in student projects.

Instruction tuning

The data is pairs — or conversations — of request and ideal response. The loss is computed on the response tokens. The goal is behaviour: follow the format, respect the constraints, respond in the house tone. A few thousand carefully written examples go a long way. This is what most QLoRA projects in FineTune Studio are.

Domain adaptation

The data is raw text from the field — manuals, papers, transcripts — and the loss is computed on all of it, the way the base model was pre-trained. The goal is vocabulary and fluency: the model stops stumbling over your acronyms. It needs far more text, and it does not by itself teach the model to answer questions politely. Usually you follow it with a short instruction-tuning stage.

How they differ in practice

  • Data volume — thousands of examples versus millions of tokens.
  • Loss masking — response-only versus full sequence.
  • Evaluation — task rubric on held-out instructions versus perplexity on held-out domain text, then task rubric after the instruction stage.
  • Risk — instruction tuning can overfit to phrasing; domain adaptation can erode general instruction-following if pushed too far.

What you probably want

If your problem is facts, neither — use retrieval, as argued in RAG vs fine-tuning. If your problem is behaviour, instruction tuning. If the model genuinely cannot read your domain's text, a modest domain-adaptation pass followed by instruction tuning. Decide which before you collect data, because the data you need is different.

Name the goal, and the recipe follows. Skip that step and you will train the wrong thing perfectly.

Fine-tuningInstruction tuningDomain adaptationLLM
Pranjul Rathour
Pranjul Rathour
GenAI Engineer · Kanpur, Uttar Pradesh, India

GenAI engineer and AI product builder with 2+ years shipping production-grade AI systems: RAG pipelines, fine-tuned LLMs, hybrid retrieval and multi-modal apps across vision, speech and OCR, architected end to end from ingestion to deployment. Leads engineering for SCULT INDIA's 14-member team, founded the 500+ member TechVerse Enclave community and has mentored 200+ students. Three hackathon first prizes: Changethon 2025 (IIT Roorkee), Product Genesis at Vividhotsava 2025 (CSJMU Kanpur) and BYTEBATTLE (MeetKats).

Open to GenAI roles, hackathon judging, mentorship sessions and guest talks at colleges. Email pranjulrathour41@gmail.com.

Keep reading

More on Fine-tuning

All Fine-tuning posts →
Campus talks · hackathon judging · mentoring

Want this as a live session at your college?

Open to GenAI roles, hackathon judging, mentorship sessions and guest talks at colleges.

Pranjul Rathour, GenAI engineer in Kanpur