モデル刈り込みにより機械学習モデルを最適化します。推論の高速化、メモリ使用量の削減、エネルギー効率の向上を実現し、リソースが限られた環境での導入を可能にします。
モデル刈り込みは、機械学習(ML)の手法の1つで、学習済みモデルのサイズと複雑さを軽減して最適化するために使用される。これには、モデルの重みや ニューラルネットワーク(NN)内の接続など、モデル全体の性能にほとんど寄与しない重要度の低いパラメータを特定し、削除することが含まれる。主な目的は、より少ない計算パワーとメモリで、多くの場合、精度を大きく落とすことなく、より小さく、より高速なモデルを作成することである。このプロセスは、MLモデルに直接適用されるプルーニングという広範な概念を具体的に応用したものであり、MLモデルをより効率的に展開できるようにする。
モデル刈り込みの主な原動力は効率性である。最新のディープラーニング(DL)モデルは、特にコンピュータビジョン(CV)のような分野では、非常に大きく、計算集約的である可能性がある。これは、特にスマートフォンや組み込みシステム、エッジコンピューティングシナリオのようなリソースが限られたデバイスでのモデル展開に課題をもたらします。モデル刈り込みは、以下のような問題に対処するのに役立ちます:
モデル刈り込みのテクニックは様々だが、一般的には除去するものの粒度によって分類される:
プルーニングは、モデルが完全に学習された後に行われることもあれば、学習プロセスに組み込まれることもある。剪定後、モデルは通常、パラメータ除去で失われた性能を回復するために、ファインチューニング(より小さなアーキテクチャでのさらなる学習)を行う。フレームワーク PyTorchのようなフレームワークは、PyTorch Pruning Tutorialにあるように、様々なプルーニング手法を実装するユーティリティを提供しています。
モデルの刈り込みは、多くのAI領域で価値がある:
モデル刈り込みは、モデルの最適化に使われるいくつかのテクニックのひとつである。モデル刈り込みは、モデル最適化とは異なるが、しばしば補完的なものである:
これらのテクニックは組み合わせることができる。例えば、モデルをまず刈り込み、次に量子化して最大限の効率を得ることができる。最適化されたモデルは、次のような標準フォーマットにエクスポートされることが多い。 ONNXUltralytics エクスポートオプション)のような標準形式にエクスポートされることが多い。Ultralytics HUBのようなプラットフォームは、モデルやデータセット(COCOなど)を管理し、最適化されたデプロイメントへのパスを合理化するための環境を提供します。