Overviews
Việc triển khai ổn định trong thực tế tốn nhiều thời gian vì vậy việc nắm bắt được quá trình hoạt động của hệ thống là vô cùng quan trọng. Chúng ta cần xây dựng cho dự án một vòng đời để kiểm soát được rủi ro khi dự án đang hoạt động.
ML in Production:
Configure
Ở bước này chúng ta cùng nhau xác địch mục tiêu của dự án với bài toán học máy, khai thác dựa trên các yếu tố:
- Mục tiêu (target): Ứng dụng ML để giải quyết vấn đề của dự án, các yêu cầu phù hợp.
- Đánh giá rủi ro (cost of mistakes): Không có mô hình nào là cố độ chính xác tuyệt đối 100% cả, vì vậy chúng ta cần đánh giá sơ bộ về tính khả thi cũng như khả năng dự đoán của mô hình ML để ước tính được sai số của nó hay còn có tên gọi là cost of mistake.
- Dữ liệu có sẵn hay không (data availability): Nếu chúng ta bắt đầu xây dựng mô hình ML mà không có dữ liệu sau đó tiến hành thu thập dữ liệu. Tốt nhất sẽ là dữ liệu của chúng ta phong phú và đa dạng, điều đó giúp cho mô hình hoạt động tốt hơn. Ví dụ: nếu bạn thực hiện phát hiện điểm bất thường mà không có dữ liệu được gắn nhãn, bạn có thể bắt đầu với nhiều loại thuật toán phân cụm không giám sát và đánh dấu các điểm không nằm trong bất kỳ cụm nào là điểm bất thường. Nhưng khi bạn thu thập phản ứng của người dùng đối với mô hình của mình, bạn sẽ có một tập dữ liệu được gắn nhãn. Sau đó, bạn có thể muốn thử xem mô hình phân loại được giám sát có hoạt động tốt hơn không.
- Đánh giá số liệu (evaluation metrics): Chúng ta nên lựa chọn ngưỡng của các số liệu nhằm giúp mô hình hoạt động một cách tối ưu hơn, số liệu này cần phù hợp với dự án chúng ta đang thực hiện.
Data collection
Thu thập dữ liệu cần thiết từ các trang web và hoàn toàn có thể tự xây dựng bộ dữ liệu cho dự án của bán dựa vào các yêu cầu của dự án.
Data verification
Việc dữ liệu chúng ta thu tập được bị xấu hoặt bị sai là điều quá bình thường, vì vậy cần phải lọc bỏ những thành phần dữ liệu gây nhiễu đối với mô hình của ML, cần làm sạch nó, loại bỏ các dữ liệu trùng lặp, gắn nhãn một cách chính xác cho chúng .
Khi dữ liệu đã được làm sạch, chúng ta có thể chuyển đổi dữ liệu sao cho phù hợp với mô hình ML mà chúng ta đang hướng tới sử dụng. Thay đổi cấu trúc hay kích thước bla bla… để phù hợp thì ta cần thực hiện nó.
Thực hiện kiểm tra chất lượng dữ liệu lần cuối để tiến hành cho vào bước huấn luyện.
ML model coding
Sau khi đã có được dữ liệu hoàn chỉnh, hãy đưa dữ liệu vào mô hình rồi tiến hành huẩn luyện nhé.
Ta thực hiện train với nhiều chế độ, chạy thử nhiệm, so sánh hiệu suất của các mô hình, điều chỉnh các siêu tham số khác nhau sau đó lựa chọn mô hình tốt nhất.
Serving infrastructure
Cơ sở hạ tầng ML bao gồm các tài nguyên, quy trình và công cụ cần thiết để phát triển, vận hành và đào tạo các mô hình ML. Mọi giai đoạn trong quy trình làm việc của nó đều được hỗ trợ bởi co sở hạ tầng ML, nhờ đó ta dễ dàng quản lý các quy trình và vận hành mô hình một cách tốt nhất. Bởi vì các mô hình khác nhau giữa các dự án, nên việc triển khai cơ sở hạ tầng của mỗi dữ án là khác nhau.
Monitoring
Đánh giá mô hình với mục tiêu ban đầu đặt ra kết hợp với phân tích các phần thiết bị cơ sở hạ tầng ảnh hưởng đến hiệu suất của mô hình. Tiến hành điều chỉnh với phản hồi của khách hàng đề phụ hợp với bài toán.
Ở mọi giai đoạn, không phải lúc nào bạn cũng tiến tới giai đoạn tiếp theo. Khi phát hiện ra các vấn đề, bạn quay lại giai đoạn trước có liên quan để điều chỉnh chúng. Vì vậy, chúng ta hoàn toàn có thể linh động các bước hoạt động thực hiện khi gặp vấn đề hay sự cố nào đó.
Bạn liên tục theo dõi tình trạng của mô hình, lỗi, độ trễ, dự đoán, phân phối các đặc trưng của mô hình đầu vào, v.v. Trong trường hợp có sự cố phát sinh, tùy thuộc vào mức độ nghiêm trọng và chẩn đoán, bạn có thể khôi phục hệ thống về phiên bản cũ hơn, phát hành hotfix, kích hoạt đào tạo lại mô hình hoặc làm bất cứ điều gì khác cần thiết.
Các bước triển khai trong ML Production
Cần có thứ tự các hoạt động thực hiện để làm chủ hệ thống. Triển khai và bảo trì sẽ dễ dàng hơn nếu tuân thủ các bước dưới đấy:
- Scoping
- Define project: Xác định project và các việc cần làm.
- Data
- Define data và thiết lập baseline.
- Label và organize data.
- Modeling
- Chọn mô hình và train mô hình.
- Thực hiện phân tích các lỗi gặp phải.
- Deployment
- Deploy trong sản phẩm.
- Theo dõi và maintain hệ thống.
Tổng kết
Trong bài viết này chúng ta đã nắm bắt được khá tổng quát lý thuyết của bài toán MLOps trong một dự án, về các bước thực hiện, tiến hành hệ thống. Đọc xong bài viết này, chắc hản các bạn đã có cái nhìn rõ hơn về MLOps rồi chứ, các bài viết tiếp theo sẽ đi sâu hơn và trực quan hơn nhé. Hãy cùng chờ đón những bài viết mới của mình.