Skip to content
Back to skills

Unsloth Fft

ASecurity

Performing full fine-tuning (FFT) in Unsloth with 100% exact weight updates and optimized gradient checkpointing. Triggers include fft, full fine-tuning, full_finetuning, exact fine-tuning, and weight updates.

  • 666 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 2, 2026
ai-agentsnodegit

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add majiayu000/claude-skill-registry --skill unsloth-fft --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Unsloth Fft?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Unsloth Fft
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-unsloth-fft-claude-skill-registry/badge)](https://www.skillsdirectory.com/skills/majiayu000-unsloth-fft-claude-skill-registry)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: unsloth-fft
description: Performing full fine-tuning (FFT) in Unsloth with 100% exact weight updates and optimized gradient checkpointing. Triggers include fft, full fine-tuning, full_finetuning, exact fine-tuning, and weight updates.
---

## Overview
Full Fine-Tuning (FFT) in Unsloth allows for 100% exact weight updates, bypassing the low-rank approximations of LoRA. By utilizing Unsloth's optimized gradient checkpointing, FFT can fit significantly larger batch sizes while ensuring total model modification.

## When to Use
- When performing base model pre-training or continued pre-training on large datasets.
- When model-wide behaviors need modification that adapters (LoRA) cannot fully capture.
- When sufficient VRAM is available to handle full model gradients.

## Decision Tree
1. Do you need to modify 100% of the model weights?
   - Yes: Proceed with FFT.
   - No: Use [[unsloth-lora]].
2. Is VRAM limited (e.g., < 24GB for a 7B model)?
   - Yes: Enable `use_gradient_checkpointing = 'unsloth'` and `adamw_8bit`.
   - No: Use standard BF16 and high batch sizes.

## Workflows

### Initializing Full Fine-tuning
1. Load the model using `FastLanguageModel.from_pretrained` with `load_in_4bit=False` and `load_in_8bit=False`.
2. Pass `full_finetuning=True` in the initialization call to unlock all weight updates.
3. Apply the 'unsloth' gradient checkpointing via `FastLanguageModel.get_peft_model(model, use_gradient_checkpointing='unsloth')`.

### FFT Memory Management
1. Set `per_device_train_batch_size` to 1 to accommodate full weight gradients.
2. Increase `gradient_accumulation_steps` to simulate effective batch sizes of 16-32.
3. Use the `adamw_8bit` optimizer to reduce memory consumption by optimizer states.

## Non-Obvious Insights
- Unsloth's gradient checkpointing implementation is critical for FFT, as it uses 30% less VRAM and allows for 2x larger batch sizes compared to standard Hugging Face implementations.
- Full fine-tuning is the preferred method for base model pre-training where the objective is knowledge injection rather than task instruction.
- FFT in Unsloth is strictly 100% exact; there is no numerical drift compared to standard training, only efficiency gains.

## Evidence
- "To enable full fine-tuning (FFT), set full_finetuning = True." [Source](https://docs.unsloth.ai/get-started/fine-tuning-llms-guide)
- "use_gradient_checkpointing = 'unsloth' uses 30% less VRAM, fits 2x larger batch sizes!" [Source](https://github.com/unslothai/unsloth)

## Scripts
- `scripts/unsloth-fft_tool.py`: Script to initialize a full fine-tuning session with Unsloth.
- `scripts/unsloth-fft_tool.js`: Node.js utility to generate FFT training parameters.

## Dependencies
- unsloth
- torch
- transformers

## References
- [[references/README.md]]

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.