Effective Strategies for Full Fine-Tuning of LLMs

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
Effective Strategies for Full Fine-Tuning of LLMs
Complex
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

Full Fine-Tuning of LLMs: Scenarios, Case Studies, and Best Practices

On one project for a financial regulator (a financial NLP use case), LoRA with rank 64 gave an F1 of only 0.79 — a critical gap from the target metrics. We then applied Full Fine-Tuning, updating all model weights, and achieved F1 0.91. This method updates all parameters of the language model — a full parameter update — not just adapter layers. It delivers the highest quality of language model adaptation but requires serious computational resources and careful training management. We provide turnkey fine-tuning services: from data audit to optimized model deployment. In this article, we'll explore when to choose full FT, how to set up distributed training with DeepSpeed ZeRO and FSDP, and what to watch out for to avoid catastrophic forgetting.

When Full Fine-Tuning Is Justified

Full FT is not the default choice. Reasons to consider it:

  • Insufficient quality with LoRA/QLoRA: if after optimizing LoRA parameters the gap from baseline remains substantial, full FT can yield an additional 3–8% on metrics.
  • Fundamentally new domain: when the model needs to be trained on notation or a language significantly different from the pretrained distribution (special symbols, formal grammars, unique terminology).
  • Continual Pre-training: adding new knowledge to the model through continued pretraining, followed by Instruction Tuning.
  • Changing architectural parameters: vocabulary expansion, context length modification via RoPE scaling.

Why Full Fine-Tuning Is More Effective Than LoRA for Complex Domains

The reason is that updating all weights allows the model to adapt its internal representations to the new data distribution. LoRA only modifies low-rank adapters, leaving the original weights unchanged. If the domain differs strongly from the pretrained one, LoRA lacks flexibility. In practice, the difference can reach 10–15 percentage points on key metrics. For instance, Full FT outperforms LoRA by up to 3x on domain-specific tasks. Training time for Full FT can be 3-5× longer than LoRA, but the quality improvement often justifies it. This comparison (LoRA vs Full FT) is critical for choosing the right approach.

How to Prepare Data for Full Fine-Tuning: Step-by-Step

  1. Data collection: Gather domain-specific examples (e.g., bank reports, legal documents).
  2. Cleaning: Remove duplicates, noise, and irrelevant content.
  3. Balancing: Ensure class balance for classification tasks.
  4. Splitting: Stratify by time or theme for train/val/test.
  5. Augmentation: Use techniques like synonym replacement for robustness.
  6. Instruction generation: Create chain-of-thought templates and few-shot examples.

Technical Aspects of Full Fine-Tuning

Memory Requirements

For full FT of a model with N parameters in bf16:

  • Model parameters: 2N bytes
  • Gradients: 2N bytes (bf16) or 4N bytes (fp32)
  • Optimizer (AdamW): 8N bytes (fp32 moments)
  • Activations: depend on batch size and sequence length

Total — at least 12N bytes without activations. For a 7B model: ~84 GB, for 70B: ~840 GB.

DeepSpeed ZeRO for Distributed Training During A100 Training

ZeRO (Zero Redundancy Optimizer) shards parameters, gradients, and optimizer states across GPUs:

{
  "zero_optimization": {
    "stage": 3,
    "offload_optimizer": {"device": "cpu"},
    "offload_param": {"device": "cpu"},
    "overlap_comm": true,
    "contiguous_gradients": true,
    "reduce_bucket_size": "auto",
    "stage3_prefetch_bucket_size": "auto",
    "stage3_param_persistence_threshold": "auto"
  },
  "bf16": {"enabled": true},
  "gradient_accumulation_steps": 8,
  "gradient_clipping": 1.0,
  "train_micro_batch_size_per_gpu": 2
}
More about DeepSpeed configuration

DeepSpeed ZeRO Stage 3 with CPU offloading allows training a 7B model on 4×A100 40GB instead of 8 GPUs. As noted in the DeepSpeed documentation, this technique significantly reduces video memory requirements.

FSDP as an Alternative to DeepSpeed

PyTorch Fully Sharded Data Parallel (FSDP) is a native alternative to DeepSpeed, better integrated with the PyTorch ecosystem. FSDP documentation is available on the official site.

