Tối ưu hóa suy luận YOLO26 với DeepSparse Engine của Neural Magic
Khi triển khai các mô hình object detection như Ultralytics YOLO26 trên nhiều loại phần cứng khác nhau, bạn có thể gặp phải các vấn đề đặc thù như tối ưu hóa. Đây chính là lúc sự tích hợp của YOLO26 với DeepSparse Engine của Neural Magic phát huy tác dụng. Nó thay đổi cách thực thi các mô hình YOLO26 và mang lại hiệu suất cấp độ GPU ngay trên các CPU.
Hướng dẫn này chỉ cho bạn cách triển khai YOLO26 bằng DeepSparse của Neural Magic, cách chạy suy luận, và cách đo kiểm hiệu suất để đảm bảo mô hình đã được tối ưu hóa.
Neural Magic đã được Red Hat mua lại vào tháng 1 năm 2025, và hiện đang ngừng hỗ trợ các phiên bản cộng đồng của các thư viện deepsparse, sparseml, sparsezoo và sparsify. Để biết thêm thông tin, hãy xem thông báo được đăng trong tệp Readme trên kho lưu trữ sparseml của GitHub.
DeepSparse của Neural Magic
DeepSparse của Neural Magic là một run-time suy luận được thiết kế để tối ưu hóa quá trình thực thi các mạng thần kinh trên CPU. Nó áp dụng các kỹ thuật tiên tiến như độ thưa (sparsity), cắt tỉa (pruning) và lượng tử hóa (quantization) để giảm đáng kể nhu cầu tính toán trong khi vẫn duy trì độ chính xác. DeepSparse cung cấp một giải pháp linh hoạt cho việc thực thi neural network hiệu quả và có khả năng mở rộng trên nhiều thiết bị.
Lợi ích của việc tích hợp DeepSparse của Neural Magic với YOLO26
Trước khi đi sâu vào cách triển khai YOLO26 bằng DeepSparse, hãy cùng tìm hiểu các lợi ích khi sử dụng DeepSparse. Một số ưu điểm chính bao gồm:
- Tăng tốc độ suy luận: Đạt tới 525 FPS (trên YOLO11n), giúp tăng tốc đáng kể khả năng suy luận của YOLO so với các phương pháp truyền thống.
- Hiệu quả mô hình tối ưu: Sử dụng kỹ thuật cắt tỉa và lượng tử hóa để tăng cường hiệu quả của YOLO26, giảm kích thước mô hình và yêu cầu tính toán trong khi vẫn duy trì được accuracy.
-
Hiệu suất cao trên các CPU tiêu chuẩn: Mang lại hiệu suất giống như GPU trên các CPU, cung cấp một lựa chọn dễ tiếp cận và tiết kiệm chi phí hơn cho nhiều ứng dụng.
-
Tích hợp và triển khai tinh gọn: Cung cấp các công cụ thân thiện với người dùng để dễ dàng tích hợp YOLO26 vào các ứng dụng, bao gồm cả các tính năng chú thích hình ảnh và video.
-
Hỗ trợ nhiều loại mô hình: Tương thích với cả mô hình YOLO26 tiêu chuẩn và các mô hình đã được tối ưu hóa độ thưa, tăng tính linh hoạt khi triển khai.
-
Giải pháp tiết kiệm chi phí và có khả năng mở rộng: Giảm chi phí vận hành và cung cấp khả năng triển khai các mô hình object detection tiên tiến một cách có quy mô.
Công nghệ DeepSparse của Neural Magic hoạt động như thế nào?
Công nghệ DeepSparse của Neural Magic được lấy cảm hứng từ hiệu suất của não người trong việc tính toán mạng thần kinh. Nó áp dụng hai nguyên tắc chính từ bộ não như sau:
-
Độ thưa (Sparsity): Quy trình tạo độ thưa bao gồm việc cắt tỉa các thông tin dư thừa từ các mạng deep learning, dẫn đến các mô hình nhỏ hơn và nhanh hơn mà không làm giảm độ chính xác. Kỹ thuật này giảm đáng kể kích thước và nhu cầu tính toán của mạng.
-
Tính cục bộ của tham chiếu (Locality of Reference): DeepSparse sử dụng một phương pháp thực thi độc đáo, chia mạng thành các Cột Tensor (Tensor Columns). Các cột này được thực thi theo chiều sâu, nằm gọn trong bộ nhớ đệm (cache) của CPU. Cách tiếp cận này mô phỏng hiệu suất của não bộ, giảm thiểu việc di chuyển dữ liệu và tối đa hóa việc sử dụng bộ nhớ đệm của CPU.
Tạo một phiên bản thưa (Sparse) của YOLO26 đã huấn luyện trên tập dữ liệu tùy chỉnh
SparseZoo, một kho lưu trữ mô hình mã nguồn mở của Neural Magic, cung cấp một bộ sưu tập các checkpoint mô hình YOLO26 đã được làm thưa trước. Với SparseML, được tích hợp liền mạch với Ultralytics, người dùng có thể tinh chỉnh các checkpoint thưa này trên tập dữ liệu cụ thể của họ một cách dễ dàng thông qua giao diện dòng lệnh đơn giản.
Xem thêm tài liệu SparseML YOLO26 của Neural Magic để biết thêm chi tiết.
Cách dùng: Triển khai YOLO26 bằng DeepSparse
Việc triển khai YOLO26 với DeepSparse của Neural Magic bao gồm một vài bước đơn giản. Trước khi đi sâu vào hướng dẫn sử dụng, hãy đảm bảo bạn đã xem qua loạt các mô hình YOLO26 do Ultralytics cung cấp. Điều này sẽ giúp bạn chọn được mô hình phù hợp nhất cho các yêu cầu dự án của mình. Dưới đây là cách bạn có thể bắt đầu.
Bước 1: Cài đặt
Để cài đặt các gói cần thiết, hãy chạy:
# Install the required packages
pip install deepsparse[yolov8]Bước 2: Xuất YOLO26 sang định dạng ONNX
DeepSparse Engine yêu cầu các mô hình YOLO26 ở định dạng ONNX. Việc xuất mô hình của bạn sang định dạng này là cần thiết để tương thích với DeepSparse. Sử dụng lệnh sau để xuất các mô hình YOLO26:
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Lệnh này sẽ lưu mô hình yolo26n.onnx vào ổ đĩa của bạn.
Bước 3: Triển khai và chạy suy luận
Với mô hình YOLO26 của bạn ở định dạng ONNX, bạn có thể triển khai và chạy suy luận bằng DeepSparse. Việc này có thể được thực hiện dễ dàng với Python API trực quan của họ:
from deepsparse import Pipeline
# Specify the path to your YOLO26 ONNX model
model_path = "path/to/yolo26n.onnx"
# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)Bước 4: Đo kiểm hiệu suất
Điều quan trọng là phải kiểm tra xem mô hình YOLO26 của bạn có hoạt động tối ưu trên DeepSparse hay không. Bạn có thể đo kiểm (benchmark) hiệu suất của mô hình để phân tích thông lượng (throughput) và độ trễ (latency):
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Bước 5: Các tính năng bổ sung
DeepSparse cung cấp các tính năng bổ sung cho việc tích hợp thực tế YOLO26 vào các ứng dụng, chẳng hạn như chú thích hình ảnh và đánh giá tập dữ liệu.
# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo26n.onnx"
# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo26n.onnx"Chạy lệnh annotate sẽ xử lý hình ảnh bạn đã chỉ định, phát hiện các đối tượng và lưu hình ảnh đã được chú thích cùng với các hộp giới hạn (bounding boxes) và phân loại. Hình ảnh đã chú thích sẽ được lưu trữ trong thư mục annotation-results. Điều này giúp cung cấp một minh họa trực quan về khả năng phát hiện của mô hình.
Sau khi chạy lệnh eval, bạn sẽ nhận được các chỉ số đầu ra chi tiết như precision, recall, và mAP (mean Average Precision). Điều này cung cấp cái nhìn toàn diện về hiệu suất mô hình của bạn trên tập dữ liệu và đặc biệt hữu ích cho việc tinh chỉnh và tối ưu hóa các mô hình YOLO26 cho các trường hợp sử dụng cụ thể, đảm bảo độ chính xác và hiệu quả cao.
Tóm tắt
Hướng dẫn này đã khám phá việc tích hợp YOLO26 của Ultralytics với DeepSparse Engine của Neural Magic. Nó nhấn mạnh cách sự tích hợp này nâng cao hiệu suất của YOLO26 trên các nền tảng CPU, mang lại hiệu quả cấp độ GPU và các kỹ thuật làm thưa mạng thần kinh tiên tiến.
Để biết thêm thông tin chi tiết và cách sử dụng nâng cao, hãy truy cập tài liệu DeepSparse của Neural Magic. Bạn cũng có thể khám phá hướng dẫn tích hợp YOLO26 và xem phiên hướng dẫn trên YouTube.
Ngoài ra, để hiểu rõ hơn về các tích hợp YOLO26 khác nhau, hãy truy cập trang hướng dẫn tích hợp của Ultralytics, nơi bạn có thể khám phá hàng loạt các khả năng tích hợp thú vị khác.
Câu hỏi thường gặp (FAQ)
DeepSparse Engine của Neural Magic là gì và nó tối ưu hóa hiệu suất YOLO26 như thế nào?
DeepSparse Engine của Neural Magic là một run-time suy luận được thiết kế để tối ưu hóa việc thực thi các mạng thần kinh trên CPU thông qua các kỹ thuật tiên tiến như độ thưa, cắt tỉa và lượng tử hóa. Bằng cách tích hợp DeepSparse với YOLO26, bạn có thể đạt được hiệu suất giống như GPU trên các CPU tiêu chuẩn, giúp tăng đáng kể tốc độ suy luận, hiệu quả mô hình và hiệu suất tổng thể trong khi vẫn duy trì độ chính xác. Để biết thêm chi tiết, hãy xem phần DeepSparse của Neural Magic.
Làm thế nào để tôi có thể cài đặt các gói cần thiết để triển khai YOLO26 bằng DeepSparse của Neural Magic?
Việc cài đặt các gói cần thiết để triển khai YOLO26 với DeepSparse của Neural Magic rất đơn giản. Bạn có thể dễ dàng cài đặt chúng bằng CLI. Đây là lệnh bạn cần chạy:
pip install deepsparse[yolov8]Sau khi cài đặt, hãy làm theo các bước được cung cấp trong phần Cài đặt để thiết lập môi trường và bắt đầu sử dụng DeepSparse với YOLO26.
Làm thế nào để tôi chuyển đổi các mô hình YOLO26 sang định dạng ONNX để sử dụng với DeepSparse?
Để chuyển đổi các mô hình YOLO26 sang định dạng ONNX, định dạng cần thiết để tương thích với DeepSparse, bạn có thể sử dụng lệnh CLI sau:
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Lệnh này sẽ xuất mô hình YOLO26 của bạn (yolo26n.pt) sang định dạng (yolo26n.onnx) mà DeepSparse Engine có thể sử dụng. Thông tin thêm về xuất mô hình có thể được tìm thấy trong phần Xuất mô hình.
Làm thế nào để tôi đo kiểm hiệu suất YOLO26 trên DeepSparse Engine?
Việc đo kiểm hiệu suất YOLO26 trên DeepSparse giúp bạn phân tích thông lượng và độ trễ để đảm bảo mô hình của bạn đã được tối ưu hóa. Bạn có thể sử dụng lệnh CLI sau để chạy một bài đo kiểm:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Lệnh này sẽ cung cấp cho bạn các chỉ số hiệu suất quan trọng. Để biết thêm chi tiết, hãy xem phần Đo kiểm hiệu suất.
Tại sao tôi nên sử dụng DeepSparse của Neural Magic với YOLO26 cho các tác vụ object detection?
Việc tích hợp DeepSparse của Neural Magic với YOLO26 mang lại một số lợi ích:
- Tăng tốc độ suy luận: Đạt tới 525 FPS (trên YOLO11n), chứng minh khả năng tối ưu hóa của DeepSparse.
- Hiệu quả mô hình tối ưu: Sử dụng các kỹ thuật làm thưa, cắt tỉa và lượng tử hóa để giảm kích thước mô hình và nhu cầu tính toán trong khi vẫn duy trì độ chính xác.
- Hiệu suất cao trên CPU tiêu chuẩn: Mang lại hiệu suất giống như GPU trên phần cứng CPU tiết kiệm chi phí.
- Tích hợp tinh gọn: Các công cụ thân thiện với người dùng giúp triển khai và tích hợp dễ dàng.
- Tính linh hoạt: Hỗ trợ cả mô hình YOLO26 tiêu chuẩn và các mô hình đã được tối ưu hóa độ thưa.
- Tiết kiệm chi phí: Giảm chi phí vận hành thông qua việc sử dụng tài nguyên hiệu quả.
Để tìm hiểu sâu hơn về các ưu điểm này, hãy truy cập phần Lợi ích của việc tích hợp DeepSparse của Neural Magic với YOLO26.