Chuẩn bị mô hình với AutoModel và Accelerator

Huấn luyện Mô hình AI Hiệu quả với PyTorch

Dennis Lee

Data Engineer, Amazon

Gặp gỡ giảng viên của bạn!

$$

  • Kỹ sư dữ liệu

Ảnh giảng viên

Biểu tượng máy chủ

Huấn luyện Mô hình AI Hiệu quả với PyTorch

Gặp gỡ giảng viên của bạn!

$$

  • Kỹ sư dữ liệu
  • Nhà khoa học dữ liệu

Ảnh giảng viên

Biểu tượng máy chủ và bóng đèn

Huấn luyện Mô hình AI Hiệu quả với PyTorch

Gặp gỡ giảng viên của bạn!

$$

  • Kỹ sư dữ liệu
  • Nhà khoa học dữ liệu
  • Tiến sĩ Kỹ thuật Điện

Ảnh giảng viên

Biểu tượng máy chủ, bóng đèn và mũ tốt nghiệp

Huấn luyện Mô hình AI Hiệu quả với PyTorch

Gặp gỡ giảng viên của bạn!

$$

  • Kỹ sư dữ liệu
  • Nhà khoa học dữ liệu
  • Tiến sĩ Kỹ thuật Điện

Ảnh giảng viên

Biểu tượng máy chủ, bóng đèn và mũ tốt nghiệp

$$

$$

$$

Rất vui được chia sẻ các thực hành tốt nhất!

Huấn luyện Mô hình AI Hiệu quả với PyTorch

Lộ trình huấn luyện AI hiệu quả

  • Huấn luyện mô hình AI phân tán

Laptop

Huấn luyện Mô hình AI Hiệu quả với PyTorch

Lộ trình huấn luyện AI hiệu quả

  • Huấn luyện mô hình AI phân tán

Một chiếc laptop và một người đang chờ

Huấn luyện Mô hình AI Hiệu quả với PyTorch

Lộ trình huấn luyện AI hiệu quả

  • Huấn luyện mô hình AI phân tán

Một laptop, một người đang chờ, và một chip nhớ

  • ↓ ↓ Thời gian huấn luyện cho các mô hình ngôn ngữ lớn

Một lịch

Huấn luyện Mô hình AI Hiệu quả với PyTorch

Lộ trình huấn luyện AI hiệu quả

Lưu đồ minh họa các chủ đề khóa học: chuẩn bị dữ liệu, huấn luyện phân tán, huấn luyện hiệu quả và bộ tối ưu.

$$

  • Chuẩn bị dữ liệu: đặt dữ liệu lên nhiều thiết bị
Huấn luyện Mô hình AI Hiệu quả với PyTorch

Lộ trình huấn luyện AI hiệu quả

Lưu đồ minh họa các chủ đề khóa học: chuẩn bị dữ liệu, huấn luyện phân tán, huấn luyện hiệu quả và bộ tối ưu.

$$

  • Chuẩn bị dữ liệu: đặt dữ liệu lên nhiều thiết bị
  • Huấn luyện phân tán: mở rộng huấn luyện sang nhiều thiết bị
Huấn luyện Mô hình AI Hiệu quả với PyTorch

Lộ trình huấn luyện AI hiệu quả

Lưu đồ minh họa các chủ đề khóa học: chuẩn bị dữ liệu, huấn luyện phân tán, huấn luyện hiệu quả và bộ tối ưu.

$$

  • Chuẩn bị dữ liệu: đặt dữ liệu lên nhiều thiết bị
  • Huấn luyện phân tán: mở rộng huấn luyện sang nhiều thiết bị
  • Huấn luyện hiệu quả: tối ưu hóa các thiết bị sẵn có
Huấn luyện Mô hình AI Hiệu quả với PyTorch

Lộ trình huấn luyện AI hiệu quả

Lưu đồ minh họa các chủ đề khóa học: chuẩn bị dữ liệu, huấn luyện phân tán, huấn luyện hiệu quả và bộ tối ưu.

$$

  • Chuẩn bị dữ liệu: đặt dữ liệu lên nhiều thiết bị
  • Huấn luyện phân tán: mở rộng huấn luyện sang nhiều thiết bị
  • Huấn luyện hiệu quả: tối ưu hóa các thiết bị sẵn có
  • Bộ tối ưu: tăng tốc huấn luyện
Huấn luyện Mô hình AI Hiệu quả với PyTorch

CPU

  • Hầu hết laptop dùng CPU

         

Laptop dùng CPU

GPU

  • GPU có thể huấn luyện mô hình lớn

         

Laptop dùng GPU

Huấn luyện Mô hình AI Hiệu quả với PyTorch

CPU so với GPU

CPU

  • Hầu hết laptop dùng CPU
  • Thiết kế cho tính toán đa dụng
  • Kiểm soát luồng tốt hơn

         

Laptop cho tác vụ hằng ngày

GPU

  • GPU có thể huấn luyện mô hình lớn
  • Chuyên cho tính toán song song cao
  • Mạnh ở phép toán ma trận

         

Laptop cho tính toán song song

Huấn luyện Mô hình AI Hiệu quả với PyTorch

Huấn luyện phân tán

Sơ đồ huấn luyện phân tán cho thấy sao chép mô hình và chia mảnh dữ liệu.

  • Chia mảnh dữ liệu: mỗi thiết bị xử lý một phần dữ liệu song song
Huấn luyện Mô hình AI Hiệu quả với PyTorch

Huấn luyện phân tán

Sơ đồ huấn luyện phân tán cho thấy sao chép mô hình và chia mảnh dữ liệu.

  • Chia mảnh dữ liệu: mỗi thiết bị xử lý một phần dữ liệu song song
  • Sao chép mô hình: mỗi thiết bị chạy lan truyền thuận/nghịch
  • Gộp gradient: thiết bị chỉ định gộp các gradient
  • Đồng bộ tham số: thiết bị chỉ định chia sẻ tham số đã cập nhật
Huấn luyện Mô hình AI Hiệu quả với PyTorch

Hiệu quả dễ dàng: tận dụng mô hình tiền huấn luyện

  • Tận dụng các mô hình Transformer tiền huấn luyện
  • Khởi tạo tham số bằng AutoModelForSequenceClassification
  • Hiển thị cấu hình
from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained(model_name)

print(model.config)
DistilBertConfig {
  "architectures": ["DistilBertForMaskedLM"],
  "dim": 768,
  "dropout": 0.1,
  "hidden_dim": 3072,
  ...
Huấn luyện Mô hình AI Hiệu quả với PyTorch

Đặt thiết bị với Accelerator

  • Một lớp của Hugging Face 🤗
  • Accelerator phát hiện thiết bị sẵn có trên máy
  • Tự động đặt thiết bị và song song dữ liệu: accelerator.prepare()
  • Đặt mô hình (kiểu torch.nn.Module) lên GPU sẵn có đầu tiên
  • Mặc định dùng CPU nếu không có GPU
from accelerate import Accelerator
accelerator = Accelerator()
model = accelerator.prepare(model)

print(accelerator.device)
cpu
Huấn luyện Mô hình AI Hiệu quả với PyTorch

Hãy thực hành!

Huấn luyện Mô hình AI Hiệu quả với PyTorch

Preparing Video For Download...