Inference Engine
Khám phá cách inference engine tối ưu các model machine learning như Ultralytics YOLO26 để triển khai theo thời gian thực. Tìm hiểu các mẹo về hiệu năng cho Edge AI hiện nay.
Engine suy luận là một thành phần phần mềm chuyên dụng, được thiết kế để thực thi các model machine learning đã huấn luyện và tạo dự đoán từ dữ liệu mới. Không giống giai đoạn huấn luyện, vốn tập trung vào việc học các mẫu thông qua những quy trình đòi hỏi nhiều tính toán như lan truyền ngược, engine suy luận được tối ưu nghiêm ngặt cho giai đoạn vận hành, còn gọi là triển khai model. Mục tiêu chính của engine là thực hiện các phép tính hiệu quả nhất có thể, giảm thiểu độ trễ suy luận và tối đa hóa thông lượng trên phần cứng đích, dù đó là máy chủ cloud có khả năng mở rộng hay thiết bị Edge AI chạy bằng pin. Bằng cách loại bỏ phần chi phí bổ sung cần thiết cho quá trình huấn luyện, các engine này cho phép những mạng neural phức tạp hoạt động trong các ứng dụng thời gian thực.
Cách các engine suy luận tối ưu hiệu suất#
Quá trình chuyển đổi từ môi trường huấn luyện sang engine suy luận thường bao gồm một số bước tối ưu hóa để tinh gọn cấu trúc của model. Vì model không còn cần học, engine có thể loại bỏ dữ liệu cần cho việc cập nhật gradient, qua đó effectively đóng băng trọng số model. Các kỹ thuật phổ biến được engine suy luận sử dụng bao gồm hợp nhất layer, trong đó nhiều phép toán được kết hợp thành một bước duy nhất để giảm truy cập bộ nhớ, và lượng tử hóa model, chuyển đổi trọng số từ các định dạng số thực độ chính xác cao sang số nguyên có độ chính xác thấp hơn (ví dụ: INT8).
Những tối ưu hóa này cho phép các kiến trúc tiên tiến như Ultralytics YOLO26 chạy với tốc độ cực cao mà không làm giảm đáng kể độ chính xác. Các engine khác nhau thường được điều chỉnh cho những hệ sinh thái phần cứng cụ thể nhằm khai thác hiệu suất tối đa:
- NVIDIA TensorRT: Cung cấp khả năng suy luận hiệu suất cao trên GPU NVIDIA bằng cách sử dụng các kernel dành riêng cho phần cứng và tối ưu hóa đồ thị mạng.
- Intel OpenVINO: Tối ưu hóa hiệu suất deep learning trên các kiến trúc Intel, bao gồm CPU và đồ họa tích hợp, nên đặc biệt phù hợp với điện toán biên.
- ONNX Runtime: Accelerator đa nền tảng hỗ trợ các model ở định dạng ONNX, cung cấp cầu nối giữa các framework và backend phần cứng khác nhau.
Các ứng dụng trong thực tế#
Engine suy luận là những thành phần vận hành thầm lặng phía sau nhiều tiện ích AI hiện đại, cho phép các hệ thống thị giác máy tính phản ứng tức thì với môi trường xung quanh.
-
Xe tự hành: Trong những chiếc xe tự lái, các model phát hiện đối tượng phải nhận diện người đi bộ, biển báo giao thông và các phương tiện khác chỉ trong vài mili giây. Một engine suy luận chạy cục bộ trên phần cứng của xe đảm bảo quá trình này diễn ra với tốc độ suy luận thời gian thực, vì việc phụ thuộc vào kết nối cloud sẽ gây ra độ trễ nguy hiểm.
-
Sản xuất thông minh: Các nhà máy sử dụng camera IoT công nghiệp để kiểm tra sản phẩm trên dây chuyền lắp ráp. Engine suy luận xử lý các luồng video để thực hiện phát hiện bất thường, ngay lập tức đánh dấu các lỗi. Hoạt động tự động hóa này giúp giảm lãng phí và đảm bảo kiểm soát chất lượng nghiêm ngặt mà không làm chậm sản xuất.
Engine suy luận so với framework huấn luyện#
Việc phân biệt giữa phần mềm dùng để tạo model và engine dùng để chạy model là rất hữu ích. Framework huấn luyện (như PyTorch hoặc TensorFlow) cung cấp các công cụ để thiết kế kiến trúc, tính loss và cập nhật tham số thông qua học có giám sát. Framework này ưu tiên tính linh hoạt và khả năng debug.
Ngược lại, engine suy luận nhận artifact hoàn chỉnh từ framework huấn luyện và ưu tiên tốc độ thực thi cùng hiệu quả sử dụng bộ nhớ. Mặc dù có thể chạy suy luận bên trong framework huấn luyện, cách này hiếm khi hiệu quả bằng việc sử dụng engine chuyên dụng, đặc biệt khi triển khai trên điện thoại di động hoặc thiết bị nhúng thông qua các công cụ như TensorFlow Lite hoặc Apple CoreML.
Sử dụng engine suy luận với Ultralytics YOLO26#
Gói ultralytics trừu tượng hóa phần lớn sự phức tạp của các engine suy luận, cho phép người dùng chạy dự đoán một cách liền mạch. Ở phía sau, gói này xử lý việc tiền xử lý hình ảnh và thực thi model. Đối với người dùng cần mở rộng quy mô, Ultralytics Platform đơn giản hóa quy trình huấn luyện và export model sang các định dạng được tối ưu hóa, tương thích với nhiều engine suy luận khác nhau.
Ví dụ sau minh họa cách load một model YOLO26 đã được huấn luyện trước và chạy suy luận trên một hình ảnh:
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Run inference on an image from a URL
# The 'predict' method acts as the interface to the inference process
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()








