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à quá trình sản xuất. Khám phá các chiến lược triển khai cho Ultralytics YOLO26 trên Ultralytics Platform.
Model serving là quy trình lưu trữ (host) một model machine learning đã được huấn luyện và cung cấp chức năng của nó cho các ứng dụng phần mềm thông qua giao diện mạng. Nó đóng vai trò là cầu nối giữa tệp model tĩnh được lưu trên ổ đĩa và hệ thống trực tuyến xử lý dữ liệu thực tế. Sau khi một model hoàn tất giai đoạn huấn luyện machine learning (ML), nó phải được tích hợp vào môi trường production, nơi nó có thể tiếp nhận dữ liệu đầu vào—như hình ảnh, văn bản hoặc dữ liệu dạng bảng—và trả về kết quả dự đoán. Việc này thường được thực hiện bằng cách bao bọc model trong một Application Programming Interface (API), cho phép nó giao tiếp với các máy chủ web, ứng dụng di động hoặc thiết bị IoT.
Link to this sectionVai trò của Model Serving trong AI#
Mục tiêu chính của model serving là vận hành hiệu quả các khả năng predictive modeling. Trong khi huấn luyện tập trung vào độ chính xác và giảm thiểu tổn thất (loss minimization), serving tập trung vào các chỉ số hiệu năng như latency (tốc độ trả về kết quả dự đoán) và throughput (số lượng yêu cầu có thể xử lý mỗi giây). Hạ tầng serving mạnh mẽ đảm bảo rằng các hệ thống computer vision (CV) luôn đáng tin cậy dưới tải trọng lớn. Quy trình này thường bao gồm các công nghệ như containerization sử dụng các công cụ như Docker, giúp đóng gói model cùng với các thư viện phụ thuộc để đảm bảo hành vi nhất quán trên các môi trường tính toán khác nhau.
Link to this sectionCác ứng dụng trong thực tế#
Model serving thúc đẩy các tính năng AI phổ biến trong nhiều ngành công nghiệp bằng cách cho phép đưa ra quyết định tức thì 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 in manufacturing 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áy chủ cục bộ, nơi một model YOLO26 phát hiện các lỗi như vết xước hoặc sai lệch, kích hoạt cảnh báo tức thì để loại bỏ các sản phẩm lỗi.
- Tự động hóa bán lẻ: Các nhà bán lẻ sử dụng AI in retail để nâng cao trải nghiệm khách hàng. Các camera được phục vụ bởi các model object detection nhận diện 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.
Link to this sectionTriển khai thực tế#
Để phục vụ một model hiệu quả, thường nên export models sang định dạng chuẩn như ONNX, giúp thúc đẩy khả năng tương tác giữa các framework huấn luyện và các serving engine khác nhau. Ví dụ sau đây minh họa cách load một model và chạy inference, mô phỏng logic sẽ tồn tại bên trong một serving endpoint 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.")Link to this sectionLựa chọn chiến lược phù hợp#
Việc lựa chọn chiến lược serving phụ thuộc nhiều vào từng trường hợp sử dụng cụ thể. Online Serving cung cấp phản hồi tức thì thông qua các giao thức như REST hoặc gRPC, điều này rất cần thiết cho các ứng dụng web hướng người dùng. Ngược lại, Batch Serving xử lý khối lượng lớn dữ liệu ngoại tuyến (offline), phù hợp cho các tác vụ như tạo báo cáo định kỳ hàng đêm. Đối với các ứng dụng yêu cầu bảo mật hoặc độ trễ thấp mà không phụ thuộc vào internet, Edge AI đưa quy trình serving trực tiếp lên thiết bị, sử dụng các định dạng tối ưu như TensorRT để tối đa hóa hiệu năng trên phần cứng hạn chế. 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 cloud API và thiết bị edge.
Link to this sectionPhân biệt với các thuật ngữ liên quan#
Mặc dù có liên quan chặt chẽ, "Model Serving" khác biệt với Model Deployment và Inference.
- Model Deployment: Thuật ngữ này đề cập đến giai đoạn vòng đời rộng hơn là đưa một model vào môi trường production. Serving là cơ chế hoặc phần mềm cụ thể (như NVIDIA Triton Inference Server hoặc TorchServe) được sử dụng để thực thi model đã triển khai.
- Inference: Đây là hành động toán học tính toán dự đoán từ dữ liệu đầu vào. Model serving cung cấp hạ tầng (mạng, scalability và bảo mật) cho phép inference diễn ra một cách đáng tin cậy cho người dùng cuối.
- Microservices: Serving thường được thiết kế dưới dạng tập hợp các microservices, trong đó model chạy như một dịch vụ độc lập mà các phần khác của ứng dụng có thể truy vấn, thường trao đổi dữ liệu qua các định dạng nhẹ như JSON.






