Code tham khảo: https://github.com/dangnha/dvc-mnist-demo

1. Theory Perspective

1.1. AI, MLOPs

Introduction to MLOPs

AI chỉ đơn giản là Functions

Khi người dùng sử dụng hệ thống thì thường sẽ give feedback cho cửa hàng Ở đây chúng ta sẽ ứng dụng AI để sentiment analysis từ đó đánh giá được để cải thiện hệ thống.

ML Life cycle

Đây là một quy trình khép kín và sẽ luôn được phát triển dần dần lên.

Vậy từ Business Require chúng ta xác định được Problem từ đó lấy Input AI Model và đưa ra kết quả.

Các công cụ trong MLOPs

Sau khi chúng ta thu thập dữ liệu, thiết kế và Training Model thì tiếp theo là xây dựng API để triển khai cho người dùng.

Vậy chúng ta cần data version để nhận thêm data mới, data feedback để cải thiện model.

Problem on Data Version:

Ví dụ về vấn đề trong việc xử lý Data Version

Trong xử lý dữ liệu Time series (ví dụ như dữ liệu thời tiết, xử dụng điện, dữ liệu thị trường chứng khoán), thì các dữ liệu được cập nhật liên tục theo thời gian và các dữ liệu mới đều có liên kết chặt chẽ với các dữ liệu cũ vì thế chúng ta phải luôn update được model.

Mỗi khi chúng ta thay đổi dataset hoặc checkpoint thì lại phải thay đổi model từ đó thay đổi result files thì dần dần sẽ trở nên nhiều và khó lưu trữ, làm việc nếu không có phương pháp.

Vấn đề này giống như chúng ta cập nhật version cho code khi làm việc chung hoặc triển khai dự án Và chúng ta đã xử lý được với GitHub.

1.2. Data Version Control

Đây là Pipeline chung để chúng ta xử lý data version. Data Version Control được ứng dụng không chỉ ở môi trường Production mà còn có thể ứng dụng trong nghiên cứu và thiết kế model.

Các công cụ có thể dùng cho Data Version Control:

DVC: DVC là một công cụ tốt cho việc Data Version Control với các tính năng:

  • Open Source tool Data Vesion Control to manage ML Projects: https://dvc.org/
  • DVC is a data science platform on top of open source stack
  • Easy download: pip install dvc
  • Easy command like Git: dvc add, dvc run, dvc repo, dvc remote

Đây là minh họa giữa việc chúng ta không có DVC và có DVC Những đặc điểm của DVC:

2. Case study Implementation

Step 1: Set Up Project

Tạo các Folder cho dự án:

Khởi tạo môi trường

Trường hợp dùng venv MacOS

# Tạo môi trường venv
python3 -m venv dvc_mnist
 
# Kích hoạt môi trường (macOS/Linux)
source dvc_mnist/bin/activate

3. Automate Pipeline with DVC