Ultralytics YOLO27:
Get Started

Tối ưu hóa inference YOLO26 bằng DeepSparse Engine của Neural Magic#

Khi triển khai model phát hiện đối tượng như Ultralytics YOLO26 trên nhiều loại phần cứng, bạn có thể gặp phải những thách thức riêng như tối ưu hóa. Tích hợp YOLO26 với DeepSparse Engine của Neural Magic giúp giải quyết vấn đề này. Công nghệ này thay đổi cách thực thi model YOLO26 và mang lại hiệu năng tương đương 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 inference và cách đánh giá hiệu năng để đảm bảo model được tối ưu hóa.

SparseML kết thúc vòng đời (EOL)

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 thư viện deepsparse, sparseml, sparsezoo và sparsify. Để biết thêm thông tin, hãy xem thông báo trong Readme của repository GitHub sparsify.

DeepSparse của Neural Magic#

Neural Magic's DeepSparse Overview

DeepSparse của Neural Magic là runtime inference được thiết kế để tối ưu hóa việc thực thi mạng neural trên CPU. Công nghệ này áp dụng các kỹ thuật tiên tiến như sparsity, pruning và lượng tử hóa để giảm đáng kể yêu cầu tính toán mà vẫn duy trì độ chính xác. DeepSparse cung cấp 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 lợi ích của DeepSparse. Một số ưu điểm chính gồm:

  • Tăng tốc độ inference: Đạt tới 525 FPS (trên YOLOv8n), giúp tăng đáng kể tốc độ inference của YOLO so với các phương pháp truyền thống.

Neural Magic DeepSparse inference acceleration

  • Tối ưu hiệu quả model: Sử dụng pruning và lượng tử hóa để 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 mà vẫn duy trì độ chính xác.

Neural Magic model optimization and pruning

  • Hiệu năng cao trên CPU tiêu chuẩn: Mang lại hiệu năng tương đương 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.

  • Đơn giản hóa tích hợp và triển khai: 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 gán nhãn hình ảnh và video.

  • Hỗ trợ nhiều loại model: Tương thích với cả model YOLO tiêu chuẩn và model YOLO được tối ưu hóa bằng sparsity, 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à hỗ trợ triển khai các model phát hiện đối tượng tiên tiến với khả năng mở rộng.

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 bộ não con người trong tính toán mạng neural. Công nghệ này áp dụng hai nguyên lý chính từ bộ não như sau:

  • Sparsity: Quá trình tạo sparsity bao gồm việc loại bỏ thông tin dư thừa khỏi 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 mạng và nhu cầu tính toán.

  • Tính cục bộ tham chiếu: DeepSparse sử dụng phương pháp thực thi độc đáo, chia mạng thành các Tensor Column. Các cột này được thực thi theo chiều sâu và nằm trọn trong cache của CPU. Cách tiếp cận này mô phỏng hiệu quả của bộ não, giảm thiểu việc di chuyển dữ liệu và tối đa hóa khả năng sử dụng cache của CPU.

How Neural Magic's DeepSparse Technology Works

Tạo phiên bản thưa của YOLO26 đượ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 tập hợp các checkpoint model YOLOv8 đã được tạo sparsity trước. 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 thông qua giao diện dòng lệnh đơn giản.

Xem tài liệu SparseML YOLOv8 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 bằng DeepSparse của Neural Magic gồm một số bước đơn giản. Trước khi xem hướng dẫn sử dụng, hãy tham khảo các model YOLO26 do Ultralytics cung cấp. Việc này sẽ giúp bạn chọn model phù hợp nhất với yêu cầu dự án. Sau đây là cách bắt đầu.

Bước 1: Cài đặt#

Để cài đặt các package cần thiết, hãy chạy:

Cài đặt
# 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 model YOLO26 ở định dạng ONNX. Xuất model sang định dạng này là bước cần thiết để đảm bảo khả năng tương thích với DeepSparse. Sử dụng lệnh sau để xuất model YOLO26:

Xuất model
# Export YOLO26 model to ONNX format
yolo detect export model=yolo26n.pt format=onnx opset=13

