Neural MagicのDeepSparse Engineを使用したYOLO26推論の最適化

When deploying object detection models like Ultralytics YOLO26 on various hardware, you can bump into unique issues like optimization. This is where YOLO26's integration with Neural Magic's DeepSparse Engine steps in. It transforms the way YOLO26 models are executed and enables GPU-level performance directly on CPUs.

本ガイドでは、Neural MagicのDeepSparseを使用してYOLO26をデプロイする方法、推論を実行する方法、および最適化を確認するためのパフォーマンスのベンチマーク方法を解説します。

SparseMLのEOL(製品寿命終了)

Neural Magicは2025年1月にRed Hatによって買収されdeepsparsesparsemlsparsezoosparsifyライブラリのコミュニティ版のサポートを終了します。詳細については、sparseml GitHubリポジトリのReadmeに掲載された通知を参照してください。

Neural MagicのDeepSparse

Neural Magic's DeepSparse Overview

Neural MagicのDeepSparseは、CPU上でのニューラルネットワーク実行を最適化するために設計された推論ランタイムです。スパース性、枝刈り(プルーニング)、量子化といった高度な技術を適用し、精度を維持しながら計算負荷を劇的に削減します。DeepSparseは、さまざまなデバイス間で効率的かつスケーラブルなニューラルネットワーク実行を実現するアジャイルなソリューションを提供します。

YOLO26とNeural MagicのDeepSparseを統合する利点

DeepSparseを使用してYOLO26をデプロイする方法を説明する前に、DeepSparseを使用する利点を理解しておきましょう。主な利点は以下の通りです。

  • 推論速度の向上: 最大525 FPS(YOLO11nの場合)を達成し、従来の手法と比較してYOLOの推論機能を大幅に高速化します。

Neural Magic DeepSparse inference acceleration

  • モデル効率の最適化: 枝刈りと量子化を活用してYOLO26の効率を高め、精度を維持しながらモデルサイズと計算要件を削減します。

Neural Magic model optimization and pruning

  • 標準CPUでの高性能: CPU上でGPUのようなパフォーマンスを実現し、様々なアプリケーションにとって、よりアクセスしやすく費用対効果の高い選択肢を提供します。

  • 統合とデプロイの簡素化: 画像やビデオのアノテーション機能など、YOLO26をアプリケーションへ簡単に組み込める使いやすいツールを提供します。

  • 様々なモデルタイプへのサポート: 標準モデルとスパース性最適化済みのYOLO26モデルの両方に対応しており、デプロイの柔軟性が向上します。

  • 費用対効果が高くスケーラブルなソリューション: 運用コストを削減し、高度な物体検出モデルのスケーラブルなデプロイを可能にします。

Neural MagicのDeepSparse技術はどのように機能しますか?

Neural MagicのDeepSparse技術は、ニューラルネットワーク計算における人間の脳の効率性にヒントを得ています。これは、以下の脳の2つの主要な原則を採用しています。

  • スパース性: スパース化のプロセスには、ディープラーニングネットワークから冗長な情報を枝刈りすることが含まれ、精度を損なうことなくモデルをより小さく高速にします。この技術により、ネットワークのサイズと計算上のニーズが大幅に減少します。

  • 参照の局所性: DeepSparseは、ネットワークをTensor Columnsに分割する独自のエグゼキューション手法を使用しています。これらのカラムは深さ方向に実行され、CPUのキャッシュ内に完全に収まります。このアプローチは脳の効率性を模倣しており、データ移動を最小限に抑え、CPUキャッシュの使用率を最大化します。

How Neural Magic's DeepSparse Technology Works

カスタムデータセットで学習したYOLO26のスパース版を作成する

Neural MagicによるオープンソースのモデルリポジトリであるSparseZooは、スパース化されたYOLO26モデルのチェックポイント集を提供しています。Ultralyticsとシームレスに統合されたSparseMLを使用することで、ユーザーはシンプルなコマンドラインインターフェースを介して、特定のデータセットでこれらのスパースチェックポイントを簡単に微調整(ファインチューニング)できます。

詳細については、Neural MagicのSparseML YOLO26ドキュメントを確認してください。

使用方法: DeepSparseを使用してYOLO26をデプロイする

Neural MagicのDeepSparseを使用してYOLO26をデプロイするには、いくつかの簡単な手順が必要です。使用方法の説明に入る前に、Ultralyticsが提供するYOLO26モデルの範囲を必ず確認してください。これは、プロジェクトの要件に最も適切なモデルを選択するのに役立ちます。開始方法は以下の通りです。

ステップ 1: インストール

必要なパッケージをインストールするには、以下のコマンドを実行します:

インストール
# Install the required packages
pip install deepsparse[yolov8]

ステップ 2: YOLO26をONNX形式にエクスポートする

DeepSparse Engineは、YOLO26モデルをONNX形式で必要とします。モデルをこの形式にエクスポートすることは、DeepSparseとの互換性のために不可欠です。YOLO26モデルをエクスポートするには、以下のコマンドを使用します。

モデルのエクスポート
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13

このコマンドにより、yolo26n.onnxモデルがディスクに保存されます。

ステップ 3: デプロイと推論の実行

