0
0
Lập trình
Harry Tran
Harry Tran106580903228332612117

Khám Phá DVC: Những Khái Niệm Cơ Bản Về Quản Lý Phiên Bản Dữ Liệu Trong Machine Learning (Phần 1)

Đăng vào 1 tháng trước

• 4 phút đọc

Chủ đề:

mlops

Giới thiệu

DVC (Data Version Control) là một công cụ hữu ích cho việc quản lý phiên bản dữ liệu trong các dự án Machine Learning. Giống như Git cho mã nguồn, DVC giúp bạn theo dõi và kiểm soát các phiên bản dữ liệu và các tập tin liên quan, từ đó dễ dàng kết hợp dữ liệu với mã nguồn, giúp tái tạo kết quả nghiên cứu một cách hiệu quả hơn. Trong bối cảnh mà một dự án Machine Learning cần triển khai nhiều thí nghiệm với nhiều mô hình và dữ liệu khác nhau, DVC trở thành một công cụ không thể thiếu.

Cài đặt DVC

Để cài đặt DVC, bạn chỉ cần sử dụng lệnh đơn giản sau:

Copy
pip install dvc

Khởi động với DVC

Trước khi bắt đầu với các chức năng chính của DVC, bạn cần thực hiện một số bước thiết lập đơn giản. Đầu tiên, hãy tạo một thư mục mới để lưu trữ mã nguồn cho dự án Machine Learning:

Copy
mkdir example-get-started
cd example-get-started

Tiếp theo, khởi tạo Git trong thư mục vừa tạo:

Copy
git init

Sau đó, khởi tạo DVC trong dự án Git:

Copy
dvc init

Kiểm tra các thay đổi trong Git:

Copy
git status

Nếu mọi thứ ổn, bạn thực hiện việc commit quá trình khởi tạo DVC:

Copy
git commit -m "Initialize DVC"

Bây giờ, DVC đã sẵn sàng cho bạn sử dụng.

Các Tình Huống Sử Dụng Chính của DVC

Hai tình huống chính trong việc sử dụng DVC là Quản Lý Dữ LiệuTheo Dõi Thí Nghiệm:

  • Quản Lý Dữ Liệu: Theo dõi và đánh dấu phiên bản cho dữ liệu gắn liền với mã nguồn, giúp tái hiện lại quy trình đào tạo cũng như kết quả thí nghiệm.
  • Quản Lý Thí Nghiệm: Giúp quản lý, chia sẻ và hỗ trợ cộng tác giữa các lập trình viên trong quá trình thí nghiệm.

Kinh nghiệm cho thấy, DVC thường ít được sử dụng trong quản lý thí nghiệm. Trong bài viết này, chúng ta sẽ tập trung vào khía cạnh quản lý dữ liệu.

Quản Lý Dữ Liệu

Đánh Dấu Phiên Bản Dữ Liệu

Đánh dấu phiên bản dữ liệu là quá trình quản lý các tập dữ liệu, checkpoints của mô hình Machine Learning và các tập tin lớn khác. Khi sử dụng DVC, phiên bản của dữ liệu sẽ đi cùng với phiên bản của mã nguồn và không được đẩy lên Git repo. Bạn có thể nghĩ rằng, sử dụng DVC giống như sử dụng Git cho dữ liệu.

Chúng ta sẽ thử nghiệm việc theo dõi dữ liệu bằng cách tải về một tệp dữ liệu mẫu:

Copy
dvc get https://github.com/iterative/dataset-registry get-started/data.xml -o data/data.xml

Sau khi thực hiện, bạn sẽ tìm thấy tệp data.xml trong thư mục data.

Để theo dõi tệp dữ liệu, bạn sử dụng lệnh sau:

Copy
dvc add data/data.xml

Khi đó, DVC sẽ lưu trữ thông tin liên quan trong tệp .dvc có tên là data/data.xml.dvc. Để theo dõi các thay đổi, hãy sử dụng lệnh Git sau:

Copy
git add data/data.xml.dvc data/.gitignore
git commit -m "Add raw data"

Tải Dữ Liệu Lên Hệ Thống Lưu Trữ

DVC cho phép bạn tải dữ liệu được theo dõi lên nhiều hệ thống lưu trữ khác nhau như Amazon S3, Google Drive hay một thư mục cục bộ. Để thiết lập một thư mục cục bộ làm hệ thống lưu trữ, hãy thực hiện:

Copy
mkdir /tmp/dvcstore

 dvc remote add -d myremote /tmp/dvcstore

Để tải dữ liệu lên hệ thống lưu trữ, sử dụng lệnh:

Copy
dvc push

Khi cần tải dữ liệu về từ hệ thống lưu trữ, hãy sử dụng lệnh:

Copy
dvc pull

Cập Nhật Dữ Liệu

Khi có sự thay đổi trong tệp dữ liệu, bạn có thể cập nhật như sau:

Copy
dvc add data/data.xml
dvc push
git commit data/data.xml.dvc -m "Dataset updates"

Bạn cũng có thể chuyển đổi giữa các phiên bản dữ liệu tương tự như cách bạn thực hiện với mã nguồn:

Copy
git checkout <...>
dvc checkout

Đường Ống Dữ Liệu

Việc quản lý dữ liệu không chỉ dừng lại ở đánh dấu phiên bản. Dữ liệu thường cần trải qua nhiều bước xử lý trước khi được đưa vào mô hình Machine Learning. DVC cung cấp một hệ thống để định nghĩa và theo dõi các đường ống dữ liệu.

Tổ chức dự án một cách khoa học và có thể tái tạo quy trình cùng kết quả là rất cần thiết. Bạn có thể định nghĩa các giai đoạn xử lý trong pipeline với lệnh:

Copy
dvc stage add -n prepare -d src/prepare.py -d data/data.xml -o data/prepared python src/prepare.py data/data.xml

Sau khi tạo các giai đoạn, bạn có thể chạy pipeline bằng lệnh:

Copy
dvc repro

Thông tin về pipeline sẽ được lưu trữ trong tệp dvc.yaml, cho phép bạn theo dõi và quản lý dễ dàng hơn.

Kết Luận

Qua bài viết này, bạn đã biết về các khái niệm và thao tác cơ bản nhất của DVC. Trong phần tiếp theo, chúng ta sẽ tìm hiểu cách kết hợp DVC với những công nghệ khác để xây dựng một dự án hoàn chỉnh!

Tham khảo

  1. DVC Official Website
  2. Iterative AI
    source: viblo
Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào