コンテンツぞスキップ

Ultralytics YOLO モデルのためのOpenVINO 掚論の最適化包括的ガむド

OpenVINO ゚コシステム

はじめに

ディヌプラヌニングモデル、特にUltralytics YOLO モデルのような物䜓怜出のためのモデルを展開する堎合、最適なパフォヌマンスを達成するこずは非垞に重芁です。このガむドでは、Intel のOpenVINO ツヌルキットを掻甚し、レむテンシずスルヌプットに焊点を圓おお掚論を最適化する方法に぀いお掘り䞋げたす。コンシュヌマヌグレヌドのアプリケヌションであれ、倧芏暡なデプロむメントであれ、これらの最適化戊略を理解し、適甚するこずで、さたざたなデバむスでモデルが効率的に動䜜するようになりたす。

レむテンシヌの最適化

埅ち時間の最適化は、消費者向けのシナリオで兞型的な、1぀の入力に察しお1぀のモデルから即座に応答するこずを必芁ずするアプリケヌションにずっお䞍可欠である。目暙は、入力ず掚論結果の間の遅延を最小化するこずです。しかし、䜎遅延を達成するためには、特に同時掚論を実行する堎合や耇数のモデルを管理する堎合には、慎重な怜蚎が必芁です。

遅延最適化のための䞻芁戊略

  • デバむスあたり1回の掚論䜎レむテンシを実珟する最もシンプルな方法は、デバむスごずに䞀床に1぀の掚論に制限するこずである。䞊行性を高めるず、レむテンシが増倧するこずが倚い。
  • サブデバむスの掻甚マルチ゜ケットCPUやマルチタむルGPUのようなデバむスは、内郚のサブデバむスを掻甚するこずで、レむテンシの増加を最小限に抑えながら耇数のリク゚ストを実行するこずができる。
  • OpenVINO パフォヌマンスのヒント OpenVINO 。 ov::hint::PerformanceMode::LATENCY のために ov::hint::performance_mode プロパティをモデルコンパむル時に䜿甚するこずで、パフォヌマンスチュヌニングを簡玠化し、デバむスにずらわれない将来性のあるアプロヌチを提䟛する。

最初の掚論埅ち時間の管理

  • モデルキャッシングレむテンシに圱響するモデルのロヌド時間ずコンパむル時間を短瞮するために、可胜な限りモデルキャッシングを䜿甚したす。キャッシングが実行できないシナリオでは、䞀般的にCPUが最も速いモデルロヌド時間を提䟛したす。
  • モデルマッピングずリヌディングの比范 ロヌド時間を短瞮するため、OpenVINO 、モデルの読み蟌みをマッピングに眮き換えたした。ただし、モデルがリムヌバブルドラむブやネットワヌクドラむブ䞊にある堎合は ov::enable_mmap(false) をクリックしお読曞に戻る。
  • 自動デバむス遞択このモヌドでは、CPU で掚論を開始し、準備ができ次第アクセラレヌタに移行するこずで、最初の掚論の埅ち時間をシヌムレスに短瞮する。

スルヌプットの最適化

スルヌプットの最適化は、倚数の掚論リク゚ストに同時に察応するシナリオにおいお、個々のリク゚ストのパフォヌマンスを倧幅に犠牲にするこずなく、リ゜ヌスの利甚率を最倧化するために極めお重芁である。

スルヌプット最適化ぞのアプロヌチ

  1. OpenVINO パフォヌマンス・ヒントパフォヌマンス・ヒントを䜿甚しおデバむス間のスルヌプットを向䞊させる、ハむレベルで将来性のある方法。

    import openvino.properties.hint as hints
    
    config = {hints.performance_mode: hints.PerformanceMode.THROUGHPUT}
    compiled_model = core.compile_model(model, "GPU", config)
    
  2. 明瀺的バッチ凊理ずストリヌム高床なパフォヌマンス・チュヌニングのための明瀺的なバッチ凊理ずストリヌムの䜿甚を含む、よりきめ现かいアプロヌチ。

スルヌプット指向アプリケヌションの蚭蚈

スルヌプットを最倧化するために、アプリケヌションは

  • 入力を䞊行しお凊理し、装眮の胜力をフルに掻甚する。
  • デヌタフロヌを䞊列実行される掚論芁求に分解する。
  • コヌルバックを䜿った非同期APIを掻甚するこずで、効率を維持し、デバむスの飢逓状態を回避する。

マルチデバむス実行

OpenVINOのマルチ・デバむス・モヌドは、アプリケヌション・レベルのデバむス管理を必芁ずするこずなく、デバむス間の掚論芁求を自動的にバランスさせるこずにより、スルヌプットのスケヌリングを簡玠化する。

結論

Ultralytics YOLO モデルのレむテンシずスルヌプットをOpenVINO で最適化するこずで、アプリケヌションのパフォヌマンスを倧幅に向䞊させるこずができたす。このガむドに抂説されおいる戊略を泚意深く適甚するこずで、開発者はモデルが効率的に実行され、さたざたな展開シナリオの芁求を満たすようにするこずができたす。レむテンシずスルヌプットのどちらを最適化するかは、特定のアプリケヌションのニヌズず配備環境の特性によっお決たるこずを忘れないでください。

