Skip to content
Back to skills

Llm Finetuning

ASecurity

Fine-tunes open-source LLMs (Llama, Mistral, Qwen) using LoRA/QLoRA with HuggingFace and Unsloth. Use for domain-specific model adaptation.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
ai-agentspythongobashgit

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 2 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add ssrjkk/claude-skills --skill llm-finetuning --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Llm Finetuning?

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

Security grade badge for Llm Finetuning
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ssrjkk-llm-finetuning/badge)](https://www.skillsdirectory.com/skills/ssrjkk-llm-finetuning)

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: llm-finetuning
description: "Fine-tunes open-source LLMs (Llama, Mistral, Qwen) using LoRA/QLoRA with HuggingFace and Unsloth. Use for domain-specific model adaptation."
category: ai
tags: [finetuning, lora, llama, mistral, unsloth, llm]
models: [opus]
version: 1.0.0
created: 2026-05-14
updated: 2026-09-06
---
# LLM Fine-Tuning

> Fine-tune open-source LLMs with LoRA/QLoRA for domain-specific tasks.

## Quick Start
```python
from unsloth import FastLanguageModel
from datasets import load_dataset
from trl import SFTTrainer

# Load model with LoRA
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="unsloth/Meta-Llama-3.1-8B",
    max_seq_length=2048,
    load_in_4bit=True,  # QLoRA
)

model = FastLanguageModel.get_peft_model(
    model,
    r=16,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],
    lora_alpha=16,
    lora_dropout=0,
)

# Train
dataset = load_dataset("json", data_files="training_data.json")
trainer = SFTTrainer(
    model=model,
    tokenizer=tokenizer,
    train_dataset=dataset,
    dataset_text_field="text",
    max_seq_length=2048,
)
trainer.train()
```

## When to Use
- Domain-specific model adaptation
- Task-specific fine-tuning (chat, code, classification)
- Not for simple prompt engineering tasks

## Step-by-Step Instructions
1. Choose base model (Llama 3, Mistral, Qwen)
2. Prepare training dataset in chat format
3. Configure LoRA/QLoRA parameters
4. Train and save adapter

## Dependencies
```bash
pip install unsloth transformers datasets trl accelerate
```

## Examples
Input: Training dataset of 1000 examples → Output: Fine-tuned LoRA adapter (50MB)

## Resources
- [Unsloth](https://github.com/unslothai/unsloth)
- [HuggingFace SFT](https://huggingface.co/docs/trl/sft_trainer)
- [Examples](./examples/)

## Troubleshooting
- **Loss plateaus early** — the learning rate is too high. Cut it by 10×
  and lower batch size so validation loss keeps dropping.
- **Catastrophic forgetting** — mix 5–10% of the original dataset into
  each epoch, or freeze the first third of the network with LoRA.
- **OOM during training** — use gradient accumulation, `gradient_checkpointing`
  (training-time), and 4-bit QLoRA quantization for consumer GPUs.
- **Model regurgitates training data** — you overfit. Raise dropout,
  shrink epochs, and add a validation split with early stopping.

## Validation
1. Training loss decreases consistently
2. Model generates coherent responses post-training
3. Adapter merges successfully (if needed)

Files in this skill

  • SKILL.md2.5 KB
  • SKILL.ru.md3.3 KB

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…