Machine Learning Operations (MLOps)
MLOps áp dụng các phương pháp DevOps vào học máy: quản lý phiên bản dữ liệu, pipeline huấn luyện tự động, cổng kiểm soát chất lượng, triển khai và giám sát drift.
Vận hành machine learning (MLOps) là tập hợp các quy trình và công cụ để xây dựng, triển khai và duy trì các model machine learning (ML) trong môi trường production một cách đáng tin cậy và có thể lặp lại. MLOps mở rộng DevOps, vốn tự động hóa quy trình kiểm thử và phát hành phần mềm, sang các hệ thống có hành vi phụ thuộc cả vào dữ liệu lẫn mã: model có thể suy giảm mà không cần thay đổi một dòng mã nào, chỉ vì thế giới mà model quan sát đã thay đổi. Bản thân model chỉ là một phần nhỏ của hệ thống như vậy. Hướng dẫn kiến trúc MLOps của Google lưu ý rằng mã ML chỉ chiếm một phần nhỏ trong hệ thống ML thực tế; phần còn lại bao gồm thu thập và xác minh dữ liệu, hạ tầng phục vụ model và giám sát. Bài báo NeurIPS Nợ kỹ thuật tiềm ẩn trong các hệ thống Machine Learning mô tả chi phí bảo trì dài hạn mà hệ thống xung quanh này tích lũy.
Các phương pháp cốt lõi#
MLOps kết nối kỹ thuật dữ liệu, phát triển model và vận hành thông qua một số quy trình, mỗi quy trình được áp dụng cho cả dữ liệu huấn luyện lẫn mã:
- Quản lý phiên bản dữ liệu: Mỗi snapshot của dataset được gán một phiên bản bất biến, giúp truy vết mọi model về đúng dữ liệu đã tạo ra model đó.
- Theo dõi thí nghiệm: Mỗi lần chạy huấn luyện ghi lại phiên bản mã, phiên bản dữ liệu, hyperparameter, metric và artifact để có thể so sánh và tái tạo kết quả.
- Tích hợp liên tục và phân phối: Pipeline tự động kiểm thử mã, xác thực dữ liệu đầu vào, huấn luyện lại model và chặn mọi model ứng viên không vượt qua cổng chất lượng.
- Model registry: Các phiên bản model đã được phê duyệt được lưu cùng metadata, lineage và giai đoạn, chẳng hạn như staging hoặc production, để quá trình triển khai và rollback chỉ rõ chính xác phiên bản cần dùng.
- Phục vụ model: Model được đóng gói, thường trong container, rồi cung cấp qua API hoặc triển khai lên các thiết bị edge.
- Giám sát model: Đầu vào production, dự đoán, độ trễ và độ chính xác được theo dõi để phát hiện drift và quyết định thời điểm huấn luyện lại.
Hướng dẫn của Google mô tả mức độ trưởng thành qua ba cấp độ. Ở cấp độ 0, data scientist huấn luyện và bàn giao model thủ công. Cấp độ 1 tự động hóa chính pipeline huấn luyện, bổ sung huấn luyện liên tục (CT), tức tự động huấn luyện lại và phục vụ model khi có dữ liệu mới hoặc phát hiện data drift. Cấp độ 2 cũng tự động hóa việc xây dựng, kiểm thử và triển khai mã pipeline bằng CI/CD, để các phiên bản pipeline mới đi vào production an toàn như các model mới. Những thực hành này kết hợp thành một vòng lặp:
MLOps trong thực tế#
- Kiểm tra trong sản xuất: Khi nhà máy bổ sung một dòng sản phẩm, ảnh lỗi mới được gán nhãn và quản lý phiên bản, pipeline huấn luyện lại model phát hiện, rồi phiên bản đã được phê duyệt được triển khai lên camera edge ở mọi dây chuyền mà không gây gián đoạn.
- Giám sát kệ hàng bán lẻ: Việc thiết kế lại bao bì và thay đổi ánh sáng cửa hàng làm thay đổi hình ảnh camera ghi nhận. Hệ thống giám sát phát hiện điểm confidence giảm, ảnh có confidence thấp được chuyển đi gán nhãn, rồi model đã huấn luyện lại được triển khai đến các cửa hàng sau khi vượt qua bước đánh giá.
Cổng chất lượng tự động hóa quyết định thăng cấp model. Script sau huấn luyện một model phát hiện đối tượng ứng viên, chấm điểm model đó và model hiện đang chạy production trên cùng dữ liệu validation, rồi chỉ xuất model ứng viên sang ONNX nếu mAP50-95 của model cao hơn:
from ultralytics import YOLO
# Huấn luyện model ứng viên; lần chạy lưu trọng số, args.yaml và results.csv trong project/name
candidate = YOLO("yolo26n.pt")
candidate.train(data="coco8.yaml", epochs=10, project="mlops", name="candidate")
# Cổng chất lượng: chấm điểm model ứng viên và model production trên cùng dữ liệu validation
candidate_map = candidate.val(data="coco8.yaml").box.map
production_map = YOLO("yolo26n.pt").val(data="coco8.yaml").box.map
# Chỉ thăng cấp model khi có cải thiện; xuất model sang định dạng mà stack phục vụ có thể chạy
if candidate_map > production_map:
candidate.export(format="onnx")Trong pipeline production, bộ lập lịch hoặc job CI chạy một script tương tự mỗi khi có dữ liệu mới được gán nhãn, còn model đã xuất được đăng ký cùng phiên bản dữ liệu và các metric. Ultralytics Platform quản lý vòng đời này cho các model thị giác trong một workspace, với phiên bản dataset bất biến, huấn luyện trên cloud cùng metric trực tiếp, xuất sang các định dạng như TensorRT, endpoint suy luận chuyên dụng và giám sát các model đã triển khai.
MLOps và các thuật ngữ liên quan#
- DevOps: Tự động hóa quá trình xây dựng, kiểm thử và phát hành phần mềm; thay đổi mã sẽ kích hoạt pipeline. MLOps bổ sung dữ liệu và model dưới dạng tài sản có quản lý phiên bản, vì vậy dữ liệu mới hoặc độ chính xác production giảm cũng có thể kích hoạt pipeline.
- LLMOps: Nhánh MLOps dành cho ứng dụng mô hình ngôn ngữ lớn, tập trung vào prompt, truy xuất, đánh giá văn bản được tạo và chi phí token.
- Machine learning tự động (AutoML): Tự động hóa việc xây dựng model, chẳng hạn như lựa chọn thuật toán và hyperparameter. MLOps quản lý vòng đời xung quanh model, từ quản lý phiên bản dữ liệu đến giám sát, và thường gọi AutoML như một bước trong pipeline.
- MLflow và Weights & Biases: Các công cụ hỗ trợ một phần vòng đời, chẳng hạn như theo dõi thí nghiệm và model registry. MLOps là quy trình kết hợp các công cụ này với pipeline, phục vụ model và giám sát.










