Phân phiên bản dữ liệu và mô hình

Phát triển mô hình Machine Learning cho môi trường sản xuất

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Phiên bản chính & phụ

Hai loại phiên bản: chính và phụ

  • Phiên bản chính biểu thị thay đổi lớn ở dữ liệu hoặc mô hình

  • Phiên bản phụ biểu thị thay đổi nhỏ

Với phiên bản chính/phụ, ta thấy được dữ liệu hay mô hình đã thay đổi như thế nào và ở đâu

Phát triển mô hình Machine Learning cho môi trường sản xuất

Phân phiên bản dữ liệu huấn luyện

  • Nhãn chính/phụ hoặc dấu thời gian duy nhất
  • Đảm bảo khả năng tái lập và truy vết thí nghiệm
  • Dễ quay lại phiên bản dữ liệu trước
  • Theo dõi dữ liệu thay đổi theo thời gian

Ví dụ:

  1. Data V 1.0 là tập dữ liệu ban đầu
  2. Data V 1.1 bổ sung biến đổi đặc trưng
  3. Data V 1.2 thêm phương pháp chọn đặc trưng
  4. Data V 2.0 bao gồm nguồn dữ liệu hoàn toàn mới
Phát triển mô hình Machine Learning cho môi trường sản xuất

Kho đặc trưng (Feature store)

  • Kho trung tâm lưu trữ và quản lý các phiên bản đặc trưng
  • Dễ dàng theo dõi các phiên bản đặc trưng
  • Dùng đặc trưng cho các thí nghiệm khác nhau
  • Tăng hợp tác và tính toàn vẹn thí nghiệm
  • Giảm trùng lặp công việc
Phát triển mô hình Machine Learning cho môi trường sản xuất

Phân phiên bản mô hình ML

  • Theo dõi các phiên bản mô hình ML
  • Đảm bảo khả năng tái lập và truy vết thí nghiệm
  • Dễ hoàn nguyên về phiên bản mô hình trước
  • Thường khớp phiên bản dữ liệu huấn luyện nhưng không phải luôn luôn

Ví dụ:

  1. Model V 1.0 là mô hình ban đầu (Random Forest)
  2. Model V 1.1 là cùng mô hình tinh chỉnh trên Data V 1.1
  3. Model V 2.0 là mô hình XGBoost tinh chỉnh trên Data V 1.2
  4. Model V 2.1 là XGBoost tinh chỉnh trên Data V 2.0
Phát triển mô hình Machine Learning cho môi trường sản xuất

Kho mô hình (Model store)

  • Kho trung tâm lưu trữ và quản lý các phiên bản mô hình
  • Dễ dàng theo dõi các phiên bản mô hình
  • Hoàn nguyên về phiên bản trước
Phát triển mô hình Machine Learning cho môi trường sản xuất

Ví dụ phân phiên bản mô hình với MLflow

import mlflow

# Start a new mlflow run
with mlflow.start_run() as run:
    # Log model version as a parameter
    mlflow.log_param("model_version", "1.0")

    # Train and save the model
    model = train_model()
    mlflow.sklearn.log_model(model, "model")
Phát triển mô hình Machine Learning cho môi trường sản xuất

Ayo berlatih!

Phát triển mô hình Machine Learning cho môi trường sản xuất

Preparing Video For Download...