Pular para o conteúdo principal

Treinamento LLM

O comando aitraining llm treina modelos de linguagem grandes com suporte para múltiplos trainers e técnicas.

Início Rápido

Trainers Disponíveis

generic é um alias para default. Todos os três (default, sft, generic) produzem o mesmo comportamento.
Requisitos do Trainer PPO: PPO requer --rl-reward-model-path (caminho para um modelo de recompensa treinado) ou --model-ref (modelo de referência para divergência KL). Veja Treinamento PPO para documentação completa.
Requisitos do Trainer GRPO: GRPO requer --rl-env-module (caminho do módulo Python) e --rl-env-class (nome da classe) para o ambiente personalizado. Veja Treinamento GRPO para documentação completa.

Grupos de Parâmetros

Os parâmetros são organizados em grupos lógicos:

Parâmetros Básicos

Sempre especifique esses parâmetros: Embora --model, --data-path e --project-name tenham padrões, você deve sempre defini-los explicitamente para seu caso de uso. O parâmetro --project-name define a pasta de saída - use um caminho como --project-name ./models/my-experiment para controlar onde o modelo treinado é salvo.

Configuração de Treinamento

Checkpointing e Avaliação

Performance e Memória

Requisitos do Unsloth: Unsloth funciona apenas com trainers sft/default e arquiteturas de modelo específicas (llama, mistral, gemma, qwen2). Veja Integração Unsloth para detalhes.

Backend e Distribuição

Comportamento Multi-GPU: Com múltiplas GPUs e --distributed-backend não definido, DDP é usado automaticamente. Defina --distributed-backend deepspeed para otimização DeepSpeed Zero-3. O treinamento é iniciado via Accelerate.
Checkpointing DeepSpeed: Ao usar DeepSpeed, o salvamento do modelo usa accelerator.get_state_dict() e desempacota o modelo. O salvamento do adaptador PEFT é tratado de forma diferente sob DeepSpeed.

Parâmetros PEFT/LoRA

Processamento de Dados

Seleção Automática de Template de Chat: Trainers SFT/DPO/ORPO/Reward usam tokenizer (template integrado do modelo) por padrão. Use --chat-template none para treinamento de texto simples.
Salvamento de Dados Processados: Por padrão (auto), dados processados são salvos localmente em {project}/data_processed/. Se o dataset fonte era do Hub, também é enviado como dataset privado. Colunas originais são renomeadas para _original_* para prevenir conflitos.

Exemplos de Treinamento

SFT with LoRA

Treinamento DPO

Para DPO, você deve especificar os nomes das colunas para prompt, resposta escolhida e resposta rejeitada:
DPO e ORPO requerem que --prompt-text-column e --rejected-text-column sejam especificados.

Treinamento ORPO

ORPO combina SFT e otimização de preferências:

Treinamento GRPO

Treine com Group Relative Policy Optimization usando seu próprio ambiente de recompensa:
GRPO gera múltiplas completações por prompt, pontua-as através do seu ambiente (0-1), e otimiza a política. Veja Treinamento GRPO para detalhes da interface do ambiente.

Distilação de Conhecimento

Treine um modelo menor para imitar um maior:
Padrões de distilação: --distill-temperature 3.0, --distill-alpha 0.7, --distill-max-teacher-length 512

Logging e Monitoramento

Weights & Biases (Padrão)

O logging W&B com visualizador LEET está habilitado por padrão. O visualizador LEET mostra métricas de treinamento em tempo real diretamente no seu terminal.
Para desabilitar W&B ou o visualizador:

TensorBoard

Push para Hugging Face Hub

Faça upload do seu modelo treinado:
O repositório é criado como privado por padrão. Por padrão, o repositório será nomeado {username}/{project-name}.

Nome de Repositório Personalizado ou Organização

Use --repo-id para fazer upload para um repositório específico, útil para:
  • Fazer upload para uma organização em vez da sua conta pessoal
  • Usar um nome de repo diferente do seu project-name local
Ao usar --repo-id, você não precisa de --username já que o ID do repo já especifica o destino. No entanto, você ainda precisa de --token para autenticação.

Opções Avançadas

Varreduras de Hiperparâmetros

Avaliação Aprimorada

Ver Todos os Parâmetros

Veja todos os parâmetros para um trainer específico:

Próximos Passos

Configurações YAML

Use arquivos de configuração

Treinamento DPO

Mergulho profundo em DPO

LoRA/PEFT

Fine-tuning eficiente

Distilação

Distilação de conhecimento

Treinamento GRPO

RL com ambientes personalizados