Tích hợp xác thực và kiểm thử

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

Sergiy Tkachuk

Director, GenAI Productivity

Vì sao cần bổ sung validation và testing?

  • Validation
    • Phát hiện sớm vấn đề hiệu năng mô hình
    • Ngăn overfitting và underfitting
  • Testing
    • Hiệu năng trên dữ liệu chưa thấy

Sơ đồ validation và test

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

Triển khai validation

  • Đánh giá hiệu năng mô hình ở mỗi epoch
  • Gộp chỉ số để nhìn ổn định hơn
def validation_step(self, batch, batch_idx):
  x, y = batch
  preds = self(x)
  loss = F.cross_entropy(preds, y)
  self.log('val_loss', loss)


def validation_epoch_end(self, outputs): avg_loss = torch.stack([x['loss'] for x in outputs]).mean() self.log('avg_val_loss', avg_loss)
Mô hình AI có khả năng mở rộng với PyTorch Lightning

Triển khai testing

  • Đánh giá cuối cùng trên dữ liệu chưa thấy
  • Đối sánh hiệu quả thực tế
  • Cung cấp chỉ số cho triển khai mô hình
def test_step(self, batch, batch_idx):
  x, y = batch
  y_hat = self(x)
  loss = F.cross_entropy(y_hat, y)
  self.log('test_loss', loss)


def test_epoch_end(self, outputs): avg_loss = torch.stack([x['loss'] for x in outputs]).mean() self.log('avg_test_loss', avg_loss)
Mô hình AI có khả năng mở rộng với PyTorch Lightning

Đánh giá với Torchmetrics

$$

  • Theo dõi chỉ số như accuracy
  • Dễ tích hợp vào quy trình Lightning
  • Khởi tạo accuracy
  • Tính accuracy ở mỗi bước validation
from torchmetrics import Accuracy

class BaseModel(pl.LightningModule):
    def __init__(self):
        super().__init__()
        self.accuracy = Accuracy()

def validation_step(self, batch, batch_idx): x, y = batch preds = self(x) acc = self.accuracy(preds, y) self.log('val_acc', acc)
Mô hình AI có khả năng mở rộng với PyTorch Lightning

Kết nối DataModule, validation và testing

  • Tập trung logic dữ liệu trong DataModule

  • Chia train/val/test nhất quán

  • Tự động ghi log chỉ số validation

  • Quy trình tái lập, từ chuẩn bị đến báo cáo

Sơ đồ DataModule, validation và testing

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

Hãy luyện tập!

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

Preparing Video For Download...