Tìm hiểu những điều cần thiết về phân phối mô hình—triển khai các mô hình AI để dự đoán theo thời gian thực, khả năng mở rộng và tích hợp liền mạch vào các ứng dụng.
Phục vụ mô hình là giai đoạn quan trọng trong vòng đời học máy, nơi một mô hình đã được huấn luyện được lưu trữ trên máy chủ hoặc thiết bị để xử lý các yêu cầu suy luận theo thời gian thực . Sau khi một mô hình học máy (ML) được huấn luyện và xác thực, nó phải được tích hợp vào môi trường sản xuất để mang lại giá trị. Phục vụ đóng vai trò là cầu nối giữa tệp mô hình tĩnh và các ứng dụng người dùng cuối, lắng nghe dữ liệu đầu vào—chẳng hạn như hình ảnh hoặc văn bản—thông qua API và trả về các dự đoán của mô hình. Quá trình này cho phép các hệ thống phần mềm tận dụng khả năng mô hình hóa dự đoán ngay lập tức và ở quy mô lớn.
Việc phục vụ mô hình hiệu quả đòi hỏi một kiến trúc phần mềm mạnh mẽ có khả năng tải mô hình vào bộ nhớ, quản lý tài nguyên phần cứng như GPU và xử lý các yêu cầu một cách hiệu quả. Mặc dù các tập lệnh đơn giản có thể thực hiện suy luận, nhưng việc phục vụ ở cấp độ sản xuất thường sử dụng các nền tảng chuyên dụng như NVIDIA Triton Inference Server hoặc TorchServe . Các công cụ này được tối ưu hóa để xử lý thông lượng cao và độ trễ suy luận thấp, đảm bảo các ứng dụng vẫn phản hồi nhanh ngay cả khi tải người dùng lớn.
Thiết lập phục vụ toàn diện bao gồm nhiều lớp riêng biệt hoạt động đồng bộ để đưa ra dự đoán một cách đáng tin cậy.
Để phục vụ một mô hình hiệu quả, việc xuất mô hình sang một định dạng chuẩn hóa như ONNX thường mang lại lợi ích, giúp tăng cường khả năng tương tác giữa các khung đào tạo và công cụ phục vụ khác nhau. Ví dụ sau đây minh họa cách tải mô hình YOLO11 và chạy suy luận, mô phỏng logic sẽ tồn tại bên trong điểm cuối phục vụ.
from ultralytics import YOLO
# Load the YOLO11 model (this would happen once when the server starts)
model = YOLO("yolo11n.pt")
# Simulate an incoming request with an image source
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions
results = model.predict(source=image_source)
# Process and return the results (e.g., bounding boxes)
for box in results[0].boxes:
print(f"Class: {box.cls}, Confidence: {box.conf}")
Mô hình phục vụ các tính năng AI phổ biến trong nhiều ngành công nghiệp khác nhau bằng cách cho phép đưa ra quyết định ngay lập tức dựa trên dữ liệu.
Mặc dù thường được dùng thay thế cho nhau, cần phân biệt giữa phục vụ mô hình và triển khai mô hình . Triển khai đề cập đến quy trình rộng hơn là đưa mô hình vào môi trường sản xuất, bao gồm các bước như thử nghiệm, đóng gói và thiết lập cơ sở hạ tầng. Phục vụ mô hình là khía cạnh thời gian chạy cụ thể của triển khai—hành động thực sự chạy mô hình và xử lý các yêu cầu.
Việc phục vụ hiệu quả cũng đòi hỏi phải theo dõi mô hình liên tục để detect Sự trôi dạt dữ liệu , trong đó sự phân phối dữ liệu đầu vào khác với dữ liệu đào tạo , có khả năng làm giảm độ chính xác . Các nền tảng hiện đại, chẳng hạn như Nền tảng Ultralytics sắp ra mắt, hướng đến việc hợp nhất các giai đoạn này, cung cấp khả năng chuyển đổi liền mạch từ đào tạo sang phục vụ và giám sát.
Việc lựa chọn chiến lược phục vụ phụ thuộc rất nhiều vào trường hợp sử dụng. Phục vụ Trực tuyến cung cấp phản hồi tức thì cho các ứng dụng hướng đến người dùng nhưng yêu cầu độ trễ thấp. Ngược lại, Phục vụ Hàng loạt 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, nơi phản hồi tức thì không quá quan trọng. Đối với các ứng dụng được triển khai trên phần cứng từ xa, chẳng hạn như máy bay không người lái hoặc điện thoại di động, Edge AI chuyển quy trình phục vụ trực tiếp đến thiết bị, loại bỏ sự phụ thuộc vào kết nối đám mây và giảm chi phí băng thông.
Sử dụng các công cụ như Prometheus để thu thập số liệu và Grafana để trực quan hóa giúp ích cho các nhóm kỹ thuật track tình trạng của cơ sở hạ tầng phục vụ của họ, đảm bảo rằng các mô hình tiếp tục cung cấp khả năng thị giác máy tính đáng tin cậy trong thời gian dài sau khi ra mắt lần đầu.