LLM Finetuning

Best practices for dataset preparation and PEFT/LoRA fine-tuning.

j4flmao Updated

File contents

LLM Fine-Tuning (PEFT/LoRA)

Dataset Preparation

  • Format data strictly as Instruction/Input/Output pairs.
  • Clean and deduplicate to prevent overfitting.

Fine-Tuning Pipeline

%%{init: {"theme": "default", "flowchart": {"useMaxWidth": true}}}%%
flowchart TD
    A[Raw Data] --> B[Formatting & Tokenization]
    B --> C[Base Model]
    C --> D{Apply LoRA Adapters}
    D --> E[Training Loop]
    E --> F[Merged Checkpoint]

LoRA Configuration Snippet

import torch
from transformers import AutoModelForCausalLM
from peft import LoraConfig, get_peft_model

def setup_lora_model(model_id):
    model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.float16)
    lora_config = LoraConfig(
        r=16,
        lora_alpha=32,
        target_modules=["q_proj", "v_proj"],
        lora_dropout=0.05,
        bias="none",
        task_type="CAUSAL_LM"
    )
    return get_peft_model(model, lora_config)

j4flmao/agent-skills/tree/main/skills/ai/llm-finetuning commit e94c8cbc7c

Frequently asked questions

npx skillmds@latest add j4flmao/llm-finetuning