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à quá trình lưu trữ một mô hình học máy đã đượ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 một giao diện mạng. Nó đóng vai trò là cầu nối giữa một tệp mô hình tĩnh được lưu trên đĩa và một hệ thống trực tuyến xử lý dữ liệu thực tế. Khi một mô hình hoàn thành giai đoạn huấn luyện machine learning (ML), nó phải được tích hợp vào môi trường sản xuất nơi nó có thể nhận các đầu vào—chẳng hạn như hình ảnh, văn bản hoặc dữ liệu bảng—và trả về các dự đoán. Điều này thường đạt được bằng cách bọc mô hình 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.
Vai 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 năng lực predictive modeling. Trong khi quá trình huấn luyện tập trung vào độ chính xác và giảm thiểu hàm mất mát, model serving tập trung vào các chỉ số hiệu suất như latency (tốc độ trả về kết quả dự đoán) và throughput (số lượng yêu cầu có thể được xử lý mỗi giây). Cơ sở hạ tầng serving mạnh mẽ đảm bảo rằng các hệ thống computer vision (CV) vẫn đáng tin cậy dưới tải trọng lớn. Nó thường liên quan đến các công nghệ như containerization sử dụng các công cụ như Docker, đóng gói mô hình cùng với các phần phụ thuộc của nó để đả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ế#
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.
- Smart Manufacturing: Trong môi trường công nghiệp, các hệ thống AI in manufacturing sử dụng các mô hình đã được serve để kiểm tra các 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 máy chủ cục bộ, nơi mô hình YOLO26 phát hiện các lỗi như vết xước hoặc sự lệch chuẩn, kích hoạt các cảnh báo ngay lập tức để loại bỏ các mặt hàng bị lỗi.
- Retail Automation: Các nhà bán lẻ tận 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 mô hình 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.
Triển khai thực tế#
Để serve một mô hình hiệu quả, thường có lợi khi export models sang một định dạng chuẩn hóa như ONNX, giúp thúc đẩy tính tương thích giữa các framework huấn luyện và serving engine khác nhau. Ví dụ sau đây minh họa cách tải một mô hình và chạy suy luận, mô phỏng logic sẽ tồn tại bên trong một điểm cuối serving bằng cách 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#
Sự lựa chọn chiến lược serving phụ thuộc phần lớn vào 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, phù hợp cho 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 di chuyển quá trình serving trực tiếp đến thiết bị, tận dụng các định dạng được tối ưu hóa như TensorRT để tối đa hóa hiệu suất trên phần cứng bị 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 mô hình này đến các điểm cuối khác nhau, bao gồm các API trên đám mây và thiết bị biên.
Phâ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: Điều này đề cập đến giai đoạn vòng đời rộng hơn là phát hành một mô hình vào môi trường sản xuất. 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 mô hình đã được triển khai.
- Inference: Đây là hoạt động toán học tính toán dự đoán từ đầu vào. Model serving cung cấp cơ sở 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 kiến trúc hóa như một tập hợp các microservices, trong đó mô hình 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 ở các định dạng nhẹ như JSON.






