Fine-Tuning Has Changed: A Practitioner’s Guide to Modern Model Adaptation
From full fine-tuning to lightweight adapters, today’s teams have more ways to specialize AI models than ever. Here’s how to match the technique to the task.
FINE-TUNING DEFINED
Fine-tuning is the process of continuing to train a pretrained model for a narrower objective, updating all or a selected subset of its parameters to make its outputs better match a specific task, domain or behavior.
Fine-tuning once implied updating an entire model, a process that demanded substantial compute, memory and operational support. As foundation models grew, that approach meant specialization was beyond the practical reach of many teams — especially when the application required several task-specific versions or frequent experimentation.
The category has since expanded. Parameter-efficient techniques such as low-rank adaptation (LoRA) can train a comparatively small set of additional parameters while leaving the base model frozen, and QLoRA reduces model training memory requirements further by loading those frozen weights in a quantized representation. Compact adapters can support multiple specializations around the same base model, while distillation workflows allow teams to transfer a bounded capability from a larger model to a smaller one. Managed fine-tuning services have also reduced the infrastructure work required to prepare data, run training jobs and deploy the resulting model.
Fine-tuning now describes a collection of training objectives and parameter-update strategies rather than a single procedure. Understanding how those choices fit together helps practitioners decide what behavior to teach, how extensively to modify the model and how to account for the cost, governance and maintenance that follow.
What is fine-tuning?
Fine-tuning is the process of continuing to train a pretrained model on a narrower data set, task or objective. During training, optimization adjusts either all of the model’s parameters or a selected subset, shifting the probability of its outputs toward patterns represented in the fine-tuning examples.
The pretrained model supplies the starting point. Its initial training has already captured statistical patterns across a broad collection of text, images, code or other content, so a team can specialize those existing capabilities without repeating the full pretraining process. This reuse of learned representations is one form of transfer learning.
For large language models (LLMs), fine-tuning often happens within a broader post-training pipeline. A base model may undergo supervised instruction tuning, preference optimization and safety training before being released. Another round of fine-tuning might specialize the model for a narrower task, such as extracting fields from contracts, assigning support tickets to a controlled taxonomy or generating output that conforms to an application schema.
Fine-tuning differs from continued pretraining, although both update model parameters. Continued pretraining generally uses the original language-modeling objective on a large body of unlabeled domain text, helping the model adapt to the vocabulary and distribution of a field. Task-specific fine-tuning usually works with labeled examples that demonstrate the desired response.
Watch Snowflake’s Arun Agarwal, Yusuf Ozuysal and James Cha-Earley discuss why AI model flexibility is crucial for real-world applications:
What fine-tuning can change
A fine-tuning data set contains repeated mappings between inputs and desired outputs. As training proceeds, gradient updates increase the likelihood that the model will reproduce similar patterns when it receives a related input.
Those patterns may describe several kinds of behavior:
- Selecting a label from a defined taxonomy
- Extracting fields into a required schema
- Following an organization’s terminology or response conventions
- Producing a particular style or level of detail
- Calling tools or generating function arguments in an expected format
- Handling recurring domain inputs that differ from the model’s general training distribution
Fine-tuning can also support model compression workflows. A larger teacher model can generate labels, explanations or other training signals, which are then used to fine-tune a smaller student model for a bounded task. Research has shown that teacher-generated rationales can help smaller models perform competitively with much larger models on the tasks included in the experiment. Results will still depend on the quality of the teacher output, the student architecture and the evaluation set.
The resulting model has limits. Training examples may improve its handling of a domain without making every generated claim accurate. Sparse coverage can leave important edge cases unaddressed, while continued fine-tuning can reduce performance on previously learned tasks. In one empirical study, researchers observed this form of catastrophic forgetting across tests of domain knowledge, reasoning and reading comprehension. Information encoded through parameter updates is also difficult to inspect, attribute or refresh one record at a time.
For facts that change frequently or must be traced to an authoritative source, retrieval-augmented generation (RAG) usually provides a better mechanism. Fine-tuning is generally strongest when the desired behavior remains stable across many model calls.
Fine-tuning vs. prompting, RAG and continued pretraining
Prompting, RAG, fine-tuning and continued pretraining operate at different points in the model lifecycle. Selecting among them starts with the condition the system needs to change.
| Approach | Updates model parameters? | Appropriate for | Primary constraint |
|---|---|---|---|
| Prompting | No | Supplying instructions, examples and contextual constraints for a model call | Instructions consume context and may produce variable results across inputs |
| RAG | No | Providing current, private or attributable information during inference | Retrieval quality and the model’s use of retrieved context affect the final answer |
| Fine-tuning | Yes | Teaching stable task behavior, response patterns and output conventions | Requires representative training data, evaluation and ongoing maintenance |
| Continued pretraining | Yes | Adapting a model to a broad domain corpus, vocabulary or distribution | Usually requires substantially more data and compute than task-specific fine-tuning |
| Hybrid architecture | Sometimes | Combining specialized behavior with external information | Adds components that must be evaluated together |
A practical rule of thumb is to use prompting for instructions that can fit reliably within the model call, RAG for information that changes or requires source attribution, and fine-tuning for repeated behaviors that remain inconsistent after the prompt and surrounding application have been improved.
The boundaries aren’t absolute, however. Retrieved documents can contain examples and instructions that influence how a model responds, while fine-tuning data can expose a model to domain facts and terminology. The distinction lies in the mechanism: RAG inserts content into the inference context, whereas fine-tuning incorporates patterns through parameter updates.
When an application requires both specialized behavior and retrieved information, the techniques can work together. Retrieval-Augmented Fine-Tuning (RAFT), for example, trains a model on questions paired with relevant and irrelevant retrieved documents. The model learns to use supporting material while disregarding distractors, improving its behavior within the retrieval workflow examined by the researchers. RAFT provides a useful training recipe for in-domain, open-book question answering; it doesn’t establish that every RAG system requires fine-tuning.
Choose the fine-tuning objective
Before selecting LoRA, QLoRA or full fine-tuning, a team needs to define what the training examples will teach. The objective determines the signal used to update the model, while the parameter strategy determines where those updates are applied.
Supervised fine-tuning
Supervised fine-tuning (SFT) trains a model on labeled input-output pairs. For an LLM, each example may contain a prompt and an approved completion, allowing the model to learn the relationship between an instruction and the response it should generate.
A classification data set might pair each support request with its assigned category. An extraction data set could pair a document passage with validated JSON. For a text-to-SQL application, examples could connect natural-language questions to reviewed SQL statements.
Instruction tuning is a form of supervised fine-tuning in which the data set covers tasks expressed as instructions. Training across a varied instruction collection can improve a model’s ability to follow requests, including requests that weren’t represented exactly in the training set.
The quality of the target completions sets an upper bound on what the model can learn from them. Inconsistent labels, contradictory instructions and superficially polished answers with factual errors all transfer undesirable patterns into training.
Preference optimization
Some behaviors are easier to express through comparisons than through a single approved answer. A preference data set presents two or more candidate responses, along with an indication of which response is preferred.
Direct Preference Optimization (DPO) uses these pairs to increase the likelihood of preferred responses and decrease the likelihood of rejected responses. The original DPO method formulates preference training as a classification loss, avoiding the separate reward-model training and reinforcement-learning stages used in a conventional reinforcement learning from human feedback pipeline.
Preference optimization can refine qualities such as relevance, concision, adherence to policy or appropriate refusal behavior. Its results still depend on the criteria behind the rankings. When reviewers apply different standards, the model receives an inconsistent learning signal.
Reinforcement learning from feedback
Reinforcement learning from human feedback (RLHF) commonly begins with supervised fine-tuning, followed by the collection of human rankings across model responses. A reward model learns from those rankings, and reinforcement learning then adjusts the language model to produce responses that receive higher predicted rewards.
The InstructGPT research used this sequence to improve instruction following and human preference ratings relative to the underlying GPT-3 models. The researchers also documented remaining mistakes, illustrating the difference between improved preference alignment and guaranteed correctness.
RLHF offers considerable control over broad model behavior, though its data collection and training pipeline is more involved than a straightforward supervised fine-tuning job. For a bounded enterprise task with clear approved outputs, SFT may provide a more direct starting point.
Distillation
Distillation transfers a capability from a larger teacher model to a smaller student model. The teacher may produce labels, completions, preference pairs or reasoning traces; the student then trains on those signals, often through supervised fine-tuning.
For workloads with high request volume, a successful distillation workflow can shift inference to a smaller model with a different latency and cost profile. The student should be evaluated independently, since teacher errors can enter the training data and a smaller model may not reproduce every capability used to generate the examples.
Choose which parameters to update
Once the training objective and data set are defined, the next decision concerns the model parameters. Full fine-tuning updates the entire model, while parameter-efficient fine-tuning (PEFT) limits training to a smaller set of parameters or added components.
Full fine-tuning
Full fine-tuning allows optimization to update all model parameters. Because the training process can modify the model throughout its layers, it provides substantial capacity for adaptation.
That flexibility requires memory for the model weights, gradients and optimizer states, along with storage and operational support for the resulting model. Each specialized version may require its own full set of weights. As model size increases, the infrastructure and experimentation costs can make full fine-tuning difficult to justify for a narrowly defined task.
Full fine-tuning may still be appropriate when the target distribution differs substantially from the base model’s training, broad adaptation is required and evaluation shows a meaningful advantage over parameter-efficient methods.
Parameter-efficient fine-tuning
PEFT methods keep most pretrained parameters frozen and train a smaller collection of parameters. Since the base weights remain unchanged, teams can store and manage compact task-specific components alongside a shared model.
For many enterprise experiments, PEFT provides a practical starting point. It lowers training memory requirements and allows several specializations to reuse the same base model, although quality remains dependent on the task, model, adapter configuration and data.
LoRA
Low-rank adaptation (LoRA) freezes the original model weights and introduces trainable low-rank matrices into selected layers. During training, these matrices learn a compact approximation of the parameter updates required for the task.
In the original LoRA experiments, the method reduced the number of trainable parameters and GPU memory requirements substantially compared with full fine-tuning. Those results established LoRA as an efficient adaptation technique, while later research has examined how rank allocation and optimizer settings affect LoRA performance under different parameter budgets and model configurations.
LoRA is useful when teams need portable adapters, several task-specific versions of one base model or lower training overhead. Its performance should still be compared with the original model and, for high-value workloads, with a full fine-tuning baseline.
QLoRA
Quantized low-rank adaptation (QLoRA) reduces memory requirements further by loading the frozen base model in a 4-bit quantized representation and backpropagating gradients through it into LoRA adapters.
The QLoRA paper demonstrated fine-tuning of a 65-billion-parameter model on a single 48-GB GPU in its experimental setup. Quantization made the base model less expensive to hold in memory during training, while the adapters retained higher-precision trainable parameters.
QLoRA is especially relevant when GPU memory limits the feasible model size. Quantization can introduce its own implementation tradeoffs, so teams should test training stability, throughput and task performance under the configuration they plan to deploy.
Build and evaluate the fine-tuning data set
Model selection receives much of the attention in a fine-tuning project, although the training and evaluation data usually determine whether the adaptation achieves the original objective.
Begin with a specific behavior that can be observed and scored. “Improve responses” leaves too much room for interpretation, for example, while “return one of 18 approved categories and a confidence score in valid JSON” defines a result that an evaluation can measure.
Before training, run the base model against a held-out test set using the strongest reasonable prompt and any retrieval components planned for production. This baseline shows which errors fine-tuning needs to reduce. It also prevents a team from attributing gains to training when a prompt, parser or retrieval adjustment would have produced the same result.
Training examples should reflect the distribution the model will encounter after deployment. Common cases establish the primary pattern, while edge cases, ambiguous inputs and negative examples define its boundaries. When production inputs include incomplete records, long documents or conflicting terminology, the fine-tuning data should represent those conditions.
Separate data supports separate decisions:
- Training data supplies the examples used for parameter updates.
- Validation data guides checkpoint selection and hyperparameter choices.
- Test data measures the selected model against examples that didn’t influence training decisions.
The split should also account for near-duplicates and related records. When versions of the same document appear across training and test sets, evaluation results can overstate the model’s ability to generalize.
For generative tasks, exact-match accuracy rarely tells the whole story. Evaluation may need to measure schema validity, field-level accuracy, label precision and recall, unsupported claims, instruction adherence, latency and cost. Human review remains useful when the desired output depends on domain judgment, although reviewers need a shared rubric and representative samples.
A fine-tuned model should also be tested for regressions. Stronger performance on the target task can accompany weaker behavior on adjacent inputs, especially when the training data is narrow. Comparing the tuned model with the base model across both target and general evaluations surfaces those trade-offs before deployment.
QUICK TIP
Build the test set before expanding the training set. A stable, held-out evaluation gives the team a consistent way to decide which new examples are actually improving the model.
When to fine-tune
Fine-tuning is a strong candidate when the system shows a stable, repeated error pattern and the desired correction can be demonstrated through representative examples.
Typical conditions include:
- The task runs frequently enough to justify training and maintenance.
- Prompt revisions have stopped producing meaningful improvement.
- Outputs must follow a controlled schema, taxonomy or response convention.
- The organization has reviewed examples that represent production inputs.
- The task is stable enough for today’s examples to remain useful.
- A smaller specialized model could reduce inference latency or cost.
- The team can measure target-task gains and broader regressions.
But other conditions point elsewhere. When the application lacks current or private information, for example, retrieval addresses the information path directly. When requirements are still changing, application-level instructions are easier to revise than a training data set and model. When no reliable evaluation exists, the team cannot determine whether fine-tuning improved the system or merely changed it.
A small experiment can resolve uncertainty. Establish a baseline, fine-tune on a carefully selected sample and compare the result on held-out data. If the gain is small, the team has avoided committing to a larger training pipeline. If the gain is material, the same evaluation framework can guide data expansion and deployment.
COMMON PITFALL
A common mistake is fine-tuning while requirements are still changing. Updating prompts or retrieval logic is usually faster and easier to reverse than rebuilding a training set and producing another model version.
Account for the full cost of fine-tuning
Training compute is only one part of fine-tuning cost. Data preparation often requires domain experts to define labels, review completions, resolve disagreements and add cases that the first training run exposed. Evaluation then repeats across models, checkpoints, prompts and adapter settings.
The technical cost includes several components:
- Processing the training tokens across one or more epochs
- Storing base models, adapters or complete tuned checkpoints
- Running experiments that don’t produce a deployable model
- Hosting the model for online or batch inference
- Monitoring production quality and collecting new examples
- Retraining when inputs, policies or task definitions change
Inference economics should be evaluated alongside training cost. A specialized small model may require an upfront fine-tuning investment while reducing the cost of each subsequent request. A large model with a carefully designed prompt may cost more per call while avoiding the operational work of maintaining a tuned model. Request volume, latency requirements and expected model lifetime determine which trade-off is favorable.
Fine-tuning and model training with Snowflake
For supported LLMs, Snowflake Cortex Fine-tuning provides a managed parameter-efficient fine-tuning workflow using training and validation data stored in Snowflake. Teams supply prompt-completion examples and select a supported base model, then Snowflake runs the training job, stores the resulting adapter as a model object and makes the fine-tuned model available for inference. Because the source data and model are governed as Snowflake objects, organizations can apply their existing role-based access controls throughout the workflow. Cortex Fine-tuning also supports `arctic-extract` models, allowing teams to adapt document extraction to their own document formats and fields.
Custom fine-tuning and broader model-training workloads can run through Snowflake ML. Snowflake Container Runtime provides preconfigured, customizable environments on Snowpark Container Services for interactive experimentation, hyperparameter tuning, fine-tuning and batch training, using CPU or GPU compute. Teams can work with open source frameworks and libraries in Snowflake Notebooks, then use Snowflake ML Jobs to run the same code as a repeatable, resource-intensive workload from a notebook, local development environment or orchestration pipeline. For models and data sets that exceed a single node, Snowflake ML includes distributed trainers for frameworks such as PyTorch, XGBoost and LightGBM.
The training run sits within a larger model lifecycle. Snowflake Feature Store helps teams define reusable features and produce point-in-time-correct training data, while Snowflake ML Experiments records parameters, metrics and artifacts so practitioners can compare training runs systematically. After selection, Snowflake Model Registry manages model versions, metadata and access, then supports batch or real-time inference through Snowflake compute. ML lineage and observability capabilities extend that record into production by connecting models to their source data and tracking performance or drift over time.
Snowflake CoCo can assist across those stages through a natural-language interface. It can explore training data, engineer features, train and evaluate models, submit workloads to compute pools, record experiment results and prepare selected models for deployment, while practitioners review the objective and approve key decisions.
Together, these capabilities allow teams to select a managed adaptation path for supported models or retain deeper control over custom training, while keeping data preparation, experimentation, model management and production operations within the same governed environment.
Selecting the right adaptation strategy
Fine-tuning should begin with an observed system behavior, a representative data set and an evaluation that can distinguish improvement from change. The choice among supervised fine-tuning, preference optimization and other objectives follows from the type of feedback available; the choice among full fine-tuning, LoRA and QLoRA follows from the scope of adaptation and the available compute.
Prompting and retrieval remain part of the design. A tuned model may still need explicit instructions, and a specialized model may still require current records from a retrieval system. By assigning each mechanism a defined responsibility, teams can improve model behavior without expecting parameter updates to solve every source of error.
KEY TAKEAWAY
A fine-tuned model isn’t automatically a better model. Its value depends on whether it outperforms a strong baseline on representative data without introducing unacceptable regressions, costs or maintenance requirements.
Frequently Asked Questions
Your common questions about fine-tuning, answered by Snowflake experts.
Does fine-tuning add new knowledge to a model?
Fine-tuning can teach patterns, terminology and associations contained in the training examples, so a model may perform better on questions related to that data. It doesn’t provide a dependable or easily updated knowledge store. RAG is generally better suited to current, private or attributable information because the source content is supplied during inference.
How much data is needed to fine-tune an LLM?
The required amount varies with the task, base model, diversity of the inputs and quality of the examples. A narrow classification or formatting task may show gains with hundreds of carefully reviewed examples, while broader behavior changes can require much more data. Teams should begin with a representative sample, evaluate it against a baseline and add examples that address observed errors.
When should fine-tuning and RAG be used together?
The combination is useful when an application needs consistent task behavior and access to external information. Fine-tuning can teach the model how to structure an answer or use retrieved context, while RAG supplies the records needed for a particular request. Retrieval-aware methods such as RAFT extend this approach by including relevant and distracting documents in the training examples.
What is the difference between LoRA and QLoRA?
LoRA freezes the base model and trains low-rank adapter matrices. QLoRA also uses LoRA adapters, while holding the frozen base model in a quantized representation to reduce memory consumption during training. LoRA may suit environments with sufficient GPU memory and a simpler training stack; QLoRA can make larger models feasible when memory is the primary constraint.
Explore AI Resources
Explore AI Topics
Deep dives into every aspect of artificial intelligence


