Pular para o conteúdo
Skillpedia
Agentes41 mil · #4900

lora-qlora-recipes

Ajuda seu agente a aprender de forma eficiente com menos dados. É útil para treinar modelos de IA rapidamente usando técnicas como LoRA e QLoRA.

O que ela faz

Esta ferramenta ajuda a configurar o treinamento de modelos de IA usando técnicas chamadas LoRA e QLoRA. Ela define os melhores parâmetros para ajustar o modelo com base no que você quer que ele aprenda.

Quando usar

  • ✓Quando você quer ensinar um modelo de IA a se comportar de uma certa maneira.
  • ✓Quando você quer ajustar um modelo de IA para uma tarefa específica.
  • ✓Quando você precisa decidir entre LoRA, QLoRA ou um ajuste completo.

Exemplo do que pedir para a IA

“Configure o LoRA para meu modelo de chat, com rank 32 e alpha 64.”

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/wshobson/agents/blob/main/plugins/llm-finetuning/skills/lora-qlora-recipes/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/wshobson/agents/blob/main/plugins/llm-finetuning/skills/lora-qlora-recipes/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta seleciona quais partes do modelo de IA (módulos) devem ser ajustadas, define o tamanho do 'rank' e 'alpha' (parâmetros que controlam o aprendizado) e a taxa de aprendizado. Ela usa configurações recomendadas para otimizar o processo.

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 wshobson/agents --skill lora-qlora-recipes

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/llm-finetuning/skills/lora-qlora-recipes/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.

Receitas LoRA & QLoRA

Esta habilidade assume que a decisão de roteamento já aconteceu — finetuning-method-selection já deveria ter apontado para cá porque a forma dos dados são demonstrações (SFT), não pares de preferência ou um sinal de recompensa verificável. O que se segue é a receita atual de melhores práticas para configurar o adaptador em si: quais módulos mirar, como dimensionar rank e alpha, qual taxa de aprendizado usar, e quando QLoRA oferece ganho real de espaço versus quando apenas adiciona risco. Preparação e verificações de qualidade do dataset são uma preocupação separada — veja dataset-curation.

Entrada: uma decisão de roteamento (SFT via LoRA/ QLoRA) mais uma classe de tamanho alvo. Formato de saída: uma configuração de adaptador validada — os valores de kwarg abaixo, não conselhos em formato livre — que llm-finetuning-training-engineer consome diretamente ao gerar um script executável.

A Receita de Referência

A receita de referência é "LoRA Sem Arrependimentos" (Thinking Machines/Schulman, 2025-09), agora a convenção estabelecida para SFT LoRA/QLoRA.

Módulos Alvo

Mire em módulos todos-lineares, não apenas atenção:

target_modules = [
    "q_proj", "k_proj", "v_proj", "o_proj",   # attention
    "gate_proj", "up_proj", "down_proj",      # MLP — matters most
]

As camadas MLP (gate_proj, up_proj, down_proj) são as mais importantes — o direcionamento apenas para atenção era a convenção antiga e mais fraca. Descartar módulos para economizar memória é um Modo de Falha abaixo, não uma otimização válida.

Alpha e Taxa de Aprendizado

  • lora_alpha = 2 * r é a convenção estabelecida (resultado de "dimensões intrusas" da NeurIPS 2025). Não ajuste manualmente o alpha independentemente do rank — derive-o do rank a cada vez.
  • Taxa de aprendizado LoRA ≈ 10x a LR equivalente de fine-tune completo. Especificamente para QLoRA, 2e-4 é o ponto de partida padrão. Tabelas completas de hiperparâmetros e exemplos práticos: references/hyperparameters.md.

Rank por Tarefa

O rank é moldado pela tarefa, não um único padrão global:

Tarefa Rank
RL (adaptadores GRPO/RLVR) 1–32
Padrão geral 16–32
SFT em escala até ~256

Rank mais alto não é automaticamente melhor — ele aumenta a capacidade de memorizar tão rápido quanto aumenta a capacidade de generalizar. Comece na linha que corresponde à tarefa e só suba uma linha se o rank menor subajustar mensuravelmente em avaliações retidas, não como uma proteção padrão.

Tamanho Efetivo do Lote

Mantenha o tamanho efetivo do lote abaixo de 32. Esta receita foi validada nessa escala — aumentar o tamanho efetivo do lote é uma extrapolação não testada, não um ganho de throughput gratuito.

Padrões Unsloth

Unsloth é a implementação de referência que este plugin assume como o caminho rápido padrão — exceto para SFT conversacional em formato de mensagens com assistant_only_loss=True, onde o trainer compilado do Unsloth 2026.7.x não tem caminho em formato de mensagens e a saída de escape TRL simples (references/unsloth-trl-mapping.md) é o padrão para essa combinação, não uma falha rara de regressão. Seus padrões de fábrica, e por que cada um está definido dessa forma:

  • lora_dropout=0 — o caminho do kernel otimizado assume zero dropout; definir um valor não nulo anula a aceleração do kernel fundido.
  • bias="none" — termos de bias adicionam parâmetros de adaptador para um ganho de qualidade negligenciável nesta faixa de rank.
  • use_gradient_checkpointing="unsloth" — variante de checkpointing do Unsloth, não checkpointing vanilla do HF; economiza aproximadamente 30% de VRAM em relação a nenhum checkpointing.
  • optim="adamw_8bit" — AdamW de 8 bits corta a memória do estado do otimizador com impacto negligenciável na qualidade na escala do adaptador LoRA/QLoRA.
  • random_state fixo — fixa a inicialização LoRA para reprodutibilidade entre execuções; trate-o como qualquer outra seed, não como algo ajustável.

Estes aparecem juntos na chamada get_peft_model:

model = FastLanguageModel.get_peft_model(
    model,
    r=32,
    target_modules=target_modules,
    lora_alpha=64,               # 2 * r
    lora_dropout=0,
    bias="none",
    use_gradient_checkpointing="unsloth",
    random_state=3407,
)

Nomes exatos de kwarg e seus equivalentes em TRL puro/PEFT, mais uma configuração completa incluindo SFTConfig: references/unsloth-trl-mapping.md e references/hyperparameters.md.

LoRA vs QLoRA vs FT Completo

Situação Escolha padrão
Adaptando comportamento em demonstrações LoRA
Modelo base não cabe em bf16 no rank alvo QLoRA
Injetando novo conhecimento de domínio denso FT Completo (veja finetuning-method-selection)
Não tem certeza qual LoRA — atualize para QLoRA apenas se a memória for forçada

…

Perguntas frequentes

O que são LoRA e QLoRA?

São técnicas para ajustar modelos de IA de forma eficiente, modificando apenas uma pequena parte do modelo, o que economiza tempo e recursos computacionais.

Qual a diferença entre LoRA e QLoRA?

QLoRA usa uma técnica adicional (quantização) para reduzir ainda mais o uso de memória, sendo útil quando o modelo é muito grande para caber na memória disponível.

O que é 'rank' e 'alpha'?

São parâmetros que controlam a capacidade de aprendizado do ajuste. O 'rank' define a complexidade do ajuste e o 'alpha' está relacionado à força desse ajuste. Geralmente, alpha é o dobro do rank.

Detalhes

Descrição original do autor

Configure LoRA and QLoRA supervised fine-tuning with current best-practice hyperparameters. Use when writing or reviewing a LoRA/QLoRA training configuration, choosing rank/alpha/target modules, or deciding between LoRA, QLoRA, and full fine-tuning.

repo: wshobson/agents

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas