Tối ưu hóa suy luận YOLO26 với DeepSparse Engine của Neural Magic#
Khi triển khai các model phát hiện đối tượng như Ultralytics YOLO26 trên nhiều phần cứng khác nhau, bạn có thể gặp phải những vấn đề đặc thù như tối ưu hóa. Đây là lúc tích hợp YOLO26 với DeepSparse Engine của Neural Magic phát huy tác dụng. Tích hợp này thay đổi cách các model YOLO26 được thực thi và mang lại hiệu năng cấp GPU trực tiếp trên 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 benchmark hiệu năng để đảm bảo model được tối ưu.
Neural Magic đã được Red Hat mua lại vào tháng 1 năm 2025 và đang ngừng cung cấp 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 Readme của repository sparsify trên GitHub.
DeepSparse của Neural Magic#
DeepSparse của Neural Magic là một runtime suy luận được thiết kế để tối ưu hóa việc thực thi mạng neural trên CPU. Công cụ này áp dụng các kỹ thuật nâng cao như sparsity, pruning và quantization để giảm đáng kể yêu 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 để thực thi mạng neural 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 tìm hiểu cách triển khai YOLO26 bằng DeepSparse, hãy cùng tìm hiểu những lợi ích của việc sử dụng DeepSparse. Một số ưu điểm chính gồm:
- Tốc độ suy luận nâng cao: Đạt tới 525 FPS (trên YOLO11n), tăng đáng kể tốc độ suy luận của YOLO so với các phương pháp truyền thống.
- Hiệu quả model được tối ưu: Sử dụng pruning và quantization để nâng cao hiệu quả của YOLO26, giảm kích thước model và yêu cầu tính toán trong khi vẫn duy trì độ chính xác.
-
Hiệu năng cao trên CPU tiêu chuẩn: Mang lại hiệu năng tương tự GPU trên CPU, cung cấp 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 hợp lý hóa: 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 ứng dụng, bao gồm các tính năng chú thích ảnh và video.
-
Hỗ trợ nhiều loại model: Tương thích với cả model YOLO26 tiêu chuẩn và model YOLO26 được tối ưu theo sparsity, mang lại sự 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à cho phép triển khai các model phát hiện đối tượng nâng cao ở quy mô linh hoạt.
Công nghệ DeepSparse của Neural Magic hoạt động như thế nào?#
Công nghệ DeepSparse của Neural Magic lấy cảm hứng từ hiệu quả của não người trong việc tính toán mạng neural. Công nghệ này áp dụng hai nguyên tắc chính từ não người như sau:
-
Sparsity: Quá trình tạo sparsity bao gồm pruning thông tin dư thừa khỏi các mạng deep learning, tạo ra các model nhỏ hơn và nhanh hơn mà không ảnh hưởng đến độ 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.
-
Locality of Reference: DeepSparse sử dụng một phương thức thực thi độc đáo, chia mạng thành các Tensor Column. Các column này được thực thi theo chiều sâu và nằm hoàn toàn trong cache của CPU. Phương pháp này mô phỏng hiệu quả của não người, giảm thiểu việc di chuyển dữ liệu và tối đa hóa việc sử dụng cache của CPU.
Tạo phiên bản YOLO26 thưa được huấn luyện trên dataset tùy chỉnh#
SparseZoo, repository model mã nguồn mở của Neural Magic, cung cấp một bộ checkpoint model YOLO26 đã được tạo sparsity. Với SparseML, được tích hợp liền mạch với Ultralytics, người dùng có thể dễ dàng fine-tune các checkpoint thưa này trên dataset cụ thể của mình bằng một command-line interface đơn giản.
Hãy xem tài liệu SparseML YOLO26 của Neural Magic để biết thêm chi tiết.
Cách sử dụng: Triển khai YOLO26 bằng DeepSparse#
Triển khai YOLO26 với DeepSparse của Neural Magic gồm một vài bước đơn giản. Trước khi tìm hiểu hướng dẫn sử dụng, hãy xem danh sách các model YOLO26 do Ultralytics cung cấp. Điều này sẽ giúp bạn chọn model phù hợp nhất với yêu cầu của dự án. Sau đây là cách bắt đầu.
Bước 1: Cài đặt#
Để cài đặt các package bắt buộc, hãy chạy:
# Install the required packages
pip install deepsparse[yolov8]Bước 2: Export YOLO26 sang định dạng ONNX#
DeepSparse Engine yêu cầu các model YOLO26 ở định dạng ONNX. Export model sang định dạng này là điều cần thiết để đảm bảo khả năng tương thích với DeepSparse. Sử dụng lệnh sau để export các model YOLO26:
# Export YOLO26 model to ONNX format
yolo detect export model=yolo26n.pt format=onnx opset=13Lệnh này sẽ lưu model yolo26n.onnx vào ổ đĩa của bạn.
Bước 3: Triển khai và chạy suy luận#
Với model YOLO26 ở đị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ể dễ dàng thực hiện thông qua Python API trực quan của công cụ:
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: Benchmark hiệu năng#
Điều quan trọng là kiểm tra để đảm bảo model YOLO26 hoạt động tối ưu trên DeepSparse. Bạn có thể benchmark hiệu năng của model để phân tích thông lượng và độ trễ:
# 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 để tích hợp YOLO26 vào ứng dụng trong thực tế, chẳng hạn như chú thích ảnh và đánh giá dataset.
# 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"Việc chạy lệnh annotate sẽ xử lý ảnh bạn chỉ định, phát hiện các đối tượng và lưu ảnh đã chú thích cùng với BBox và phân loại. Ảnh đã chú thích sẽ được lưu trong thư mục annotation-results. Điều này giúp cung cấp hình ảnh trực quan về khả năng phát hiện của model.
Sau khi chạy lệnh eval, bạn sẽ nhận được các metric đầu ra chi tiết như precision, recall và mAP (độ chính xác trung bình). Điều này cung cấp góc nhìn toàn diện về hiệu năng của model trên dataset và đặc biệt hữu ích cho việc fine-tune, tối ưu các model YOLO26 theo từng trường hợp sử dụng cụ thể, nhằm đảm bảo độ chính xác và hiệu quả cao.
Tóm tắt#
Hướng dẫn này đã trình bày cách tích hợp YOLO26 của Ultralytics với DeepSparse Engine của Neural Magic. Nội dung nhấn mạnh cách tích hợp này nâng cao hiệu năng 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 sparsity nâng cao cho mạng neural.
Để biết thêm thông tin chi tiết và cách sử dụng nâng cao, hãy truy cập DeepSparse repository by Neural Magic. Bạn cũng có thể explore the YOLO26 integration guide và watch a walkthrough session on YouTube.
Ngoài ra, để hiểu rộng 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á nhiều khả năng tích hợp thú vị khác.
FAQ#
DeepSparse Engine của Neural Magic là một inference runtime được thiết kế để tối ưu hóa việc thực thi mạng neural trên CPU thông qua các kỹ thuật nâng cao như sparsity, pruning và quantization. Bằng cách tích hợp DeepSparse với YOLO26, bạn có thể đạt hiệu năng tương tự GPU trên CPU tiêu chuẩn, cải thiện đáng kể tốc độ suy luận, hiệu quả model và hiệu năng 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.
Việc cài đặt các package 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 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.
Để chuyển đổi các model YOLO26 sang định dạng ONNX, vốn cần thiết để đảm bảo khả năng tương thích với DeepSparse, bạn có thể sử dụng lệnh CLI sau:
yolo detect export model=yolo26n.pt format=onnx opset=13Lệnh này sẽ export model YOLO26 (
yolo26n.pt) của bạn sang một định dạng (yolo26n.onnx) có thể được DeepSparse Engine sử dụng. Bạn có thể tìm thêm thông tin về việc export model trong phần Export model.Benchmark hiệu năng YOLO26 trên DeepSparse giúp bạn phân tích thông lượng và độ trễ để đảm bảo model được tối ưu. Bạn có thể sử dụng lệnh CLI sau để chạy benchmark:
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 metric hiệu năng quan trọng. Để biết thêm chi tiết, hãy xem phần Benchmark hiệu năng.
Tích hợp DeepSparse của Neural Magic với YOLO26 mang lại một số lợi ích:
- Tốc độ suy luận nâng cao: Đạt tới 525 FPS (trên YOLO11n), cho thấy khả năng tối ưu hóa của DeepSparse.
- Hiệu quả model được tối ưu: Sử dụng các kỹ thuật sparsity, pruning và quantization để giảm kích thước model và nhu cầu tính toán trong khi vẫn duy trì độ chính xác.
- Hiệu năng cao trên CPU tiêu chuẩn: Mang lại hiệu năng tương tự GPU trên phần cứng CPU tiết kiệm chi phí.
- Tích hợp hợp lý hóa: Cung cấp các công cụ thân thiện với người dùng để dễ dàng triển khai và tích hợp.
- Tính linh hoạt: Hỗ trợ cả model YOLO26 tiêu chuẩn và model YOLO26 được tối ưu theo sparsity.
- 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ề những ư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.