Pengantar PyTorch Lightning

Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

PyTorch & PyTorch Lightning

$$

PyTorch standar:

  • Upaya manual besar
  • Menulis loop pelatihan eksplisit
  • Penanganan GPU/TPU, pencatatan, dan checkpointing

coder.gif

Model AI yang Dapat Diskalakan dengan PyTorch Lightning

PyTorch & PyTorch Lightning

PyTorch Lightning:

  • Dibangun di atas PyTorch
  • Mengotomatisasi:
    • Pelatihan
    • Checkpointing
    • Pencatatan
  • Mengurangi boilerplate
  • Meningkatkan skalabilitas dan reprodusibilitas

Logo PyTorch Lightning

Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Gambaran umum PyTorch Lightning

  • Contoh: e-commerce global merampingkan alur kerja
    • Pengembangan model pencarian visual
    • Loop pelatihan otomatis
    • Iterasi cepat dengan boilerplate minimal

$$

  • Komponen inti: LightningModule dan Trainer
    from lightning.pytorch import LightningModule
    from lightning.pytorch import Trainer
    
Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Struktur Lightning

Komponen utama:

  • LightningModule: logika inti model

Bola lampu melambangkan logika

Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Struktur Lightning

Komponen utama:

  • LightningModule: logika inti model
  • Lightning Trainer: mengorkestrasi pelatihan

Bola lampu melambangkan logika dan roda gigi melambangkan operasi

Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Struktur Lightning

Komponen utama:

  • LightningModule: logika inti model
  • Lightning Trainer: mengorkestrasi pelatihan
  • DataModule: mengatur alur data
  • Callbacks: mengotomatisasi peristiwa
  • Logger: melacak eksperimen

Bola lampu melambangkan logika dan roda gigi melambangkan operasi

Model AI yang Dapat Diskalakan dengan PyTorch Lightning

LightningModule dalam praktik

Poin utama:

  • __init__: Mendefinisikan arsitektur model
  • forward(): Meneruskan data melalui model
  • training_step(): Mendefinisikan pelatihan
  • Tersedia hook kustom
import lightning.pytorch as pl

class LightClassifier(pl.LightningModule):
    def __init__(self, model, criterion, optimizer):

super().__init__() self.model = model self.criterion = criterion self.optimizer = optimizer
def forward(self, x): return self.model(x)
def training_step(self, batch, batch_idx): x, y = batch logits = self(x) loss = self.criterion(logits, y) return loss
Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Lightning Trainer dalam praktik

Poin utama:

  • Mengelola loop pelatihan
  • Mendukung pelatihan terdistribusi
  • Menangani callback & pencatatan
  • Mengoptimalkan penggunaan sumber daya
model = LightClassifier()


trainer = Trainer(max_epochs=10, accelerator="gpu", devices=1) trainer.fit(model, train_dataloader, val_dataloader)
Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Pengenalan dataset Afro-MNIST

Kumpulan dataset sintetis bergaya MNIST untuk empat ortografi yang digunakan dalam bahasa Afro-Asia dan Niger-Kongo: Ge'ez (Etiopik), Vai, Osmanya, dan N'Ko.

sampul dataset.png

1 Wu, Daniel J., Andrew C. Yang, dan Vinay U. Prabhu. "Afro-MNIST: Synthetic generation of MNIST-style datasets for low-resource languages." arXiv preprint arXiv:2009.13509 (2020).
Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Ringkasan PyTorch Lightning

Diagram PyTorch Lightning

Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Ayo berlatih!

Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Preparing Video For Download...