YOLO26モデルがONNX形式になったら、DeepSparseを使用してデプロイおよび推論を実行できます。これは、直感的なPython APIを使用して簡単に行えます。

デプロイと推論の実行
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)

ステップ 4: パフォーマンスのベンチマーク

YOLO26モデルがDeepSparse上で最適に動作していることを確認することは重要です。モデルのパフォーマンスをベンチマークして、スループットとレイテンシを分析できます。

ベンチマーク
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

ステップ 5: 追加機能

DeepSparseは、画像アノテーションやデータセット評価など、アプリケーションへのYOLO26の実用的な統合のための追加機能を提供します。

追加機能
# 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"

annotateコマンドを実行すると、指定した画像が処理され、物体が検出され、バウンディングボックスと分類結果を含むアノテーション付き画像が保存されます。アノテーション付き画像はannotation-resultsフォルダに保存されます。これは、モデルの検出能力を視覚的に表現するのに役立ちます。

Neural Magic annotation feature interface

evalコマンドを実行すると、精度再現率mAP(平均適合率)などの詳細な出力メトリクスが得られます。これにより、データセット上でのモデルのパフォーマンスを包括的に把握でき、特定のユースケースに合わせてYOLO26モデルを微調整・最適化し、高い精度と効率を確保するのに特に有用です。

まとめ

本ガイドでは、UltralyticsのYOLO26とNeural MagicのDeepSparse Engineの統合について調査しました。この統合が、CPUプラットフォーム上でのYOLO26のパフォーマンスをいかに向上させ、GPUレベルの効率と高度なニューラルネットワークのスパース化技術を提供するかを強調しました。

詳細情報や高度な使用方法については、Neural MagicによるDeepSparseのドキュメントを参照してください。また、YOLO26統合ガイドを探索したり、YouTubeでウォークスルーセッションを視聴したりすることもできます。

さらに、YOLO26の多様な統合についての幅広い理解については、Ultralytics統合ガイドページにアクセスしてください。そこでは、他の多くの刺激的な統合の可能性を発見できます。

FAQ

Neural MagicのDeepSparse Engineとは何ですか?また、どのようにYOLO26のパフォーマンスを最適化しますか?

Neural MagicのDeepSparse Engineは、スパース性、枝刈り、量子化といった高度な技術を通じて、CPU上でのニューラルネットワーク実行を最適化するために設計された推論ランタイムです。DeepSparseとYOLO26を統合することで、標準CPU上でGPUレベルのパフォーマンスを達成でき、精度を維持しながら推論速度、モデル効率、および全体的なパフォーマンスを大幅に向上させることができます。詳細については、Neural MagicのDeepSparseセクションを確認してください。

Neural MagicのDeepSparseを使用してYOLO26をデプロイするために必要なパッケージをインストールするにはどうすればよいですか?

Neural MagicのDeepSparseを使用してYOLO26をデプロイするために必要なパッケージのインストールは簡単です。CLIを使用して簡単にインストールできます。実行する必要があるコマンドは以下の通りです。

pip install deepsparse[yolov8]

インストールが完了したら、インストールセクションの手順に従って環境をセットアップし、YOLO26でDeepSparseの使用を開始してください。

DeepSparseで使用するためにYOLO26モデルをONNX形式に変換するにはどうすればよいですか?

DeepSparseとの互換性のために必要なYOLO26モデルをONNX形式に変換するには、以下のCLIコマンドを使用できます。

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

このコマンドにより、YOLO26モデル(yolo26n.pt)がDeepSparse Engineで利用可能な形式(yolo26n.onnx)にエクスポートされます。モデルのエクスポートに関する詳細情報は、モデルエクスポートセクションに記載されています。

DeepSparse Engine上でYOLO26のパフォーマンスをベンチマークするにはどうすればよいですか?

DeepSparse上でYOLO26のパフォーマンスをベンチマークすると、スループットとレイテンシを分析してモデルが最適化されていることを確認できます。ベンチマークを実行するには、以下のCLIコマンドを使用します。

deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

このコマンドにより、重要なパフォーマンスメトリクスが得られます。詳細については、パフォーマンスのベンチマークセクションを参照してください。

物体検出タスクにおいて、YOLO26でNeural MagicのDeepSparseを使用すべき理由は何ですか?

Neural MagicのDeepSparseとYOLO26を統合することには、いくつかの利点があります。

  • 推論速度の向上: 最大525 FPS(YOLO11nの場合)を達成し、DeepSparseの最適化能力を証明しています。
  • モデル効率の最適化: スパース性、枝刈り、量子化の技術を使用して、精度を維持しながらモデルサイズと計算ニーズを削減します。
  • 標準CPUでの高性能: 費用対効果の高いCPUハードウェア上でGPUのようなパフォーマンスを提供します。
  • 合理化された統合: 簡単にデプロイと統合が行えるユーザーフレンドリーなツール。
  • 柔軟性: 標準のYOLO26モデルとスパース性最適化済みのYOLO26モデルの両方をサポートしています。
  • 費用対効果: 効率的なリソース活用により運用コストを削減します。

これらの利点の詳細については、YOLO26とNeural MagicのDeepSparseを統合する利点セクションを参照してください。

コメント