Đón xem YOLO Vision 2025!
25 tháng 9, 2025
10:00 — 18:00 BST
Sự kiện kết hợp
Yolo Vision 2024
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.

Một inference engine (bộ máy suy luận) là một thành phần phần mềm chuyên dụng, thực thi một mô hình học máy đã được huấn luyện để tạo ra các dự đoán từ dữ liệu mới, chưa từng thấy. Sau khi một mô hình được huấn luyện bằng cách sử dụng một framework như PyTorch hoặc TensorFlow, inference engine sẽ tiếp quản để chạy nó một cách hiệu quả trong môi trường production. Mục tiêu chính của nó là tối ưu hóa mô hình để đạt được tốc độ và sử dụng tài nguyên tối ưu, giúp có thể đạt được suy luận theo thời gian thực trên nhiều nền tảng phần cứng khác nhau, từ các máy chủ đám mây mạnh mẽ đến các thiết bị biên bị hạn chế về tài nguyên.

Vai trò của Inference Engine

Chức năng cốt lõi của một inference engine (công cụ suy luận) là thu hẹp khoảng cách giữa một mô hình đã được huấn luyện và ứng dụng thực tế của nó. Nó thực hiện một số tối ưu hóa quan trọng để giảm thiểu độ trễ suy luận (inference latency) và tối đa hóa thông lượng mà không ảnh hưởng đáng kể đến độ chính xác.

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

  • Tối ưu hóa đồ thị: Công cụ này phân tích đồ thị tính toán của mô hình và áp dụng các tối ưu hóa như "hợp nhất lớp" (layer fusion), kết hợp nhiều hoạt động tuần tự thành một hoạt động duy nhất để giảm chi phí tính toán.
  • Tối ưu hóa theo Phần cứng Cụ thể: Nó biên dịch mô hình để chạy trên phần cứng cụ thể, chẳng hạn như CPU, GPU hoặc các bộ tăng tốc AI chuyên dụng như TPU của Google. Điều này liên quan đến việc sử dụng các kernel tính toán được tối ưu hóa cao, phù hợp với kiến trúc của phần cứng.
  • Giảm độ chính xác: Các kỹ thuật như lượng tử hóa mô hình được sử dụng để chuyển đổi trọng số của mô hình từ số dấu phẩy động 32 bit thành số nguyên 16 bit hoặc 8 bit hiệu quả hơn. Điều này làm giảm đáng kể mức sử dụng bộ nhớ và tăng tốc tính toán, điều này đặc biệt quan trọng đối với điện toán biên.
  • Tỉa bớt mô hình (Model Pruning): Một inference engine có thể tạo điều kiện thuận lợi cho việc chạy các mô hình mà các trọng số không cần thiết đã bị loại bỏ thông qua tỉa bớt mô hình (model pruning), giúp giảm thêm kích thước và nhu cầu tính toán của mô hình.

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

Nhiều tổ chức đã phát triển các công cụ suy luận hiệu suất cao để tăng tốc các mô hình deep learning. Các lựa chọn phổ biến bao gồm:

  • NVIDIA TensorRT: Một trình tối ưu hóa và thời gian chạy hiệu suất cao cho GPU NVIDIA, cung cấp tốc độ suy luận hiện đại. Ultralytics cung cấp tích hợp liền mạch với TensorRT để triển khai các mô hình YOLO.
  • Intel OpenVINO: Một bộ công cụ mã nguồn mở để tối ưu hóa và triển khai các mô hình trên phần cứng Intel, bao gồm CPU và GPU tích hợp. Các mô hình Ultralytics có thể dễ dàng được xuất sang OpenVINO.
  • ONNX Runtime: Một engine đa nền tảng được phát triển bởi Microsoft, có thể chạy các mô hình ở định dạng ONNX (Open Neural Network Exchange) trên nhiều loại phần cứng.
  • TensorFlow Lite (TFLite): Một giải pháp nhẹ được thiết kế đặc biệt để triển khai các mô hình trên các thiết bị di động và nhúng, chẳng hạn như các thiết bị chạy Android và iOS.
  • Apache TVM: Một framework trình biên dịch học máy mã nguồn mở có thể tối ưu hóa các mô hình cho nhiều backend phần cứng khác nhau.

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

Inference engine là xương sống hoạt động của vô số ứng dụng AI.

  1. Trong AI cho các giải pháp ô tô, một inference engine chạy trên máy tính trên xe để xử lý dữ liệu từ camera và cảm biến. Nó thực thi một mô hình phát hiện đối tượng như Ultralytics YOLO11 để xác định người đi bộ, biển báo giao thông và các phương tiện khác trong mili giây, cho phép các tính năng an toàn quan trọng.
  2. Đối với sản xuất thông minh, một inference engine (công cụ suy luận) trên sàn nhà máy cung cấp năng lượng cho một hệ thống thị giác máy tính để kiểm soát chất lượng. Nó phân tích hình ảnh từ dây chuyền sản xuất trong thời gian thực để phát hiện các khuyết tật, đảm bảo rằng các sản phẩm đáp ứng các tiêu chuẩn chất lượng với tốc độ và độ tin cậy cao.

So sánh Inference Engine với các khái niệm liên quan

Việc phân biệt một công cụ suy luận với các thuật ngữ liên quan khác trong MLOps là rất hữu ích.

  • ML Framework so với Inference Engine: Một framework machine learning như PyTorch là một thư viện toàn diện cho cả việc huấn luyện và triển khai mô hình. Nó bao gồm các công cụ để xây dựng mạng neural, quản lý tập dữ liệu và chạy các vòng lặp huấn luyện. Ngược lại, một inference engine là một công cụ chuyên dụng cao, tập trung độc quyền vào giai đoạn triển khai. Mặc dù một framework có các khả năng suy luận cơ bản, nhưng một inference engine chuyên dụng cung cấp hiệu suất vượt trội thông qua các tối ưu hóa mạnh mẽ, dành riêng cho phần cứng.

  • Model Serving so với Inference Engine: Model serving đề cập đến cơ sở hạ tầng rộng lớn hơn để cung cấp một mô hình qua mạng, bao gồm các thành phần như điểm cuối API, bộ cân bằng tải và các công cụ giám sát. Inference engine là thành phần cốt lõi trong một hệ thống model serving, thực hiện các yêu cầu dự đoán. Bạn có thể khám phá các tùy chọn triển khai mô hình khác nhau để xem inference engine phù hợp với bức tranh lớn hơn như thế nào. Các nền tảng như Ultralytics HUB hợp lý hóa toàn bộ quy trình này, từ huấn luyện đến triển khai được tối ưu hóa.

Tham gia cộng đồng Ultralytics

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
Đã sao chép liên kết vào clipboard