学習ロジックを実装する

PyTorch Lightning によるスケーラブルな AI モデルの構築

Sergiy Tkachuk

Director, GenAI Productivity

学習ステップを定義する

  • 入力とラベルのバッチを処理する
  • 順伝播で予測値を計算する
  • 分類用の交差エントロピー損失を計算する
  • 監視用に学習損失を記録する
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 によるスケーラブルな AI モデルの構築

オプティマイザを設定する

  • 更新に適したオプティマイザを選択する
  • 勾配計算のためにモデルパラメータを紐付ける
  • 収束に適した学習率を設定する
  • Lightning統合用にオプティマイザインスタンスを返す
def configure_optimizers(self):
    optimizer = torch.optim.Adam(self.parameters(), lr=1e-3)
    return optimizer
PyTorch Lightning によるスケーラブルな AI モデルの構築

Lightning Trainerで学習する

  • 学習ロジックをLightning Trainerに統合する
  • 学習ループとエポックを自動管理する
  • 性能指標をリアルタイムで監視する

LightningTrainerのフロー

PyTorch Lightning によるスケーラブルな AI モデルの構築

trainer.fitとtrainer.validateを使う

$$

  • trainer.fitメソッドで学習を開始する
  • trainer.validateメソッドでモデルを検証する

$$

trainer.fit(model, train_dataloader)

trainer.validate(model, val_dataloader)
  • 学習と検証のサイクルを自動化する
  • 両方のフェーズで指標を監視する
PyTorch Lightning によるスケーラブルな AI モデルの構築

学習ロジックの完全な例

$$

  • 分類器を持つカスタム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 によるスケーラブルな AI モデルの構築

業界での活用

学習ロジックが重要な理由

  • 品質管理のために正確な損失追跡を確保する
  • スケーラブルな展開に向けて学習パイプラインを最適化する

実際の活用例:

  • 医療診断における画像解析を強化する
  • 金融サービスの不正検知を支援する

医療画像

PyTorch Lightning によるスケーラブルな AI モデルの構築

業界での活用

学習ロジックが重要な理由

  • 品質管理のために正確な損失追跡を確保する
  • スケーラブルな展開に向けて学習パイプラインを最適化する

実際の活用例:

  • 医療診断における画像解析を強化する
  • 金融サービスの不正検知を支援する

医療画像と不正検知

PyTorch Lightning によるスケーラブルな AI モデルの構築

練習しましょう!

PyTorch Lightning によるスケーラブルな AI モデルの構築

Preparing Video For Download...