用語集

剪定

プルーニングによるAIモデルの最適化 - パフォーマンスを犠牲にすることなく、複雑さを軽減し、効率を高め、エッジデバイスに迅速に展開します。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

プルーニングとは、人工知能(AI)や機械学習(ML)において、学習済みモデルのサイズや複雑さを軽減するために使用されるモデル最適化手法である。これは、ニューラルネットワーク(NN)内の重みや接続など、重要度が低い、あるいは冗長であると考えられるパラメータを選択的に削除することを含む。主な目的は、計算パワーとメモリが少なくて済む、より小さく高速なモデルを作成することであり、多くの場合、精度を大幅に落とすことはない。このプロセスは、特にリソースの限られたデバイス上で、効率的にモデルを展開するために非常に重要です。

剪定の妥当性

ディープラーニング(DL)モデルは、複雑なタスクに取り組むために大規模になるにつれ、かなりの計算資源を要求するようになる。プルーニングは、モデルをより軽量化することでこの課題に対処する。この最適化により、ストレージ要件が削減され、エネルギー消費量が減少し、リアルタイム推論シナリオに不可欠な推論の待ち時間が短縮される。プルーニングは、モバイル機器、組み込みシステム、エッジAIアプリケーションなど、効率性が最優先される環境でのモデルの展開に特に有益です。

剪定の応用

刈り込み技術は、様々なAI領域で広く応用されている。具体的な例を2つ紹介しよう:

  1. モバイルコンピュータビジョンUltralytics YOLOスマートフォンの物体検出によく使用されるモデルは、バッテリーの消耗や過剰なメモリを必要とすることなく、効率的に動作するように刈り込まれます。これにより、モバイル拡張現実やオンデバイス画像解析のようなリアルタイムアプリケーションが可能になります。Google EdgeTPU搭載したRaspberry Piのようなハードウェアにプルーニングされたモデルをデプロイすると、Raspberry PiのEdgeTPU チュートリアルのようなガイドで示されているように、パフォーマンスが大幅に高速化されます。
  2. 自律走行システム:自動運転車は、歩行者や他の車両を検知するなどのタスクにおいて、複雑なモデルに依存している。これらのモデルを刈り込むことで、重要な意思決定に必要な時間が短縮され、安全性と応答性が向上します。最適化されたモデルは、次のようなツールを使ってさらに高速化することができます。 NVIDIA TensorRTのようなツールを使ってさらに高速化することができます。

種類とテクニック

剪定方法はさまざまだが、一般的には以下のカテゴリーに分類される:

  • 非構造化刈り込み:大きさや重要度に基づいて個々の重みを削除し、効率的な実行のために特殊なハードウェアやNeural MagicDeepSparseのようなソフトウェアを必要とする可能性のあるスパースモデルを導きます。Ultralytics 以下のようなツールの統合ガイドを提供しています。 Neural Magic.
  • 構造化プルーニング:フィルター、チャンネル、レイヤーなどの構造全体を削除します。この結果、より小さく高密度のモデルになり、一般的に標準的なハードウェアでの展開が容易になる。構造化アプローチの詳細については、NVIDIA構造化スパース性に関する研究などを参照してください。

プルーニングは、学習前(アーキテクチャの決定)、学習中、学習後(学習済みモデルの微調整)など、さまざまな段階で適用できる。以下のようなプラットフォームがあります。 PyTorchのようなプラットフォームは、様々なプルーニング技術を容易にするユーティリティを提供しています。

プルーニングと他の最適化手法の比較

プルーニングは、いくつかのモデル最適化戦略のひとつである。関連する概念と区別することが重要です:

  • モデルの量子化モデルの重みの数値精度を下げ(例えば32ビットの浮動小数点数から8ビットの整数へ)、パラメータを削除することなくサイズを小さくし、計算を高速化する。
  • 知識の蒸留より大きな、事前に訓練された「教師」モデルの出力を複製するために、より小さな「生徒」モデルを訓練する。

これらのテクニックは相互に排他的なものではなく、最大の効率を達成するために、刈り込みと組み合わされることが多い。より広範な概要については、モデル最適化のガイドを参照してください。プルーニングによって最適化されたモデルは、多くの場合、以下のような標準フォーマットにエクスポートすることができます。 ONNXのような標準形式にエクスポートすることができます。

要約すると、刈り込みは、多様な展開ニーズに適した効率的なAIモデルを作成するための貴重な技術であり、コンピュータビジョン(CV)やその他のMLタスクの実用化に大きく貢献する。Ultralytics HUBのようなツールやプラットフォームは、このような最適化手法を取り入れたり、促進したりすることが多い。

すべて読む