スケーラビリティのためのモデル最適化
AI モデルを効率的にデプロイすることは、推論速度やモデルサイズ、計算効率が重要となる実際のアプリケーションにおいて欠かせません。ここでは、デプロイのためにモデルを保存・読み込みするスキルを試します。TorchScript へのエクスポートといった手法を使って、一連のワークフローを完成させましょう。使用するデータセットは MNIST データセットの派生版です。
この演習を完了すると、このレッスンで学んだ高度な手法を活用しながら、デプロイに最適化したモデルを準備できるようになります。
X_test、y_test データセットと torch.jit はあらかじめ読み込まれています。
この演習はコースの一部です
PyTorch Lightning によるスケーラブルな AI モデルの構築
演習の手順
trace関数を使って、モデルを TorchScript にエクスポートします。- モデルを TorchScript として保存します。
- 保存したモデルを読み込みます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Export model to TorchScript
scripted_model = torch.jit.____(model, torch.tensor(X_test[:1], dtype=torch.float32).unsqueeze(1))
# Save model to TorchScript
torch.jit.____(scripted_model, 'model.pt')
# Loaded saved model
loaded_model = torch.jit.____('____.pt')
# Validate inference on test dataset
test_loader = DataLoader(TensorDataset(torch.tensor(X_test, dtype=torch.float32).unsqueeze(1), ____), batch_size=64)
accuracy = evaluate_model(loaded_model, test_loader)
print(f"Optimized model accuracy: {accuracy:.2%}")