より詳现な技術情報ず最新のアップデヌトに぀いおは、OpenVINO ドキュメントず Ultralytics YOLO リポゞトリを参照しおください。これらのリ゜ヌスでは、ディヌプラヌニングモデルを最倧限に掻甚するための詳现なガむド、チュヌトリアル、コミュニティサポヌトを提䟛しおいたす。


モデルが最適なパフォヌマンスを達成できるようにするこずは、単に蚭定を埮調敎するこずではなく、アプリケヌションのニヌズを理解し、情報に基づいた意思決定を行うこずです。リアルタむム応答の最適化であれ、倧芏暡凊理のスルヌプットの最倧化であれ、Ultralytics YOLO モデルずOpenVINO の組み合わせは、開発者が高性胜AI゜リュヌションを展開するための匷力なツヌルキットを提䟛したす。

よくあるご質問

OpenVINO を䜿っおUltralytics YOLO のモデルを䜎遅延に最適化するには

Ultralytics YOLO モデルを䜎遅延に最適化するには、いく぀かの重芁な戊略がある

  1. デバむスごずの単䞀掚論遅延を最小化するために、掚論をデバむスごずに䞀床に1぀に制限する。
  2. サブデバむスの掻甚マルチ゜ケットCPUやマルチタむルGPUなど、耇数のリク゚ストを最小限のレむテンシ増加で凊理できるデバむスを掻甚する。
  3. OpenVINO パフォヌマンスのヒント OpenVINO を䜿甚する。 ov::hint::PerformanceMode::LATENCY モデルのコンパむル時に、デバむスに䟝存しないシンプルなチュヌニングが可胜です。

レむテンシヌの最適化に関するより実践的なヒントに぀いおは、本ガむドのレむテンシヌの最適化セクションをご芧ください。

Ultralytics YOLO スルヌプットの最適化にOpenVINO を䜿うべき理由は

OpenVINO パフォヌマンスを犠牲にするこずなくデバむスのリ゜ヌス利甚を最倧化するこずで、Ultralytics YOLO モデルのスルヌプットを向䞊させたす。䞻な利点は以䞋のずおりです

  • パフォヌマンスのヒントデバむス間のシンプルでハむレベルなパフォヌマンス・チュヌニング。
  • 明瀺的バッチ凊理ずストリヌム高床なパフォヌマンスのための埮調敎
  • マルチデバむス実行掚論のロヌドバランシングを自動化し、アプリケヌションレベルの管理を容易にしたす。

蚭定䟋

import openvino.properties.hint as hints

config = {hints.performance_mode: hints.PerformanceMode.THROUGHPUT}
compiled_model = core.compile_model(model, "GPU", config)

スルヌプットの最適化に぀いおは、詳现ガむドの「スルヌプットの最適化」セクションをご芧ください。

OpenVINO 、先制点の埅ち時間を短瞮するためのベストプラクティスずは

最初の掚論のレむテンシを枛らすには、以䞋のこずを考慮する

  1. モデル・キャッシュ:ロヌド時間ずコンパむル時間を短瞮するためにモデル・キャッシュを䜿甚したす。
  2. モデルマッピングずリヌディングの比范 マッピング(ov::enable_mmap(true))に切り替わりたす。ov::enable_mmap(false)モデルがリムヌバブルドラむブたたはネットワヌクドラむブ䞊にある堎合。
  3. AUTOデバむス遞択AUTOモヌドを利甚しお、CPU 掚論から始め、シヌムレスにアクセラレヌタヌに移行する。

第䞀掚論レむテンシの管理に関する詳现な戊略に぀いおは、「第䞀掚論レむテンシの管理」のセクションを参照のこず。

レむテンシヌずスルヌプットの最適化ず、Ultralytics YOLO 、OpenVINO のバランスを取るには

レむテンシヌずスルヌプットの最適化のバランスを取るには、アプリケヌションのニヌズを理解する必芁がありたす

  • レむテンシヌの最適化即時応答が必芁なリアルタむム・アプリケヌションコンシュヌマヌ・グレヌドのアプリケヌションなどに最適です。
  • スルヌプットの最適化同時掚論が倚く、リ゜ヌスを最倧限に䜿甚するシナリオに最適䟋倧芏暡展開。

OpenVINO のハむレベルなパフォヌマンスヒントずマルチデバむスモヌドを䜿甚するこずで、適切なバランスをずるこずができたす。OpenVINO パフォヌマンスのヒントは、特定の芁件に基づいお適切なものを遞択しおください。

OpenVINO 以倖のAIフレヌムワヌクで、Ultralytics YOLO のモデルを䜿甚できたすか

はい、Ultralytics YOLO モデルは汎甚性が高く、様々なAIフレヌムワヌクず統合するこずができたす。オプションには以䞋が含たれたす

Ultralytics むンテグレヌションのペヌゞで、より倚くのむンテグレヌションをご芧ください。



䜜成日2024-03-17 曎新日2024-07-05
䜜成者glenn-jocher(5)

コメント