Triển khai logic huấn luyện

Mô hình AI có khả năng mở rộng với PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Định nghĩa bước huấn luyện

  • Xử lý batch đầu vào và nhãn
  • Tính dự đoán bằng forward pass
  • Tính cross entropy loss cho phân loại
  • Ghi log training loss để theo dõi
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
Mô hình AI có khả năng mở rộng với PyTorch Lightning

Cấu hình optimizers

  • Chọn optimizer phù hợp để cập nhật
  • Liên kết tham số mô hình cho tính gradient
  • Đặt learning rate phù hợp để hội tụ
  • Trả về instance optimizer cho Lightning
def configure_optimizers(self):
    optimizer = torch.optim.Adam(self.parameters(), lr=1e-3)
    return optimizer
Mô hình AI có khả năng mở rộng với PyTorch Lightning

Huấn luyện với Lightning Trainer

  • Tích hợp logic huấn luyện với Lightning Trainer
  • Tự động quản lý vòng lặp và epoch
  • Theo dõi chỉ số hiệu năng theo thời gian thực

Luồng LightningTrainer

Mô hình AI có khả năng mở rộng với PyTorch Lightning

Dùng trainer.fit và trainer.validate

$$

  • Bắt đầu huấn luyện với trainer.fit
  • Đánh giá mô hình với trainer.validate

$$

trainer.fit(model, train_dataloader)

trainer.validate(model, val_dataloader)
  • Tự động hóa chu kỳ huấn luyện và đánh giá
  • Theo dõi chỉ số ở cả hai giai đoạn
Mô hình AI có khả năng mở rộng với PyTorch Lightning

Ví dụ logic huấn luyện hoàn chỉnh

$$

  • Định nghĩa LightningModule tùy chỉnh với bộ phân loại
  • Cài đặt training_step để tính và ghi log loss
  • Cấu hình optimizer để cập nhật tham số mô hình
  • Huấn luyện và đánh giá mô hình
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)
Mô hình AI có khả năng mở rộng với PyTorch Lightning

Ứng dụng theo ngành

Vì sao logic huấn luyện quan trọng?

  • Theo dõi loss chính xác để kiểm soát chất lượng
  • Tối ưu pipeline huấn luyện cho triển khai ở quy mô lớn

Ví dụ thực tế:

  • Nâng cao phân tích ảnh trong chẩn đoán y tế
  • Hỗ trợ phát hiện gian lận trong tài chính

Chẩn đoán y tế bằng hình ảnh

Mô hình AI có khả năng mở rộng với PyTorch Lightning

Ứng dụng theo ngành

Vì sao logic huấn luyện quan trọng?

  • Theo dõi loss chính xác để kiểm soát chất lượng
  • Tối ưu pipeline huấn luyện cho triển khai ở quy mô lớn

Ví dụ thực tế:

  • Nâng cao phân tích ảnh trong chẩn đoán y tế
  • Hỗ trợ phát hiện gian lận trong tài chính

Chẩn đoán hình ảnh và phát hiện gian lận

Mô hình AI có khả năng mở rộng với PyTorch Lightning

Ayo berlatih!

Mô hình AI có khả năng mở rộng với PyTorch Lightning

Preparing Video For Download...