Mengekspor model dengan TorchScript

Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Apa itu TorchScript?

  • Independen dari Python

  • Efisien untuk produksi

  • Contoh:

    • Deployment di perangkat seluler

Sebuah ponsel

Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Apa itu TorchScript?

  • Independen dari Python

  • Efisien untuk produksi

  • Contoh:

    • Deployment di perangkat seluler
    • Inferensi berkinerja tinggi di sistem produksi

Sebuah ponsel dan laptop dengan roda gigi yang merepresentasikan lingkungan produksi

Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Mengonversi model ke TorchScript

Dua metode konversi:

  • torch.jit.trace: Menelusuri eksekusi dengan contoh input
  • torch.jit.script: Mengompilasi model dengan menganalisis kode Python

Kapan digunakan:

  1. Gunakan trace untuk model sederhana
  2. Gunakan script untuk model dengan alur kontrol (mis. loop)
import torch
import torch.nn as nn

class SimpleModel(nn.Module): def forward(self, x): return x * 2
model = SimpleModel() scripted_model = torch.jit.script(model)
Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Menyimpan dan memuat model TorchScript

$$

  • Menyimpan model:
    • torch.jit.save: Simpan model yang discript ke file
  • Memuat model:
    • torch.jit.load: Muat kembali model untuk inferensi

$$

# Save the model
torch.jit.save(scripted_mod,"model.pt")

# Load the model
loaded_model=torch.jit.load("model.pt")
Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Melakukan inferensi dengan TorchScript

  • Langkah:
    • Muat model TorchScript
    • Beri input ke model untuk prediksi
    • Output identik dengan prediksi PyTorch

Contoh Input:

  • Tensor input: [1.0, 2.0, 3.0]

Contoh Output:

  • Tensor output: [2.0, 4.0, 6.0]
# Perform inference
input_arr = [1.0, 2.0, 3.0]
input_tensor = torch.tensor(input_arr)

output = loaded_model(input_tensor) print(output)
Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Ringkasnya TorchScript

$$

  • torch.jit.trace: Untuk model statis
  • torch.jit.script: Menangani alur kontrol dinamis
  • torch.jit.save: Menyimpan model yang discript
  • torch.jit.load: Memuat ulang untuk inferensi
Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Ayo berlatih!

Model AI yang Dapat Diskalakan dengan PyTorch Lightning

Preparing Video For Download...