Xuất mô hình với TorchScript

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

Sergiy Tkachuk

Director, GenAI Productivity

TorchScript là gì?

  • Độc lập với Python

  • Hiệu quả trong sản xuất

  • Ví dụ:

    • Triển khai trên thiết bị di động

Một chiếc điện thoại di động

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

TorchScript là gì?

  • Độc lập với Python

  • Hiệu quả trong sản xuất

  • Ví dụ:

    • Triển khai trên thiết bị di động
    • Suy luận hiệu năng cao trong hệ thống sản xuất

Một điện thoại và một máy tính xách tay với bánh răng đại diện cho môi trường sản xuất

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

Chuyển mô hình sang TorchScript

Hai cách chuyển đổi:

  • torch.jit.trace: Dùng đầu vào mẫu để truy vết thực thi
  • torch.jit.script: Biên dịch bằng phân tích mã Python

Khi nào dùng:

  1. Dùng trace cho mô hình đơn giản
  2. Dùng script cho mô hình có luồng điều khiển (ví dụ: vòng lặp)
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)
Mô hình AI có khả năng mở rộng với PyTorch Lightning

Lưu và tải mô hình TorchScript

$$

  • Lưu mô hình:
    • torch.jit.save: Lưu mô hình đã script vào tệp
  • Tải mô hình:
    • torch.jit.load: Tải lại mô hình để suy luận

$$

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

# Load the model
loaded_model=torch.jit.load("model.pt")
Mô hình AI có khả năng mở rộng với PyTorch Lightning

Suy luận với TorchScript

  • Các bước:
    • Tải mô hình TorchScript
    • Truyền đầu vào để dự đoán
    • Đầu ra giống hệt PyTorch

Ví dụ đầu vào:

  • Tensor đầu vào: [1.0, 2.0, 3.0]

Ví dụ đầu ra:

  • Tensor đầu ra: [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)
Mô hình AI có khả năng mở rộng với PyTorch Lightning

TorchScript tóm tắt

$$

  • torch.jit.trace: Dùng cho mô hình tĩnh
  • torch.jit.script: Xử lý luồng điều khiển động
  • torch.jit.save: Lưu mô hình đã script
  • torch.jit.load: Tải lại để suy luận
Mô hình AI có khả năng mở rộng với PyTorch Lightning

Ayo berlatih!

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

Preparing Video For Download...