Implementando a lógica de treino

Modelos de IA escaláveis com PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Definindo o training step

  • Processar o batch de entradas e rótulos
  • Calcular previsões com o forward pass
  • Calcular a cross entropy para classificação
  • Registrar a training loss para monitoramento
def training_step(self, batch, batch_idx):
    x, y = batch

y_hat = self(x)
loss = cross_entropy(y_hat, y)
self.log("train_loss", loss) return loss
Modelos de IA escaláveis com PyTorch Lightning

Configurando otimizadores

  • Selecionar um otimizador adequado para as atualizações
  • Vincular parâmetros do modelo para cálculo do gradiente
  • Definir uma learning rate adequada para convergência
  • Retornar o otimizador para integração com o Lightning
def configure_optimizers(self):
    optimizer = torch.optim.Adam(self.parameters(), lr=1e-3)
    return optimizer
Modelos de IA escaláveis com PyTorch Lightning

Treinando com o Lightning Trainer

  • Integrar a lógica de treino com o Lightning Trainer
  • Gerenciar loops e épocas automaticamente
  • Monitorar métricas em tempo real

Fluxo do LightningTrainer

Modelos de IA escaláveis com PyTorch Lightning

Usando trainer.fit e trainer.validate

$$

  • Inicie o treino com trainer.fit
  • Valide o modelo com trainer.validate

$$

trainer.fit(model, train_dataloader)

trainer.validate(model, val_dataloader)
  • Automatize os ciclos de treino e validação
  • Monitore métricas em ambas as fases
Modelos de IA escaláveis com PyTorch Lightning

Exemplo completo de lógica de treino

$$

  • Defina um LightningModule customizado com um classificador
  • Implemente training_step para calcular e registrar a loss
  • Configure otimizadores para atualizar os parâmetros
  • Treine e valide o modelo
class LightClassifier(pl.LightningModule):
    def __init__(self):
        super().__init__()
        self.layer=torch.nn.Linear(28 * 28, 10)
    def forward(self, x):
        return self.layer(x.view(x.size(0), -1))

def training_step(self, batch, batch_idx): ...
def configure_optimizers(self): params=self.parameters() optimizer=torch.optim.Adam(params,lr=1e-3) return optimizer
model = LightClassifier() # Define classifier model trainer = Trainer(max_epochs=5) # Define trainer trainer.fit(model, train_dataloader) trainer.validate(model, val_dataloader)
Modelos de IA escaláveis com PyTorch Lightning

Aplicações na indústria

Por que a lógica de treino importa?

  • Garantir rastreamento preciso da loss para controle de qualidade
  • Otimizar pipelines de treino para escala em produção

Exemplos reais:

  • Aprimorar análise de imagens em diagnósticos de saúde
  • Apoiar detecção de fraude em serviços financeiros

Imagem da área da saúde

Modelos de IA escaláveis com PyTorch Lightning

Aplicações na indústria

Por que a lógica de treino importa?

  • Garantir rastreamento preciso da loss para controle de qualidade
  • Otimizar pipelines de treino para escala em produção

Exemplos reais:

  • Aprimorar análise de imagens em diagnósticos de saúde
  • Apoiar detecção de fraude em serviços financeiros

Imagem da saúde e detecção de fraude

Modelos de IA escaláveis com PyTorch Lightning

Vamos praticar!

Modelos de IA escaláveis com PyTorch Lightning

Preparing Video For Download...