Implementarea logicii de antrenament

Modele AI scalabile cu PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Definirea pasului de antrenament

  • Procesarea batch-ului de intrare și etichete
  • Calculul predicțiilor prin pasul înainte
  • Calculul pierderii cross-entropie pentru clasificare
  • Înregistrarea pierderii de antrenament pentru monitorizare
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
Modele AI scalabile cu PyTorch Lightning

Configurarea optimizatoarelor

  • Selectarea unui optimizator adecvat pentru actualizări
  • Legarea parametrilor modelului pentru calculul gradientului
  • Setarea unei rate de învățare potrivite pentru convergență
  • Returnarea instanței optimizatorului pentru integrarea cu Lightning
def configure_optimizers(self):
    optimizer = torch.optim.Adam(self.parameters(), lr=1e-3)
    return optimizer
Modele AI scalabile cu PyTorch Lightning

Antrenament cu Lightning Trainer

  • Integrarea logicii de antrenament cu Lightning Trainer
  • Gestionarea automată a buclelor și epocilor de antrenament
  • Monitorizarea metricilor de performanță în timp real

Fluxul Lightning Trainer

Modele AI scalabile cu PyTorch Lightning

Utilizarea trainer.fit și trainer.validate

$$

  • Pornirea antrenamentului cu metoda trainer.fit
  • Validarea modelului cu metoda trainer.validate

$$

trainer.fit(model, train_dataloader)

trainer.validate(model, val_dataloader)
  • Automatizarea ciclurilor de antrenament și validare
  • Monitorizarea metricilor în ambele faze
Modele AI scalabile cu PyTorch Lightning

Exemplu complet de logică de antrenament

$$

  • Definirea unui LightningModule personalizat cu un clasificator
  • Implementarea training_step pentru calculul și înregistrarea pierderii
  • Configurarea optimizatoarelor pentru actualizarea parametrilor
  • Antrenarea și validarea modelului
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)
Modele AI scalabile cu PyTorch Lightning

Aplicații în industrie

De ce contează logica de antrenament?

  • Asigurarea urmăririi precise a pierderii pentru control de calitate
  • Optimizarea pipeline-urilor de antrenament pentru implementare scalabilă

Exemple din lumea reală:

  • Îmbunătățirea analizei imagistice în diagnosticul medical
  • Suport pentru detectarea fraudelor în servicii financiare

Imagistică medicală

Modele AI scalabile cu PyTorch Lightning

Aplicații în industrie

De ce contează logica de antrenament?

  • Asigurarea urmăririi precise a pierderii pentru control de calitate
  • Optimizarea pipeline-urilor de antrenament pentru implementare scalabilă

Exemple din lumea reală:

  • Îmbunătățirea analizei imagistice în diagnosticul medical
  • Suport pentru detectarea fraudelor în servicii financiare

Imagistică medicală și detectarea fraudelor

Modele AI scalabile cu PyTorch Lightning

Să exersăm!

Modele AI scalabile cu PyTorch Lightning

Preparing Video For Download...