Yolo 深圳
深セン
今すぐ参加
用語集

FLOPs

機械学習におけるFLOPsを理解しましょう!モデルの複雑さをどのように測定し、効率に影響を与え、ハードウェアの選択を支援するかを学びます。

FLOPs(浮動小数点演算)は、機械学習モデルの計算複雑性を定量化するための基本的な指標である。 機械学習モデル、特にディープラーニングの領域では ディープラーニングの分野では特にそうです。この指標は、加算、減算、乗算、除算など、10進数を含む数学演算の総数を計算します、 この測定は、10進数を含む加算、減算、乗算、除算など、ニューラルネットワークの1回のフォワードパスを完了するのに必要な数学演算の総数を計算します。 ニューラル・ネットワークのFLOP数を決定することで、エンジニアはニューラルネットワークに必要な処理能力を見積もることができる、 エンジニアはモデルの実行に必要な処理能力を見積もることができるため、ハードウェアの選択と最適化に不可欠な統計データとなります。 の選択と最適化に不可欠な統計となります。ファイル・サイズやパラメータ・カウントとは異なりますが、FLOPsはモデルがどの程度「重い」かを示す理論的なベースラインを提供します。 のようなプロセッサーでのエネルギー消費量や実行速度に直接関連します。 CPUのような CPUまたは GPU.

AI開発におけるFLOPの重要性

モデルの計算コストを理解することは、効率的なAI開発に不可欠である。 不可欠ある。FLOPs カウントが低いほど、予測結果の生成に必要な計算回数が少ないことを示します。 リソースに制約のある環境では重要です。

  • ハードウェアの選択:FLOPsを知ることで、開発者はモデルを特定のハードウェアの能力に合わせることができます。 特定のハードウェア、例えばNVIDIA Jetsonシリーズや シリーズや標準的な組み込みマイクロコントローラーなど、特定のハードウェアの性能にモデルを適合させることができます。
  • モデルの効率:アーキテクチャを比較する場合、たとえば YOLO11 性能指標をチェックする場合、FLOPs は、ハードウェアにとらわれない方法で、正確性とともに効率性を評価することができます。
  • エネルギー消費:バッテリー駆動のデバイスでは、FLOPの削減はバッテリー寿命の延長に直結します。 プロセッサの1フレームあたりの処理量が減るためです。

実際のアプリケーション

FLOPsの実用的な影響は、モデルがレイテンシ と消費電力が制限されます。

  1. スマートフォンのオブジェクト検出:リアルタイム推論を行うモバイル・アプリケーションでは リアルタイム推論を実行するモバイル・アプリケーションでは、デバイスは ビデオフレームを瞬時に処理しなければなりません。開発者は ナノ・バージョンの YOLO11のような軽量モデルを選ぶかもしれない。 クアルコム・スナップドラゴンやアップル・シリコンなどのモバイル・プロセッサーで クアルコム・スナップドラゴンやアップル・シリコンのようなモバイル・プロセッサーでスムーズな性能を発揮するからだ。
  2. ドローンの自律航行:精密農業に使用されるドローン 精密農業に使用されるドローンは 障害物をdetect し、地形をマッピングするためにオンボードコンピュータに依存しています。これらのデバイスには厳しい重量制限があり、バッテリ このため、エンジニアは、必要な物体検出能力を維持しながら飛行時間を最大化するために、低FLOPに最適化します。 オブジェクトの検出能力を維持しながら、飛行時間を最大化するために、エンジニアは低FLOPに最適化します。

PythonFLOPを計算する

組み込みのプロファイリングツールを使用して、Ultralytics モデルの計算複雑度を判断できます。次の 次のスニペットは、モデルをロードし、特定の入力サイズに必要なFLOPを計算します。

from ultralytics import YOLO

# Load the YOLO11 nano model
model = YOLO("yolo11n.pt")

# Profile the model to see FLOPs, parameters, and speed
# The 'imgsz' argument defines the input resolution (e.g., 640x640)
model.profile(imgsz=640)

このメソッドは、パラメータ数、勾配、GFLOPs(ギガFLOPs、数十億回の演算)を含む要約表を出力します。 億回の演算)を含むサマリーテーブルを出力します。 展開制約に適合するかどうかを評価するのに役立ちます。

FLOPsと関連指標

FLOPsは、モデル・サイズや速度を表す他のメトリクスと区別することが重要である。 と区別することが重要です。

  • パラメータとFLOPの比較:モデルの重み モデルの重み(パラメータ)は、モデルを格納するために必要なメモリ(RAM)の量を定義する。 モデルの重み、つまりパラメータは、モデルを保存するのに必要なメモリ(RAM)の量を定義する。一方、FLOPsはモデルの実行に必要な計算量を測定します。A モデルは、RNN(リカレント・ニューラル・ネットワーク)に見られるように、パラメータを頻繁に再利用する場合、記憶容量は小さくても計算量が多くなる可能性がある。 リカレント・ニューラル・ネットワーク(RNN)
  • MACsとFLOPsの比較:ハードウェアの仕様ではしばしば次のように表記される。 乗算-加算演算(MAC)。1 つの MAC は通常、乗算と加算を伴い、2 つの浮動小数点演算としてカウントされます。 したがって、1ギガMACは2GFLOPにほぼ相当します。
  • レイテンシとFLOPsの比較:FLOPsが理論的な努力を表しているのに対し、推論レイテンシは実際の時間(単位)である、 推論レイテンシは入力を処理するのにかかる実際の時間(ミリ秒単位 ミリ秒)である。レイテンシはFLOPsに影響されるが、メモリ帯域幅や、以下のようなソフトウェア最適化ライブラリにも影響される。 最適化ライブラリ TensorRTやハードウェア アーキテクチャにも影響されます。

尺度の限界

FLOPは有用なベースラインを提供するが、モデル性能のすべてを語るものではない。FLOPは メモリ・アクセス・コスト(データをプロセッサに移動するためのエネルギーと時間)は考慮されていない。 考慮していない。さらに 活性化関数(ReLUなど)や正規化層のような演算は、FLOPが低い。 や正規化レイヤーのような演算はFLOP数が少ないが、それでも時間を消費する。そのため、FLOPsは以下のように併用されるべきである。 のようなターゲットハードウェアでの実世界ベンチマークと組み合わせて使用する必要があります。 性能の正確な把握には 性能を正確に把握する必要があります。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加