Model Serving
Tìm hiểu cách model serving thu hẹp khoảng cách giữa các model đã huấn luyện và môi trường production. Khám phá các chiến lược triển khai Ultralytics YOLO26 trên Ultralytics Platform.
Phục vụ model là quá trình lưu trữ một model machine learning đã được huấn luyện và cung cấp chức năng của model đó cho các ứng dụng phần mềm thông qua giao diện mạng. Đây là cầu nối giữa một tệp model tĩnh được lưu trên đĩa và một hệ thống trực tiếp xử lý dữ liệu thực tế. Sau khi model hoàn tất giai đoạn huấn luyện machine learning (ML), model phải được tích hợp vào môi trường production, nơi có thể tiếp nhận các đầu vào—chẳng hạn như hình ảnh, văn bản hoặc dữ liệu dạng bảng—và trả về các dự đoán. Điều này thường được thực hiện bằng cách đóng gói model trong một Giao diện lập trình ứng dụng (API), cho phép model giao tiếp với web server, ứng dụng di động hoặc thiết bị IoT.
Vai trò của việc phục vụ model trong AI#
Mục tiêu chính của việc phục vụ model là đưa các khả năng mô hình dự đoán vào vận hành một cách hiệu quả. Trong khi quá trình huấn luyện tập trung vào độ chính xác và tối thiểu hóa loss, việc phục vụ model tập trung vào các chỉ số hiệu năng như độ trễ (tốc độ trả về một dự đoán) và thông lượng (số lượng request có thể được xử lý mỗi giây). Hạ tầng phục vụ mạnh mẽ đảm bảo các hệ thống thị giác máy tính (CV) vẫn đáng tin cậy khi chịu tải lớn. Hạ tầng này thường sử dụng các công nghệ như container hóa với các công cụ như Docker, giúp đóng gói model cùng các dependency để đảm bảo hành vi nhất quán trên các môi trường điện toán khác nhau.
Các ứng dụng trong thực tế#
Việc phục vụ model cung cấp năng lực cho các tính năng AI phổ biến trong nhiều ngành khác nhau bằng cách cho phép ra quyết định tức thời dựa trên dữ liệu.
- Sản xuất thông minh: Trong môi trường công nghiệp, các hệ thống AI trong sản xuất sử dụng các model được phục vụ để kiểm tra dây chuyền lắp ráp. Hình ảnh độ phân giải cao của các linh kiện được gửi đến một server cục bộ, tại đó model YOLO26 phát hiện các lỗi như vết xước hoặc lệch vị trí, đồng thời kích hoạt cảnh báo ngay lập tức để loại bỏ sản phẩm lỗi.
- Tự động hóa bán lẻ: Các nhà bán lẻ sử dụng AI trong bán lẻ để nâng cao trải nghiệm khách hàng. Camera được các model phát hiện đối tượng phục vụ sẽ xác định các sản phẩm trong khu vực thanh toán, tự động tính tổng chi phí mà không cần quét mã vạch thủ công.
Triển khai thực tế#
Để phục vụ model một cách hiệu quả, việc xuất model sang một định dạng tiêu chuẩn như ONNX thường rất hữu ích; điều này thúc đẩy khả năng tương tác giữa các framework huấn luyện và engine phục vụ khác nhau. Ví dụ sau minh họa cách tải một model và chạy inference, mô phỏng logic có thể tồn tại bên trong một endpoint phục vụ sử dụng Python.
from ultralytics import YOLO
# Load the YOLO26 model (this typically happens once when the server starts)
model = YOLO("yolo26n.pt")
# Simulate an incoming API request with an image source URL
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions for the user
results = model.predict(source=image_source)
# Process results (e.g., simulating a JSON response to a client)
print(f"Detected {len(results[0].boxes)} objects in the image.")Lựa chọn chiến lược phù hợp#
Việc lựa chọn chiến lược phục vụ phụ thuộc nhiều vào trường hợp sử dụng cụ thể. Phục vụ trực tuyến cung cấp phản hồi tức thời thông qua các giao thức như REST hoặc gRPC, điều thiết yếu đối với các ứng dụng web hướng đến người dùng. Ngược lại, Phục vụ theo lô xử lý khối lượng lớn dữ liệu ngoại tuyến, phù hợp với các tác vụ như tạo báo cáo hằng đêm. Đối với các ứng dụng yêu cầu quyền riêng tư hoặc độ trễ thấp mà không phụ thuộc vào Internet, Edge AI chuyển quy trình phục vụ trực tiếp đến thiết bị, sử dụng các định dạng được tối ưu hóa như TensorRT để tối đa hóa hiệu năng trên phần cứng hạn chế tài nguyên. Nhiều tổ chức tận dụng Ultralytics Platform để đơn giản hóa việc triển khai các model này đến nhiều endpoint khác nhau, bao gồm API đám mây và thiết bị edge.
Phân biệt với các thuật ngữ liên quan#
Mặc dù có liên quan chặt chẽ, "Phục vụ model" khác với Triển khai model và Inference.
- Triển khai model: Đây là giai đoạn rộng hơn trong vòng đời, đề cập đến việc đưa một model vào môi trường production. Phục vụ là cơ chế hoặc phần mềm cụ thể (chẳng hạn như NVIDIA Triton Inference Server hoặc TorchServe) được sử dụng để thực thi model đã triển khai.
- Inference: Đây là hoạt động toán học tính toán một dự đoán từ một đầu vào. Việc phục vụ model cung cấp hạ tầng (mạng, khả năng mở rộng và bảo mật) cho phép inference diễn ra một cách đáng tin cậy đối với người dùng cuối.
- Microservices: Việc phục vụ thường được thiết kế dưới dạng một tập hợp các microservices, trong đó model chạy như một service độc lập mà các thành phần khác của ứng dụng có thể truy vấn, thường trao đổi dữ liệu bằng các định dạng nhẹ như JSON.