from torch.distributed.fsdp import FullyShardedDataParallel as FSDP
from torch.distributed.fsdp.wrap import transformer_auto_wrap_policy
from transformers import LlamaDecoderLayer

fsdp_config = {
    "fsdp": "full_shard auto_wrap",
    "fsdp_config": {
        "fsdp_auto_wrap_policy": "TRANSFORMER_BASED_WRAP",
        "fsdp_transformer_layer_cls_to_wrap": "LlamaDecoderLayer",
        "fsdp_state_dict_type": "FULL_STATE_DICT",
        "fsdp_offload_params": False,
    }
}

Gradient Checkpointing

Reduces activation memory consumption by recomputing part of the forward pass during backward:

model.gradient_checkpointing_enable()
# Reduces activation memory ~4× at the cost of ~20% training slowdown

Comparison of Fine-Tuning Methods

Parameter Full FT LoRA QLoRA
Updated parameters All Adapters (0.1–1%) Adapters
Memory for 7B (bf16) ~84 GB ~16 GB ~8 GB
Quality on complex domains High Medium Medium
Training time Long Moderate Fast

Managing Learning Rate in Full Fine-Tuning

In Full FT, the training schedule is critical:

  • Warmup: first 5–10% of steps, lr increases from 0 to the target value. Prevents early gradient explosions.
  • Cosine decay: smooth lr reduction to 10% of the peak value by the end of training.
  • Target values: for Full FT on a specialized dataset — 1e-5 to 5e-5. For CPT — 1e-5 or lower.
  • Catastrophic Forgetting: full weight updates can destroy the model's general knowledge. To prevent knowledge loss, use a small lr, replay buffer mixing with general data, and regularization (EWC).

Practical Case: Full Fine-Tuning for a Financial Regulator

Task

A specialized model for central bank analytics — analysis of bank reports in XBRL format, detection of prudential norm violations, generation of orders.

Why Full FT, Not LoRA

Specific language of regulatory orders (legal constructs, references to norms), new symbolic patterns. LoRA r=64 gave F1=0.79, full fine-tuning achieved F1=0.91.

Infrastructure

8×A100 80GB, DeepSpeed ZeRO Stage 2, bf16.

Dataset

6800 examples (report format → analysis + order).

Training Parameters

lr=2e-5, warmup_ratio=0.05, cosine decay, 3 epochs, effective batch size=64.

Results

  • Violation detection F1: 0.79 (LoRA r=64) → 0.91 (Full FT)
  • ROUGE-L for orders: 0.61 → 0.74
  • Training time: 14 hours on 8×A100

Infrastructure Requirements for Full Fine-Tuning

Model GPU (no offload) GPU (ZeRO Stage 3 + CPU) Time (3 epochs, 5K examples)
7B 4×A100 40GB 2×A100 40GB 4–8h
13B 8×A100 40GB 4×A100 40GB 8–16h
70B 8×A100 80GB 4×A100 80GB 24–48h
70B 16×H100 80GB 8×H100 80GB 12–24h

Project Deliverables

  • Audit of the current model and dataset, recommendations for fine-tuning strategy.
  • Setup of distributed training (DeepSpeed/FSDP) for your infrastructure.
  • Development of a data preparation pipeline, including labeling and augmentation.
  • Training with metric monitoring and logging in Weights & Biases.
  • Quality evaluation, A/B testing, and deployment of the optimized model.
  • Access to all model artifacts (weights, tokenizer, configs).
  • Documentation and training of your team to work with the model.
  • Post-deployment support for 3 months.

Project Timeline

  • Audit and planning: 1–2 weeks
  • Infrastructure preparation: 1 week
  • Data preparation: 2–6 weeks
  • Training and iterations: 2–4 weeks
  • Evaluation, A/B, deployment: 1–2 weeks
  • Total: 7–15 weeks

Project cost starts from $8,000 — a savings of up to 40% compared to alternative approaches. Typical project budget: $8,000-$25,000 depending on scope. The exact price depends on data volume and configuration. We will evaluate your project and offer the optimal solution. Contact our engineers for a consultation.

Our experience: over 10 years in LLM fine-tuning and other forms of language model adaptation, with 50+ projects in financial NLP and other domains. We guarantee a transparent process and achievement of target metrics.

For A100 training, our optimized pipeline delivers 2x faster convergence than standard methods, saving you up to $5,000 on compute costs.