Neural MagicのDeepSparse Engineを使用したYOLO26推論の最適化#
オブジェクト検出モデル(Ultralytics YOLO26など)をさまざまなハードウェアにデプロイする際、最適化などの特有の課題に直面することがあります。ここで、YOLO26とNeural MagicのDeepSparse Engineの統合が役立ちます。これにより、YOLO26モデルの実行方法が変革され、CPU上で直接GPUレベルのパフォーマンスを実現できます。
本ガイドでは、Neural MagicのDeepSparseを使用してYOLO26をデプロイする方法、推論を実行する方法、および最適化を確認するためのパフォーマンスのベンチマーク方法を説明します。
Neural Magicは2025年1月にRed Hatによって買収され、deepsparse、sparseml、sparsezoo、およびsparsifyライブラリのコミュニティ版のサポートを終了しています。詳細については、sparsify GitHubリポジトリのReadmeに掲載された通知を参照してください。
Neural MagicのDeepSparse#
Neural MagicのDeepSparseは、CPU上でニューラルネットワークの実行を最適化するために設計された推論ランタイムです。スパース性(sparsity)、プルーニング、量子化といった高度な技術を適用することで、精度を維持しながら計算負荷を劇的に削減します。DeepSparseは、多様なデバイス全体で効率的かつスケーラブルなニューラルネットワーク実行のためのアジャイルなソリューションを提供します。
Neural MagicのDeepSparseとYOLO26を統合するメリット#
DeepSparseを使用してYOLO26をデプロイする方法に入る前に、DeepSparseを使用する利点を理解しておきましょう。主な利点は以下の通りです。
- 推論速度の向上: 最大525 FPS(YOLO11nの場合)を達成し、従来のメソッドと比較してYOLOの推論能力を大幅に高速化します。
- モデル効率の最適化: プルーニングと量子化を使用してYOLO26の効率を高め、精度を維持したままモデルサイズと計算要件を削減します。
-
標準CPUでの高いパフォーマンス: CPU上でGPUのようなパフォーマンスを実現し、さまざまなアプリケーションに対して、よりアクセスしやすくコスト効率の高いオプションを提供します。
-
統合とデプロイの合理化: YOLO26をアプリケーションに簡単に統合できる使いやすいツールを提供しており、画像やビデオのアノテーション機能も含まれています。
-
さまざまなモデルタイプへのサポート: 標準のYOLO26モデルとスパース性最適化モデルの両方と互換性があり、デプロイの柔軟性が向上します。
-
コスト効率に優れたスケーラブルなソリューション: 運用コストを削減し、高度な物体検出モデルのスケーラブルなデプロイを実現します。
Neural MagicのDeepSparse技術はどのように機能するのか?#
Neural MagicのDeepSparse技術は、ニューラルネットワーク計算における人間の脳の効率性にヒントを得ています。脳の2つの主要な原則を採用しています。
-
スパース性: スパース化のプロセスでは、ディープラーニングネットワークから冗長な情報をプルーニング(削減)し、精度を損なうことなく、より小型で高速なモデルを導き出します。この手法により、ネットワークのサイズと計算上の必要性が大幅に削減されます。
-
参照の局所性: DeepSparseは、ネットワークをテンソル列(Tensor Columns)に分解する独自の実行手法を使用します。これらの列は深さ方向に実行され、CPUのキャッシュ内に完全に収まります。このアプローチは脳の効率を模倣しており、データ移動を最小限に抑え、CPUのキャッシュ利用を最大化します。
カスタムデータセットで学習した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: デプロイと推論の実行#
ONNX形式のYOLO26モデルがあれば、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フォルダーに保存されます。これは、モデルの検出能力を視覚的に表現するのに役立ちます。
evalコマンドを実行すると、精度(precision)、再現率(recall)、mAP(mean Average Precision)などの詳細な出力メトリクスが得られます。これにより、データセット上でのモデルのパフォーマンスを包括的に把握でき、特定のユースケースに合わせて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との互換性に必要なONNX形式にYOLO26モデルを変換するには、次の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モデルの両方をサポートします。
- コスト効率: 効率的なリソース利用により、運用コストを削減します。
これらの利点の詳細については、Neural MagicのDeepSparseとYOLO26を統合するメリットのセクションを参照してください。