Реализация логики обучения

Масштабируемые модели ИИ с PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Определение шага обучения

  • Обработка батча входных данных и меток
  • Вычисление предсказаний прямым проходом
  • Расчёт cross entropy loss для классификации
  • Логирование потерь при обучении
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
Масштабируемые модели ИИ с PyTorch Lightning

Настройка оптимизаторов

  • Выбор подходящего оптимизатора
  • Привязка параметров модели для вычисления градиентов
  • Задание скорости обучения для сходимости
  • Возврат оптимизатора для интеграции с Lightning
def configure_optimizers(self):
    optimizer = torch.optim.Adam(self.parameters(), lr=1e-3)
    return optimizer
Масштабируемые модели ИИ с PyTorch Lightning

Обучение с Lightning Trainer

  • Интеграция логики обучения с Lightning Trainer
  • Автоматическое управление циклами и эпохами
  • Мониторинг метрик в реальном времени

Схема работы LightningTrainer

Масштабируемые модели ИИ с PyTorch Lightning

Методы trainer.fit и trainer.validate

$$

  • Запуск обучения методом trainer.fit
  • Валидация модели методом trainer.validate

$$

trainer.fit(model, train_dataloader)

trainer.validate(model, val_dataloader)
  • Автоматизация циклов обучения и валидации
  • Мониторинг метрик на обоих этапах
Масштабируемые модели ИИ с PyTorch Lightning

Полный пример логики обучения

$$

  • Создание LightningModule с классификатором
  • Реализация training_step для расчёта и логирования потерь
  • Настройка оптимизаторов для обновления параметров
  • Обучение и валидация модели
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)
Масштабируемые модели ИИ с PyTorch Lightning

Применение в индустрии

Зачем нужна логика обучения?

  • Точное отслеживание потерь для контроля качества
  • Оптимизация пайплайнов для масштабируемого развёртывания

Примеры из практики:

  • Анализ медицинских изображений в диагностике
  • Выявление мошенничества в финансовых сервисах

Медицинская визуализация

Масштабируемые модели ИИ с PyTorch Lightning

Применение в индустрии

Зачем нужна логика обучения?

  • Точное отслеживание потерь для контроля качества
  • Оптимизация пайплайнов для масштабируемого развёртывания

Примеры из практики:

  • Анализ медицинских изображений в диагностике
  • Выявление мошенничества в финансовых сервисах

Медицинская визуализация и выявление мошенничества

Масштабируемые модели ИИ с PyTorch Lightning

Давайте потренируемся!

Масштабируемые модели ИИ с PyTorch Lightning

Preparing Video For Download...