Pular para o conteúdo principal

LoRA & PEFT

O Fine-Tuning Eficiente em Parâmetros permite treinar modelos grandes com menos memória.

O que é LoRA?

LoRA (Low-Rank Adaptation) adiciona pequenas matrizes treináveis ao modelo enquanto mantém os pesos base congelados. Isso reduz drasticamente o uso de memória e o tempo de treinamento.

Início Rápido

Python API

Parâmetros

Rank (lora_r)

Rank maior = mais parâmetros = mais capacidade:

Alpha

A razão alpha/rank afeta o aprendizado:

Módulos Alvo

Por padrão, LoRA direciona todas as camadas lineares (all-linear). Você pode personalizar:

Com Quantização

Combine LoRA com quantização para máxima economia de memória:

Comparação de Memória

Mesclando Adaptadores

Por padrão, os adaptadores LoRA são automaticamente mesclados no modelo base após o treinamento. Isso simplifica a inferência - você obtém um único arquivo de modelo pronto para usar.

Comportamento Padrão (Mesclado)

Salvar Apenas Adaptadores

Para salvar apenas os arquivos de adaptador (menores, mas requer modelo base para inferência):

Mesclar Manualmente Depois

Você deve especificar --output-folder para salvar localmente ou --push-to-hub para fazer upload para o Hugging Face Hub.

Parâmetros da Ferramenta de Mesclagem

Ou em Python:

Converter para Formato Kohya

Converta adaptadores LoRA para formato .safetensors compatível com Kohya:

Carregando Adaptadores

Use adaptadores sem mesclar:

Melhores Práticas

Treinamento

  • Use taxa de aprendizado maior (2e-4 a 1e-3)
  • LoRA se beneficia de treinamento mais longo
  • Considere direcionar todas as camadas lineares para tarefas complexas

Memória

  • Comece com lora_r=16
  • Adicione quantização se necessário
  • Use gradient checkpointing (ativado por padrão)

Qualidade

  • Rank maior geralmente = melhor qualidade
  • Teste em sua tarefa específica
  • Compare com fine-tuning completo se memória permitir

Próximos Passos

Quantization

Redução adicional de memória

DPO Training

Otimização de preferências