Lệ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 inference#

Với model YOLO26 ở định dạng ONNX, bạn có thể triển khai và chạy inference bằng DeepSparse. Bạn có thể dễ dàng thực hiện việc này thông qua Python API trực quan của DeepSparse:

Triển khai và chạy inference
from deepsparse import Pipeline

# Chỉ định đường dẫn đến model YOLO26 ONNX
model_path = "path/to/yolo26n.onnx"

# Thiết lập Pipeline DeepSparse
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)

# Chạy model trên ảnh của bạn
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)

Bước 4: Đánh giá hiệu năng#

Điều quan trọng là kiểm tra xem model YOLO26 của bạn có hoạt động tối ưu trên DeepSparse hay không. Bạn có thể đánh giá hiệu năng của model để phân tích thông lượng và độ trễ:

Đánh giá hiệu năng
# 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 một cách thiết thực, chẳng hạn như chú thích ảnh và đánh giá dataset.

Các tính năng bổ sung
# 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ý ảnh bạn chỉ định, phát hiện các đối tượng và lưu ảnh đã chú thích cùng các bounding box và nhãn phân loại. Ảnh đã chú thích sẽ được lưu trong thư mục annotation-results. Việc này giúp thể hiện trực quan khả năng phát hiện của model.

Neural Magic annotation feature interface

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 (độ chính xác trung bình). Các chỉ số này cung cấp cái 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 tinh chỉnh, tối ưu hóa các model YOLO26 của bạn cho nhữ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. Hướng dẫn nêu bật cách tích hợp này cải thiện hiệu năng YOLO26 trên các nền tảng CPU, mang lại hiệu quả tương đương GPU và áp dụng các kỹ thuật làm thưa mạng nơ-ron tiên tiến.

Để biết thông tin chi tiết hơn và cách sử dụng nâng cao, hãy truy cập repository DeepSparse của Neural Magic. Bạn cũng có thể xem hướng dẫn tích hợp YOLOv8 và xem video hướng dẫn trên YouTube.

Ngoài ra, để hiểu rộng hơn về các tích hợp YOLO26, 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.

Câu hỏi thường gặp#

  • DeepSparse Engine của Neural Magic là runtime inference được thiết kế để tối ưu hóa quá trình thực thi mạng nơ-ron trên CPU thông qua các kỹ thuật tiên tiến như làm 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 năng tương tự GPU trên các CPU phổ thông, cải thiện đáng kể tốc độ inference, hiệu quả của model và hiệu năng tổng thể mà vẫn duy trì độ chính xác. Để biết thêm chi tiết, hãy xem mục 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 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 mục 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 model YOLO26 sang định dạng ONNX, vốn cần thiết để tương thích với DeepSparse, bạn có thể dùng lệnh CLI sau:

    yolo detect export model=yolo26n.pt format=onnx opset=13

    Lệnh này sẽ xuất model YOLO26 (yolo26n.pt) sang đị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ề xuất model trong mục Xuất model.

  • Đánh giá 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ể 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 chỉ số hiệu năng quan trọng. Để biết thêm chi tiết, hãy xem mục Đánh giá hiệu năng.

  • 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 độ inference: Đạt đến 525 FPS (trên YOLOv8n), minh chứng cho khả năng tối ưu hóa của DeepSparse.
    • Tối ưu hiệu quả model: 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 model cũng như nhu cầu tính toán mà vẫn duy trì độ chính xác.
    • Hiệu năng cao trên CPU phổ thông: 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 đơn giản: Cung cấp các công cụ thân thiện với người dùng để triển khai và tích hợp dễ dàng.
    • Linh hoạt: Hỗ trợ cả model YOLO tiêu chuẩn lẫn model được tối ưu hóa bằng phương pháp làm thưa.
    • Tiết kiệm chi phí: Giảm chi phí vận hành nhờ sử dụng tài nguyên hiệu quả.

    Để tìm hiểu sâu hơn về những lợi ích này, hãy truy cập mục Lợi ích khi tích hợp DeepSparse của Neural Magic với YOLO26.

Bình luận