Pular para o conteúdo
Skillpedia
Agentes48 mil · #3471

llm-fine-tuning

Ajuda seu agente a treinar modelos de linguagem grandes (LLMs) com técnicas avançadas. Permite que o agente aprenda a partir de dados específicos para melhorar seu desempenho.

O que ela faz

Esta ferramenta permite que você treine modelos de inteligência artificial (IA) de linguagem grandes (LLMs) para que eles entendam melhor um assunto específico. Você pode fazer isso de forma eficiente, mesmo com recursos limitados.

Quando usar

  • ✓Quando você tem dados específicos de uma área (como leis, medicina ou código) e quer que a IA os entenda.
  • ✓Para treinar modelos grandes em um computador pessoal com uma placa de vídeo potente.
  • ✓Para configurar um treinamento que usa várias máquinas ao mesmo tempo.

Exemplo do que pedir para a IA

“Como posso treinar um modelo de IA para entender documentos médicos?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/llm-fine-tuning/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/llm-fine-tuning/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela configura o ambiente e usa bibliotecas especializadas para ajustar um modelo de IA pré-existente com seus próprios dados. Isso é feito através de diferentes técnicas de treinamento, como QLoRA ou treinamento completo.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill llm-fine-tuning

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/llm-fine-tuning/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Infraestrutura para Ajuste Fino de LLMs

Treine e ajuste LLMs de código aberto de forma eficiente — do LoRA em uma única GPU ao ajuste fino completo distribuído em clusters multi-nós.

Quando Usar Esta Habilidade

Use esta habilidade quando:

  • Estiver ajustando um LLM com dados específicos de um domínio (jurídico, médico, código, suporte)
  • Estiver executando QLoRA para ajustar modelos de 70B em GPUs de consumidor
  • Estiver configurando treinamento distribuído com DeepSpeed ou FSDP
  • Estiver exportando adaptadores ajustados para servir em produção
  • Estiver implementando pipelines de RLHF, DPO ou ajuste de instruções

Pré-requisitos

  • GPU(s) NVIDIA com 24GB+ de VRAM (RTX 4090 / A100 / H100)
  • CUDA 12.1+ e nvidia-smi funcionando
  • Python 3.10+ com pip
  • Conta Hugging Face e HF_TOKEN para modelos restritos
  • 500GB+ de disco para pesos do modelo e dados de treinamento

Início Rápido: Ajuste Fino com QLoRA

pip install transformers datasets trl peft bitsandbytes accelerate

python - <<'EOF'
from datasets import load_dataset
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
from peft import LoraConfig, get_peft_model
from trl import SFTTrainer, SFTConfig
import torch

model_id = "meta-llama/Llama-3.1-8B-Instruct"

# 4-bit quantization (QLoRA)
bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16,
    bnb_4bit_use_double_quant=True,
)

model = AutoModelForCausalLM.from_pretrained(
    model_id, quantization_config=bnb_config, device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_id)

# LoRA configuration
peft_config = LoraConfig(
    r=16,                    # rank
    lora_alpha=32,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
                    "gate_proj", "up_proj", "down_proj"],
    lora_dropout=0.05,
    bias="none",
    task_type="CAUSAL_LM",
)

dataset = load_dataset("your-org/your-dataset", split="train")

trainer = SFTTrainer(
    model=model,
    args=SFTConfig(
        output_dir="./output",
        num_train_epochs=3,
        per_device_train_batch_size=2,
        gradient_accumulation_steps=8,
        learning_rate=2e-4,
        bf16=True,
        logging_steps=10,
        save_strategy="epoch",
        report_to="wandb",
    ),
    train_dataset=dataset,
    peft_config=peft_config,
    processing_class=tokenizer,
)
trainer.train()
trainer.save_model("./fine-tuned-model")
EOF

Axolotl (Framework de Ajuste Fino para Produção)

# config.yaml — Axolotl QLoRA config for Llama 3.1
base_model: meta-llama/Llama-3.1-8B-Instruct
model_type: LlamaForCausalLM
tokenizer_type: PreTrainedTokenizerFast

load_in_4bit: true
adapter: qlora
lora_r: 32
lora_alpha: 64
lora_dropout: 0.05
lora_target_modules:
  - q_proj
  - k_proj
  - v_proj
  - o_proj
  - gate_proj
  - up_proj
  - down_proj

datasets:
  - path: your-org/your-dataset
    type: alpaca              # or sharegpt, chat_template, etc.

dataset_prepared_path: ./prepared-data
val_set_size: 0.05
output_dir: ./output

sequence_len: 4096
sample_packing: true         # pack multiple short samples for efficiency

micro_batch_size: 2
gradient_accumulation_steps: 8
num_epochs: 3
learning_rate: 2e-4
optimizer: adamw_bnb_8bit
lr_scheduler: cosine
warmup_ratio: 0.05

bf16: true
flash_attention: true

logging_steps: 10
eval_steps: 100
save_steps: 200
wandb_project: my-fine-tune
# Run with Axolotl
pip install axolotl[flash-attn,deepspeed]
accelerate launch -m axolotl.cli.train config.yaml

Treinamento Distribuído com DeepSpeed

// deepspeed_zero3.json — ZeRO Stage 3 (split optimizer + gradients + params)
{
  "zero_optimization": {
    "stage": 3,
    "offload_optimizer": {"device": "cpu", "pin_memory": true},
    "offload_param": {"device": "cpu", "pin_memory": true},
    "overlap_comm": true,
    "contiguous_gradients": true,
    "sub_group_size": 1e9,
    "reduce_bucket_size": "auto",
    "stage3_prefetch_bucket_size": "auto",
    "stage3_param_persistence_threshold": "auto",
    "stage3_max_live_parameters": 1e9,
    "stage3_max_reuse_distance": 1e9,
    "gather_16bit_weights_on_model_save": true
  },
  "bf16": {"enabled": true},
  "gradient_clipping": 1.0,
  "train_batch_size": "auto",
  "train_micro_batch_size_per_gpu": "auto"
}
# Launch 4-GPU DeepSpeed training
deepspeed --num_gpus=4 train.py \
  --deepspeed deepspeed_zero3.json \
  --model_name meta-llama/Llama-3.1-70B-Instruct \
  --output_dir ./output

Alinhamento DPO / RLHF

from trl import DPOTrainer, DPOConfig

…
Perguntas frequentes

O que é 'fine-tuning'?

É o processo de pegar um modelo de IA já treinado e treiná-lo um pouco mais com dados específicos para que ele se torne melhor em uma tarefa ou entenda um assunto particular.

O que é QLoRA?

É uma técnica que permite treinar modelos de IA muito grandes em computadores com menos recursos, como placas de vídeo comuns, economizando memória.

Preciso de um computador muito potente?

Para algumas técnicas, como QLoRA, uma placa de vídeo com bastante memória (24GB+) é recomendada. Para treinamentos maiores, mais máquinas podem ser necessárias.

Detalhes

Descrição original do autor

Set up infrastructure for fine-tuning LLMs with QLoRA, LoRA, and full fine-tuning using Hugging Face TRL, Axolotl, and distributed training with DeepSpeed or FSDP.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3471
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas