Neural Magic の DeepSparse エンジンを使ってYOLO11 推論を最適化する。
のようなオブジェクト検出モデルをさまざまなハードウェアに展開する場合、最適化など独特の問題にぶつかることがある。 Ultralytics YOLO11のようなオブジェクト検出モデルをさまざまなハードウェアにデプロイする場合、最適化のような独自の問題にぶつかることがあります。そこでYOLO11 とNeural Magic の DeepSparse Engine との統合が必要になります。これは、YOLO11 モデルの実行方法を変換し、GPU-レベルのパフォーマンスをCPU上で直接実現します。
このガイドでは、Neural Magic の DeepSparse を使用してYOLO11 をデプロイする方法、推論を実行する方法、およびパフォーマンスが最適化されていることを確認するためのベンチマーク方法を示します。
Neural MagicのDeepSparse
Neural MagicDeepSparseは、CPU上でのニューラルネットワークの実行を最適化するために設計された推論ランタイムである。スパース、プルーニング、量子化などの高度なテクニックを適用し、精度を維持しながら計算量を劇的に削減します。DeepSparseは、さまざまなデバイスで効率的かつスケーラブルにニューラルネットワークを実行するための俊敏なソリューションを提供します。
Neural Magic の DeepSparse と統合するメリットYOLO11
DeepSparseを使用してYOLO11 展開する方法に入る前に、DeepSparseを使用する利点を理解しましょう。主な利点は以下のとおりです:
- 推論速度の向上:最大525 FPS(YOLO11nの場合)を達成し、YOLO11 の推論能力を従来の方法と比較して大幅に高速化。
- 最適化されたモデル効率:プルーニングと量子化を使用してYOLO11 の効率を高め、精度を維持しながらモデルサイズと計算量を削減します。
-
標準的なCPUで高いパフォーマンスを発揮:GPU のようなパフォーマンスをCPU上で実現し、さまざまなアプリケーションに、よりアクセスしやすくコスト効率の高いオプションを提供します。
-
合理化された統合と展開:画像やビデオの注釈機能など、YOLO11 をアプリケーションに簡単に統合できるユーザーフレンドリーなツールを提供。
-
様々なモデルタイプをサポート:標準モデルとスパース最適化YOLO11 モデルの両方に対応し、配備の柔軟性を高めます。
-
コスト効率と拡張性に優れたソリューション:運用コストを削減し、高度な物体検出モデルをスケーラブルに展開。
Neural MagicDeepSparseテクノロジーはどのように機能するのか?
Neural Magicのディープ・スパース・テクノロジーは、ニューラルネットワーク計算における人間の脳の効率性にインスパイアされている。脳から以下の2つの重要な原則を採用している:
-
スパース化:スパース化のプロセスでは、ディープラーニングネットワークから冗長な情報を刈り込み、精度を損なうことなく、より小さく高速なモデルを実現する。この手法により、ネットワークのサイズと計算量が大幅に削減される。
-
参照の局所性:DeepSparseはユニークな実行方法を採用しており、ネットワークをTensor 「列」に分割する。これらのカラムは深さ方向に実行され、CPU のキャッシュ内に完全に収まる。このアプローチは脳の効率性を模倣し、データの移動を最小化し、CPU'のキャッシュ使用を最大化する。
Neural MagicDeepSparseテクノロジーがどのように機能するかについての詳細は、彼らのブログ記事をご覧ください。
カスタムデータセットで訓練されたYOLO11 のスパースバージョンの作成
Neural MagicオープンソースのモデルリポジトリであるSparseZooは、事前にスパース化されたYOLO11 モデルのチェックポイントのコレクションを提供します。Ultralyticsシームレスに統合されたSparseMLを使えば、ユーザーは簡単なコマンドラインインターフェイスを使って、特定のデータセット上でこれらのスパースチェックポイントを簡単に微調整することができます。
詳しくはNeural MagicSparseMLYOLO11 ドキュメントをご覧ください。
使い方DeepSparseを使用したYOLO11 展開
Neural Magic の DeepSparse を使用してYOLO11 を展開するには、いくつかの簡単な手順が必要です。使用方法の説明に入る前に、 Ultralytics が提供するYOLO11 モデルの範囲を必ず確認してください。これにより、プロジェクトの要件に最適なモデルを選択できます。以下に、その方法を説明します。
ステップ1:インストール
必要なパッケージをインストールするには
ステップ 2:YOLO11 をONNX 形式にエクスポートする
DeepSparse Engineは、ONNX 形式のYOLO11 モデルを必要とします。この形式にモデルをエクスポートすることは、DeepSparseとの互換性のために不可欠です。YOLO11 モデルをエクスポートするには、以下のコマンドを使用します:
モデル輸出
このコマンドは yolo11n.onnx
モデルをディスクに保存する。
ステップ3:推論の展開と実行
ONNX 形式のYOLO11 モデルがあれば、DeepSparse を使用して推論を展開および実行できます。これは、DeepSparseの直感的なAPI(Python )を使って簡単に行うことができます:
推論の展開と実行
from deepsparse import Pipeline
# Specify the path to your YOLO11 ONNX model
model_path = "path/to/yolo11n.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:パフォーマンスのベンチマーク
YOLO11 モデルがDeepSparse上で最適に動作していることを確認することが重要です。モデルのパフォーマンスをベンチマークして、スループットとレイテンシを分析できます:
ベンチマーキング
ステップ5:追加機能
DeepSparseは、画像注釈やデータセット評価などのアプリケーションにYOLO11 を実用的に統合するための追加機能を提供する。
その他の特徴
annotateコマンドを実行すると、指定した画像が処理され、オブジェクトが検出され、バウンディングボックスと分類とともにアノテーションされた画像が保存されます。アノテーションされた画像は、annotation-resultsフォルダに保存されます。これは、モデルの検出能力を視覚的に表現するのに役立ちます。
evalコマンドを実行すると、precision、recall、mAP(mean Average Precision)などの詳細な出力メトリクスが得られます。これにより、データセット上でのモデルのパフォーマンスを包括的に見ることができます。この機能は、YOLO11 モデルを特定のユースケース向けに微調整・最適化し、高い精度と効率を確保するのに特に役立ちます。
概要
このガイドでは、Ultralytics'YOLO11 とNeural Magic's DeepSparse Engine の統合について検討した。この統合が、YOLO11'のパフォーマンスをCPU プラットフォーム上でどのように向上させ、GPU-レベルの効率と高度なニューラルネットワークスパース技術を提供するかを強調した。
詳細な情報と高度な使用法については、Neural Magic の DeepSparse ドキュメントを参照してください。また、YOLO11 との統合に関するNeural Magic'のドキュメントを参照し、それに関する素晴らしいセッションをご覧ください。
さらに、YOLO11 の様々な統合をより広く理解するために、Ultralytics 統合ガイドのページをご覧ください。ここでは、他のエキサイティングな統合の可能性を幅広く発見することができます。
よくあるご質問
Neural Magic 「DeepSparse Engine」とはどのようなもので、YOLO11 パフォーマンスをどのように最適化するのか?
Neural MagicDeepSparseエンジンは、スパース、プルーニング、量子化などの高度な技術によって、CPU上でのニューラルネットワークの実行を最適化するように設計された推論ランタイムです。DeepSparse をYOLO11 と統合することで、標準的な CPU 上でGPU のようなパフォーマンスを実現し、精度を維持しながら推論速度、モデル効率、全体的なパフォーマンスを大幅に向上させることができます。詳細は、Neural Magic の DeepSparse セクションをご覧ください。
Neural Magic の DeepSparse を使用してYOLO11 を展開するために必要なパッケージをインストールする方法を教えてください。
Neural Magic の DeepSparse でYOLO11 を展開するために必要なパッケージのインストールは簡単です。CLI を使用して簡単にインストールできます。 実行する必要があるコマンドは以下のとおりです:
インストールが完了したら、[インストール] セクションに記載されている手順に従って環境をセットアップし、YOLO11 で DeepSparse の使用を開始します。
DeepSparse で使用するために、YOLO11 のモデルをONNX 形式に変換する方法を教えてください。
YOLO11 モデルを、DeepSparse との互換性に必要なONNX 形式に変換するには、以下のCLI コマンドを使用します:
このコマンドは、あなたのYOLO11 モデル (yolo11n.pt
) をフォーマット (yolo11n.onnx
) で利用できます。モデルのエクスポートに関する詳細は モデル・エクスポートセクション.
DeepSparse EngineでYOLO11 、パフォーマンスをベンチマークするにはどうすればよいですか?
DeepSparse でYOLO11 パフォーマンスのベンチマークを実行すると、スループットと待ち時間を分析して、モデルが最適化されていることを確認できます。ベンチマークを実行するには、以下のCLI コマンドを使用できます:
deepsparse.benchmark model_path="path/to/yolo11n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"
このコマンドは、重要なパフォーマンス・メトリクスを提供します。詳細については、パフォーマンスのベンチマーク・セクションを参照してください。
物体検出タスクにNeural Magic の DeepSparse とYOLO11 を使用する理由は?
Neural Magic の DeepSparse をYOLO11 と統合すると、いくつかの利点がある:
- 推論スピードの向上:最大525 FPSを達成し、YOLO11 の機能を大幅に高速化。
- 最適化されたモデル効率:スパース、プルーニング、量子化技術を使用し、精度を維持しながらモデルサイズと計算量を削減します。
- 標準的なCPUで高いパフォーマンス:費用対効果の高いCPU ハードウェアでGPU のようなパフォーマンスを提供します。
- 合理化された統合:ユーザーフレンドリーなツールで、導入と統合が簡単。
- 柔軟性:標準モデルとスパース最適化モデルの両方をサポートYOLO11 。
- 費用対効果:リソースの効率的な活用により、運用コストを削減します。
これらの利点の詳細については、 Neural Magic の DeepSparse とYOLO11 の統合の利点をご覧ください。