MLOps: Model Monitoring
Đây là bài viết thứ hai trong chuỗi chia sẻ về MLOps. Nếu bạn chưa xem bài đầu tiên về Training Orchestration, có thể tham khảo tại đây:
👉 Training Orchestration
Trong bài này, mình sẽ tập trung vào Model Monitoring - monitoring mô hình máy học – một phần quan trọng trong hệ thống ML production. Đây cũng là điểm mới trong CRISP-ML(Q) so với phương pháp CRISP-DM truyền thống (❌ CRISP-DM chưa đề cập rõ đến Monitoring/Maintenance, trong khi ✅ CRISP-ML(Q) bổ sung thêm các yếu tố như Quality Assurance và Monitoring & Maintenance. Mình sẽ chia sẻ chi tiết hơn về phần này trong một bài viết sau).
MLOps: Giám sát Mô Hình 🔥
Model Monitoring là một loạt các kỹ thuật theo dõi và phân tích hiệu suất của các mô hình ML trong production. Nó giúp đo lường chất lượng mô hình đang diễn ra, phát hiện các vấn đề tiềm ẩn và giải quyết kịp thời.
Một số công cụ phổ biến để giám sát mô hình trong MLOps bao gồm:
Evidently AI
web
Data drift parameters
Learning
Evidently giúp phân tích các mô hình machine learning trong giai đoạn xác thực hoặc khi đang triển khai sản phẩm (validation or production monitoring). Nó tạo ra các báo cáo tương tác từ pandas DataFrames hoặc file CSV.
Tính năng:
- Model Health: Nhanh chóng trực quan hóa hiệu suất mô hình và các chỉ số quan trọng. Tạo danh sách ưu tiên các vấn đề cần debug.
- Data Drift (feature drift): So sánh dữ liệu gần đây với dữ liệu trong quá khứ. Xác định các đặc trưng đã thay đổi và xem liệu các yếu tố chính ảnh hưởng đến mô hình có bị thay đổi hay không.
- Target Drift (label drift): Hiểu được sự thay đổi của dự đoán mô hình và target theo thời gian. Nếu ground truth bị chậm, bạn có thể phát hiện suy giảm mô hình (model decay) sớm.
Hướng dẫn sử dụng
Kaggle notebook
Đây là một thư viện rất hữu ích!
Deepchecks
Monitoring
Quickstarts
Model drift
Deepchecks giúp xác thực và giám sát dữ liệu cũng như mô hình trong quá trình huấn luyện, triển khai và phát hành các phiên bản mới.
Tính năng:
- Kiểm định dữ liệu huấn luyện và mô hình ML
- Khả năng quan sát hệ thống ML đang chạy
- Cảnh báo các vấn đề xảy ra trong hệ thống ML live
- Phát hiện sai lệch giữa môi trường nghiên cứu và sản xuất (research and production)
- Truy vấn nhanh dữ liệu production có vấn đề
Aporia
Aporia cho phép các data scientists và kỹ sư ML dễ dàng xây dựng hệ thống giám sát cho các mô hình ML đang hoạt động trong production.
Tính năng:
- Tự xây dựng logic monitor
- Phát hiện concept drift & lỗi integrity dữ liệu
- Hỗ trợ chạy trong hạ tầng riêng (VPC)
- Dashboard thân thiện, dễ sử dụng
- Theo dõi các phân đoạn dữ liệu cụ thể
Hướng dẫn giám sát mô hình với Aporia (video)
WhyLabs
WhyLabs giúp người dùng thiết lập hệ thống giám sát AI chỉ với 3 bước đơn giản. Nó sử dụng mô hình DevOps chuẩn với một tác nhân log nhẹ (whylogs) bên cạnh mô hình và gửi dữ liệu đến nền tảng SaaS để phân tích và cảnh báo.
Tính năng:
- Quy trình thiết lập đơn giản, nhanh chóng
- Tự động phát hiện data drift và cảnh báo
- Hệ thống chuẩn công nghiệp cho profiling dữ liệu qua thư viện mã nguồn mở “whylogs”
MLRun
Tutorial
Model monitoring and drift detection
MLRun là một framework mã nguồn mở để orchestration toàn bộ vòng đời ML – từ ingestion dữ liệu, phát triển mô hình cho đến triển khai pipeline.
Tính năng:
- Feature và Artifact Store: Xử lý và lưu trữ dữ liệu và metadata trên nhiều nền tảng
- Elastic Serverless Runtimes: Biến code thành các microservice có thể scale
- ML Pipeline Automation: Tự động hóa toàn bộ pipeline huấn luyện, test, triển khai và monitoring
- Central Management: Giao diện quản lý tập trung gồm UI, CLI và SDK
Alibi Detect
Alibi Detect là thư viện Python mã nguồn mở, tập trung vào phát hiện outlier, adversarial và drift. Nó hỗ trợ cả chế độ online và offline cho dữ liệu dạng bảng, văn bản, hình ảnh và chuỗi thời gian.
Các phép kiểm định được chia thành:
Univariate:
- Chi-Squared (cho dữ liệu phân loại)
- Kolmogorov-Smirnov
- Cramér-von Mises
- Fisher’s Exact Test (cho dữ liệu nhị phân)
Multivariate:
- Least-Squares Density Difference (LSDD)
- Maximum Mean Discrepancy (MMD)
Tất cả các detector hỗ trợ backend PyTorch và TensorFlow. Các bước tiền xử lý có thể bao gồm encoder ngẫu nhiên, embedding từ transformers, và trích xuất layer ẩn từ mô hình ML. Điều này cho phép phát hiện nhiều loại drift khác nhau như covariate drift và predicted distribution shift.