Model Registry
Tìm hiểu cách một model registry quản lý phiên bản, quản lý và triển khai các ML model. Khám phá Ultralytics Platform để huấn luyện, quản lý, giám sát và đảm bảo tính tái lập tập trung.
Model registry là hệ thống tập trung dùng để tổ chức, quản lý phiên bản, kiểm soát và truy xuất các machine learning model trong suốt vòng đời của chúng. Hệ thống này kết nối các file model, chẳng hạn như model weights đã học, với siêu dữ liệu (metadata) mô tả cách mỗi model được huấn luyện, đánh giá, phê duyệt và triển khai. Là một thành phần cốt lõi của machine learning operations, registry cung cấp cho các nhóm một nguồn đáng tin cậy để quyết định phiên bản model nào nên phục vụ cho lưu lượng sản xuất (production traffic).
Cách Model Registry hoạt động#
Quá trình đăng ký model bắt đầu sau khi một đợt huấn luyện tạo ra một model ứng viên. Registry tạo một mục nhập có tên, gán một phiên bản và ghi lại thông tin cần thiết để hiểu và tái tạo lại artifact. Một mục nhập tiêu biểu bao gồm:
- Model artifact: Các trọng số đã được tuần tự hóa (serialized weights), logic tiền xử lý, file cấu hình hoặc tham chiếu đến vị trí lưu trữ của chúng.
- Phiên bản (Version): Một định danh bất biến (immutable identifier) phân biệt ứng viên này với ứng viên khác.
- Các chỉ số và tham số (Metrics and parameters): Độ chính xác khi xác thực (validation accuracy), precision, recall, độ trễ (latency), chi tiết dataset, hyperparameter và các phép đo lường khác.
- Dòng dõi (Lineage): Mối liên hệ giữa model, mã nguồn, đợt huấn luyện và dữ liệu.
- Trạng thái (Status): Các nhãn như candidate (ứng viên), approved (đã phê duyệt), rejected (đã từ chối), champion (vô địch) hoặc archived (đã lưu trữ).
- Thông tin triển khai (Deployment information): Các môi trường và endpoint hiện đang sử dụng phiên bản đó.
Các nền tảng triển khai những ý tưởng này theo các cách khác nhau. MLflow Model Registry workflow sử dụng các registered model, version, alias và tag, trong khi Amazon SageMaker Model Registry hỗ trợ model group, trạng thái phê duyệt, dòng dõi và tự động hóa triển khai. Một số hệ thống cũng ghi lại chữ ký của model (model signature): lược đồ đầu vào và đầu ra dự kiến được mô tả trong tài liệu về chữ ký model của Snowflake.
Các bí danh (alias) như champion hoặc production cung cấp tên ổn định có thể dịch chuyển giữa các phiên bản bất biến. Như được giải thích trong hướng dẫn về model alias của Vertex AI, một ứng dụng có thể yêu cầu một alias mà không cần mã hóa cứng (hard-code) số phiên bản.
Model Registry và các khái niệm liên quan#
Model registry có sự trùng lặp với một số công cụ ML nhưng phục vụ một mục đích riêng biệt:
- Experiment tracking ghi lại các đợt huấn luyện, bao gồm tham số, chỉ số và các artifact trung gian. Registry nhận các đầu ra được chọn từ các thí nghiệm đó và quản lý chúng dưới dạng các ứng viên phát hành (release candidate).
- Lưu trữ artifact (Artifact storage) chứa các file lớn. Registry có thể lưu trữ trực tiếp các file đó, nhưng cũng có thể hoạt động như một chỉ mục metadata trỏ đến bộ nhớ đối tượng bên ngoài. Kiến trúc Kubeflow Model Registry minh họa thiết kế tập trung vào metadata này.
- Quản lý mã nguồn (Source control) quản lý phiên bản mã, trong khi model registry quản lý phiên bản các artifact đã được huấn luyện và metadata đặc trưng cho ML của chúng. GitLab model registry có thể kết nối các phiên bản model với các tác vụ CI/CD, log, metric và tham số.
- Model deployment giúp một model đã chọn sẵn sàng để thực hiện inference. Registry xác định artifact đã được phê duyệt; hệ thống triển khai sẽ chạy nó.
- Model monitoring theo dõi hành vi trong môi trường production sau khi phát hành. Kết quả giám sát có thể kích hoạt việc đánh giá, huấn luyện lại, đăng ký và thăng hạng phiên bản thay thế.
Do đó, registry đóng vai trò là điểm kiểm soát giữa quá trình thử nghiệm và môi trường production thay vì thay thế mọi thành phần xung quanh nó.
Các ứng dụng trong thực tế#
Trong một hệ thống kiểm tra sản xuất, các kỹ sư có thể huấn luyện lại trình phát hiện lỗi bất cứ khi nào camera, vật liệu hoặc thiết kế sản phẩm thay đổi. Registry có thể lưu giữ tham chiếu dataset của từng model, độ chính xác trung bình (mAP), độ trễ inference và định dạng phần cứng được hỗ trợ. Sau khi các thử nghiệm xác nhận rằng phiên bản 12 cải thiện việc phát hiện vết xước mà không làm tăng các cảnh báo sai, người phê duyệt có thể thăng hạng phiên bản đó và giữ lại phiên bản 11 để khôi phục ngay lập tức khi cần.
Trong phân tích hình ảnh y tế, nhiều nhóm có thể đánh giá các ứng viên phát hiện khối u. Việc đăng ký giúp lưu giữ kết quả xác thực, cấu hình huấn luyện, chủ sở hữu chịu trách nhiệm và lịch sử phê duyệt cho từng phiên bản. Các ứng dụng production có thể bị giới hạn ở các model đã được xem xét, trong khi các phiên bản cũ hơn vẫn có sẵn để kiểm toán và tái tạo kết quả. Các biện pháp kiểm soát dựa auf vai trò (role-based controls), chẳng hạn như những gì được mô tả cho quản trị Snowflake Model Registry, giúp ngăn chặn việc thay thế hoặc kiểm tra trái phép các artifact nhạy cảm.
Đăng ký Model trong các quy trình làm việc của Ultralytics#
Ultralytics Platform cung cấp khả năng quản lý model tập trung để gán nhãn dataset, huấn luyện, so sánh kết quả, xuất file, triển khai và giám sát các computer vision model. Quy trình quản lý model trên Platform có tài liệu hỗ trợ tải lên các file trọng số .pt và các model được tạo thông qua huấn luyện trên đám mây hoặc từ xa.
Quy trình làm việc có tài liệu sau đây sẽ huấn luyện Ultralytics YOLO26 tại chỗ (locally) đồng thời gửi model, cấu hình, chỉ số và log kết quả đến một project trên Platform đã được đặt tên:
import os
from ultralytics import YOLO
# Authenticate remote training with Ultralytics Platform
os.environ["ULTRALYTICS_API_KEY"] = "YOUR_API_KEY"
model = YOLO("yolo26n.pt")
model.train(
data="coco8.yaml",
epochs=3,
project="username/model-registry-demo",
name="candidate-001",
)Tên project và tên lượt chạy (run name) giúp ứng viên dễ dàng được tìm thấy cùng với các model có liên quan. Các nhóm có thể đánh giá model đó, sử dụng tích hợp Ultralytics MLflow để ghi log thí nghiệm bổ sung, hoặc áp dụng tính năng xuất YOLO model khi một model đã đăng ký cần chạy trên phần cứng đám mây hoặc biên (edge hardware) cụ thể.
Hướng dẫn Registry thực tế#
Hãy coi mọi phiên bản đã đăng ký là bất biến (immutable). Sử dụng các bí danh dễ đọc cho việc triển khai, lưu giữ bằng chứng xác thực và xác định các yêu cầu thăng hạng rõ ràng. Chính sách đặt tên dựa trên Semantic Versioning có thể giúp truyền ạt các thay đổi về tính tương thích, mặc dù các phiên bản tự động tăng dần cũng rất hiệu quả.
Quan trọng nhất, hãy đăng ký các gói model hoàn chỉnh thay vì chỉ các file trọng số không rõ nguồn gốc. Việc thiếu các quy tắc tiền xử lý, tên lớp, lược đồ đầu vào, phần phụ thuộc hoặc tham chiếu dataset có thể khiến một model thoạt nhìn có vẻ hợp lệ trở nên bất khả thi để tái tạo hoặc không an toàn khi triển khai. Kiểm soát truy cập, kiểm thử tự động, cổng phê duyệt, log kiểm toán và quy trình khôi phục biến model registry từ một danh mục file thành một lớp bảo vệ production đáng tin cậy.






