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上でニューラルネットワークの実行を最適化するよう設計された推論ランタイムです。スパース化、プルーニング、量子化などの高度な技術を適用し、精度を維持しながら計算負荷を大幅に削減します。DeepSparseは、さまざまなデバイスで効率的かつスケーラブルにニューラルネットワークを実行するための柔軟なソリューションを提供します。
Neural MagicのDeepSparseとYOLO26を統合するメリット#
DeepSparseを使用してYOLO26をデプロイする方法に入る前に、DeepSparseを使用するメリットを理解しましょう。主なメリットは次のとおりです。
- 推論速度の向上: 最大525 FPS(YOLO11nの場合)を達成し、従来の方法と比較してYOLOの推論能力を大幅に高速化します。
- モデル効率の最適化: プルーニングと量子化を使用してYOLO26の効率を高め、精度を維持しながらモデルサイズと計算要件を削減します。
-
標準CPUでの高いパフォーマンス: CPU上でGPUに近いパフォーマンスを実現し、さまざまなアプリケーションに、より導入しやすく費用対効果の高い選択肢を提供します。
-
統合とデプロイの効率化: 画像や動画のアノテーション機能を含む、YOLO26をアプリケーションに簡単に統合するための使いやすいツールを提供します。
-
さまざまなモデルタイプをサポート: 標準の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では、ONNX形式のYOLO26モデルが必要です。DeepSparseとの互換性を確保するには、モデルをこの形式にエクスポートすることが不可欠です。次のコマンドを使用してYOLO26モデルをエクスポートします。
# Export YOLO26 model to ONNX format
yolo detect 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フォルダーに保存されます。これにより、モデルの検出能力を視覚的に確認できます。
evalコマンドを実行すると、適合率、再現率、mAP(平均適合率)などの詳細な出力メトリクスを取得できます。これにより、データセット上でのモデルのパフォーマンスを包括的に把握できます。特定のユースケース向けにYOLO26モデルをファインチューニングおよび最適化し、高い精度と効率を確保するうえで特に役立ちます。
まとめ#
このガイドでは、UltralyticsのYOLO26とNeural MagicのDeepSparse Engineの統合について説明しました。この統合によってCPUプラットフォーム上でYOLO26のパフォーマンスが向上し、GPUレベルの効率と高度なニューラルネットワークのスパース化技術が実現することを紹介しました。
より詳細な情報や高度な使用方法については、Neural MagicのDeepSparseリポジトリをご覧ください。また、YOLO26統合ガイドの確認や、YouTubeでの解説セッションの視聴も可能です。
さらに、さまざまなYOLO26統合について幅広く理解するには、Ultralytics統合ガイドページをご覧ください。その他にもさまざまな魅力的な統合方法を確認できます。
FAQ#
Neural MagicのDeepSparse Engineは、スパース化、プルーニング、量子化などの高度な技術によって、CPU上でニューラルネットワークの実行を最適化するよう設計された推論ランタイムです。DeepSparseをYOLO26と統合することで、標準CPU上でGPUに近いパフォーマンスを実現し、精度を維持しながら、推論速度、モデル効率、全体的なパフォーマンスを大幅に向上できます。詳しくは、Neural MagicのDeepSparseセクションをご覧ください。
Neural MagicのDeepSparseでYOLO26をデプロイするために必要なパッケージのインストールは簡単です。CLIを使用して簡単にインストールできます。実行するコマンドは次のとおりです。
pip install deepsparse[yolov8]インストール後、インストールのセクションに記載されている手順に従って環境を設定し、DeepSparseとYOLO26の使用を開始してください。
DeepSparseとの互換性に必要なONNX形式にYOLO26モデルを変換するには、次のCLIコマンドを使用します。
yolo detect export model=yolo26n.pt format=onnx opset=13このコマンドは、YOLO26モデル(
yolo26n.pt)をDeepSparse Engineで利用できる形式(yolo26n.onnx)にエクスポートします。モデルのエクスポートについて詳しくは、モデルのエクスポートのセクションをご覧ください。DeepSparseでYOLO26のパフォーマンスをベンチマークすると、スループットとレイテンシを分析し、モデルが最適化されていることを確認できます。次のCLIコマンドを使用してベンチマークを実行できます。
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"このコマンドによって、重要なパフォーマンスメトリクスが表示されます。詳しくは、パフォーマンスのベンチマークのセクションをご覧ください。
Neural MagicのDeepSparseをYOLO26と統合すると、次のようなメリットがあります。
- 推論速度の向上: 最大525 FPS(YOLO11nの場合)を達成し、DeepSparseの最適化能力を示します。
- モデル効率の最適化: スパース化、プルーニング、量子化の技術を使用して、精度を維持しながらモデルサイズと計算要件を削減します。
- 標準CPUでの高いパフォーマンス: 費用対効果の高いCPUハードウェア上でGPUに近いパフォーマンスを提供します。
- 統合の効率化: 簡単なデプロイと統合を可能にする使いやすいツールを提供します。
- 柔軟性: 標準のYOLO26モデルとスパース化最適化済みのYOLO26モデルの両方をサポートします。
- 費用対効果: リソースを効率的に利用することで運用コストを削減します。
これらのメリットについて詳しくは、Neural MagicのDeepSparseとYOLO26を統合するメリットのセクションをご覧ください。