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
Mensagem pronta para colar
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-tuningOu 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.mdConteú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-smifuncionando - Python 3.10+ com
pip - Conta Hugging Face e
HF_TOKENpara 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.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3471
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC