Skip to content
Skillpedia
Agents48k · #4452

unsloth-finetuning

Allows training large language models (LLMs) on a single GPU. It optimizes memory usage and supports various training methods.

What it does

This tool helps train artificial intelligence (AI) models on a single computer with limited video memory (VRAM). It makes training faster and uses less memory, allowing you to customize AI models that previously could only be trained on very powerful computers.

When to use it

  • ✓When you want to train an AI model on your own computer and VRAM is limited.
  • ✓When a training run fails due to memory issues and you need to adjust it.
  • ✓When you want to export a trained model to a specific format (GGUF, vLLM).

Example of what to ask your AI

“How can I train the 'unsloth/Qwen3-8B' model using only 16GB of VRAM and export it to the GGUF format?”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/unsloth-finetuning/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/unsloth-finetuning/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool works by optimizing VRAM usage and training time. It allows you to fine-tune models using techniques like LoRA/QLoRA and ensures the model correctly understands conversations before exporting it.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill unsloth-finetuning

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/unsloth-finetuning/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Unsloth Fine-Tuning

Overview

Unsloth trains LLMs with custom kernels that cut VRAM use and step time without changing the math, which makes single-GPU fine-tuning practical on hardware that would otherwise OOM. This skill covers Unsloth Core — the Python API — because that is what an agent can drive programmatically; the Desktop app and Studio web UI are interactive and out of scope.

The hard parts of an Unsloth run are not the training call. They are sizing the job against available VRAM, getting the chat template and loss masking right, and choosing an export format the target runtime can actually load. This skill covers those three.

When to Use This Skill

  • Use when fine-tuning an LLM on one GPU and VRAM is the binding constraint.
  • Use when a training run OOMs and needs to be resized rather than rewritten.
  • Use when doing preference or RL post-training (GRPO, DPO) on consumer hardware.
  • Use when a fine-tuned model must be exported to GGUF, vLLM, or merged 16-bit weights.
  • Use when a fine-tune "ran fine" but the model's output format is wrong — usually a chat template or loss-masking bug, not a hyperparameter one.

Do not use this skill when

  • The training is multi-node or large-scale multi-GPU. Use plain TRL with Accelerate/DeepSpeed.
  • The architecture is unsupported by Unsloth. Fall back to TRL; do not force it.
  • The user wants managed cloud training. That is Hugging Face Jobs, not local Unsloth.
  • The user wants the Desktop or Studio GUI. Point them at the installer, not this skill.

How It Works

Step 1: Size the run before writing code

VRAM is the constraint that decides everything else. Estimate weights first, then leave room for activations and optimizer state:

Load mode Weight cost 8B model Use when
load_in_4bit (QLoRA) ~0.55 GB per 1B params ~4.5 GB Default. Under 16 GB VRAM.
load_in_8bit ~1.1 GB per 1B params ~9 GB Quality-sensitive, 16-24 GB.
load_in_16bit ~2 GB per 1B params ~16 GB LoRA at full precision, 24 GB+.
full_finetuning=True ~2 GB weights + ~12 GB optimizer ~112 GB Rarely justified. Prefer LoRA.

Add roughly 2-6 GB for activations, scaling with max_seq_length and batch size. Treat these as planning figures and confirm against nvidia-smi on the first run — they vary by architecture, attention implementation and vocabulary size.

If the estimate does not fit, reduce in this order: max_seq_length, then batch size (raising gradient_accumulation_steps to hold the effective batch constant), then LoRA rank, then model size. Cutting rank before sequence length usually costs more quality than it saves memory.

Step 2: Load the model

import unsloth must come before transformers, trl or peft. Unsloth patches those libraries at import time; importing them first silently disables the optimizations.

import unsloth  # must be first
import os
import re
from unsloth import FastLanguageModel

def reviewed_revision(variable):
    revision = os.environ.get(variable, "")
    if re.fullmatch(r"[0-9a-fA-F]{40}", revision) is None:
        raise RuntimeError(f"{variable} must be a reviewed full 40-character Hub commit SHA")
    return revision.lower()

model_revision = reviewed_revision("UNSLOTH_MODEL_REVISION")
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/Qwen3-8B",
    revision = model_revision,
    max_seq_length = 2048,
    load_in_4bit = True,
    dtype = None,  # auto-detects bf16 where supported
)

Pick the loader that matches the modality: FastLanguageModel for text-only causal LMs, FastVisionModel for vision-language models, FastModel when the modality is decided at runtime.

The unsloth/ Hub namespace holds pre-quantized copies that download faster and skip a local quantization pass. Upstream repos such as Qwen/ or meta-llama/ work identically. Before setting UNSLOTH_MODEL_REVISION, inspect that exact Hub commit and obtain approval for the download. Record the repository and full revision with the run; never substitute a branch, tag, range, or moving default.

Step 3: Fix the chat template before training

This is the most common silent failure. A run with the wrong template converges cleanly and produces a model that ignores its stop tokens or emits prompt scaffolding at inference.

from unsloth.chat_templates import (
    get_chat_template,
    standardize_data_formats,

…
FAQ

What is VRAM and why is it important?

VRAM is the dedicated memory on your graphics card. AI models require a lot of VRAM to be trained. This tool helps use less VRAM.

What are LoRA and QLoRA?

These are techniques that allow training only a small part of the AI model, saving significant memory and time. QLoRA is an even more memory-efficient version.

What is a 'chat template'?

It's a format that the AI model uses to understand how conversations should be structured. An incorrect 'chat template' can cause the model to generate wrong responses.

Details

Original description by the author

Fine-tune and post-train LLMs with Unsloth Core on a single consumer GPU: VRAM sizing, LoRA/QLoRA, GRPO/DPO, chat-template correctness, and GGUF export.

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#4452
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills