Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Công cụ Suy luận (Inference Engine)

Khám phá cách các inference engine cung cấp sức mạnh cho AI bằng cách đưa ra các dự đoán theo thời gian thực, tối ưu hóa các mô hình và cho phép triển khai trên nhiều nền tảng.

Công cụ 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 mô hình học máy đã được đào tạo và tạo ra dự đoán từ dữ liệu mới. Không giống như các khuôn khổ đào tạo tập trung vào các mẫu học từ các tập dữ liệu khổng lồ, công cụ suy luận được tối ưu hóa hoàn toàn cho giai đoạn vận hành, được gọi là triển khai mô hình . Mục tiêu chính của nó là chạy các mô hình này một cách 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 mục tiêu, cho dù đó là máy chủ đám mây mạnh mẽ hay thiết bị AI biên bị hạn chế về tài nguyên.

Cách thức hoạt động của công cụ suy luận

Quá trình chuyển đổi từ mô hình đã được huấn luyện sang ứng dụng sẵn sàng triển khai thường liên quan đến một công cụ suy luận đóng vai trò là môi trường thời gian chạy. Sau khi một mô hình được huấn luyện trong một nền tảng như PyTorch hoặc TensorFlow , nó thường rất nặng và chứa các cấu trúc dữ liệu hữu ích cho việc học nhưng không cần thiết cho việc dự đoán. Một công cụ suy luận loại bỏ chi phí này và áp dụng các tối ưu hóa nghiêm ngặt cho đồ thị tính toán.

Các kỹ thuật tối ưu hóa chính bao gồm:

  • Layer Fusion: Công cụ kết hợp nhiều lớp (ví dụ: tích chập, chuẩn hóa hàng loạt và kích hoạt) thành một thao tác duy nhất. Điều này giúp giảm thiểu truy cập bộ nhớ và tăng tốc độ thực thi.
  • Giảm độ chính xác: Thông qua lượng tử hóa mô hình , công cụ chuyển đổi trọng số từ định dạng dấu phẩy động 32 bit có độ chính xác cao (FP32) sang các định dạng có độ chính xác thấp hơn như INT8 hoặc FP16. Điều này làm giảm đáng kể kích thước mô hình và mức sử dụng băng thông bộ nhớ mà không làm giảm đáng kể độ chính xác .
  • Tự động điều chỉnh hạt nhân: Các công cụ như NVIDIA TensorRT sẽ tự động chọn các thuật toán và hạt nhân phần cứng hiệu quả nhất cho GPU cụ thể đang được sử dụng.
  • Quản lý bộ nhớ: Các chiến lược tái sử dụng bộ nhớ hiệu quả sẽ giảm thiểu chi phí phân bổ và hủy phân bổ bộ nhớ trong thời gian chạy, điều này rất quan trọng đối với suy luận thời gian thực .

Các công cụ suy luận phổ biến

Các công cụ khác nhau được thiết kế riêng cho hệ sinh thái phần cứng và mục tiêu hiệu suất cụ thể:

  • NVIDIA TensorRT : Một trình tối ưu hóa suy luận học sâu hiệu suất cao và thời gian chạy cho NVIDIA GPU. Nó được sử dụng rộng rãi trong các trung tâm dữ liệu và ứng dụng ô tô. Bạn có thể dễ dàng xuất các mô hình Ultralytics sang TensorRT để đạt tốc độ tối đa.
  • Intel OpenVINO : Bộ công cụ tối ưu hóa mạng nơ-ron và suy luận trực quan mở tối ưu hóa các mô hình cho Intel phần cứng, bao gồm CPU và GPU tích hợp. Nó cho phép áp dụng phương pháp "viết một lần, triển khai ở mọi nơi" trong Intel hệ sinh thái.
  • ONNX Runtime: Một công cụ đa nền tảng được phát triển bởi Microsoft hỗ trợ định dạng ONNX . Nó cho phép các mô hình được đào tạo trong một khuôn khổ chạy hiệu quả trên nhiều nền tảng phần cứng khác nhau.
  • TensorFlow Lite: Được thiết kế cho các thiết bị di động và IoT, TensorFlow Lite cho phép suy luận độ trễ thấp trên Android , iOS và hệ thống nhúng.

Các Ứng dụng Thực tế

Công cụ suy luận là xương sống vô hình của các ứng dụng AI hiện đại, cho phép chúng phản ứng tức thì với thế giới.

  1. Lái xe tự động: Trong ngành công nghiệp ô tô, xe cộ dựa vào thị giác máy tính để điều hướng an toàn. Một công cụ suy luận chạy trên máy tính tích hợp của xe sẽ xử lý các nguồn cấp dữ liệu video để phát hiện vật thể như người đi bộ, phương tiện khác và biển báo giao thông. Sử dụng mô hình như YOLO11 , công cụ này đảm bảo những dự đoán này được thực hiện trong vài mili giây, cho phép xe tự động phanh hoặc đánh lái theo thời gian thực.
  2. Sản xuất thông minh: Dây chuyền sản xuất sử dụng công cụ suy luận để kiểm soát chất lượng tự động. Camera tốc độ cao chụp ảnh sản phẩm trên băng chuyền, và công cụ suy luận xử lý những hình ảnh này để detect Các khuyết tật như nứt hoặc lệch. Hệ thống thông lượng cao này ngăn chặn việc vận chuyển các mặt hàng lỗi và giảm chi phí kiểm tra thủ công.

Công cụ suy luận so với Khung đào tạo

Điều quan trọng là phải phân biệt giữa các công cụ được sử dụng để tạo mô hình và các công cụ được sử dụng để chạy mô hình.

  • Khung đào tạo (ví dụ: PyTorch , Keras): Chúng được thiết kế để linh hoạt và thử nghiệm. Chúng hỗ trợ lan truyền ngược, cập nhật gradient và đồ thị động, những tính năng thiết yếu cho việc học nhưng tốn kém về mặt tính toán.
  • Công cụ suy luận (ví dụ: TensorRT , ONNX Runtime): Chúng được thiết kế để đạt được tốc độ và hiệu quả. Chúng xử lý mô hình như một tập hợp các phép toán tĩnh cần được thực hiện càng nhanh càng tốt. Chúng thường không hỗ trợ đào tạo hoặc học các mẫu mới.

Xuất khẩu để suy luận

Để sử dụng một công cụ suy luận cụ thể, bạn thường cần xuất mô hình đã được đào tạo của mình sang một định dạng tương thích. Ví dụ: xuất YOLO11 mô hình để ONNX định dạng cho phép nó được chạy bởi ONNX Chạy thử hoặc nhập vào các công cụ khác.

from ultralytics import YOLO

# Load a trained YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to ONNX format for use with ONNX Runtime
# This creates 'yolo11n.onnx' optimized for inference
model.export(format="onnx")

Bằng cách tận dụng công cụ suy luận, các nhà phát triển có thể khai thác toàn bộ tiềm năng của mô hình AI, đảm bảo chúng chạy trơn tru trong các môi trường sản xuất, từ cụm đám mây đến thiết bị biên chạy bằng pin.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay