用語集

フロップス

機械学習におけるFLOPを理解する!FLOPがどのようにモデルの複雑さを測定し、効率に影響を与え、ハードウェアの選択に役立つかを学ぶ。

FLOPs(浮動小数点演算)は、機械学習(ML)でモデルの計算複雑性を測定するために使用される基本的な指標です。浮動小数点演算とは、足し算、引き算、掛け算、割り算のような、小数点以下の数値を含む数学的計算のことで、ニューラルネットワークでは標準的なものです。この用語は技術的には1秒あたりの演算を指すこともありますが、ディープラーニングの文脈では、FLOPsは通常、モデルの1回のフォワードパスに必要なこれらの演算の総数を定量化します。この指標は、推論中にモデルがどの程度計算集約的になるかを推定する、ハードウェアにとらわれない方法を提供する。この数値は、数十億回の演算であるギガFLOPs(GFLOPs)、または数兆回の演算であるテラFLOPs(TFLOPs)で表されるほど、非常に大きいことが多い。

なぜ機械学習でFLOPが重要なのか?

FLOPはモデルの効率を示す重要な指標である。一般的にFLOP数が少ないほど、モデルの実行速度が速く、計算パワーが少なくて済むことを示します。これは、エッジAIやモバイル機器など、リソースが限られているアプリケーションでは特に重要です。FLOPを分析することで、開発者は以下のことが可能になります:

  • モデルアーキテクチャの比較 モデル比較のページにあるような異なるモデルを選択する場合、FLOPは精度とともに計算効率を評価する標準的な方法を提供します。
  • 展開のための最適化Raspberry Piや NVIDIA Jetsonのようなハードウェアにモデルを展開する場合、適切なFLOP数を持つモデルを選択することが、望ましい性能レベルを達成するために不可欠です。
  • モデル設計の指針 Ultralytics YOLOシリーズのような新しいアーキテクチャを開発する研究者は、多くの場合、FLOPを最小化することを重要な設計制約として扱います。EfficientNetのようなモデルで検討されている技術は、性能を犠牲にすることなく計算コストを削減することに重点を置いています。

実世界での応用

FLOPsは、AIソリューションの開発と展開において日常的に使用される実用的な指標である。

  1. モバイルビジョンアプリケーション:スマートフォンアプリのリアルタイム物体検出機能を作成する開発者は、バッテリーを消耗することなく高速に実行できるモデルを選択する必要があります。小型のUltralytics YOLO11バリアントのような軽量モデルのFLOPを他と比較することで、デバイスのCPUや GPUに対して速度と精度のバランスが良いモデルを選択することができます。

  2. 自律走行車 自律走行では、知覚モデルは極めて低いレイテンシでカメラフィードを処理する必要があります。このようなシステムを設計するエンジニアは、様々なモデルのFLOPを分析し、選択されたアーキテクチャが車両の特殊なハードウェア上で実行できることを確認します。YOLO11のようなモデルは、その低いFLOPsによって安全運転のための厳しいタイミング要件を満たすことができれば、より複雑なモデルよりも選択されるかもしれません。

FLOPsと関連指標

FLOPを他の一般的な指標と区別することは重要である:

  • パラメータとFLOPの比較モデルの重み(パラメータ)の数は、メモリストレージの観点からモデルのサイズを示す。一方、FLOPsは計算量を表します。パラメータ数が少なくても、そのパラメータが計算集約的な操作で何度も再利用される場合は、FLOP数が多いモデルになります。
  • MACとFLOPの比較MAC(乗算-累算演算)はニューラルネットワークでよく使われる演算である。1つのMACは、しばしば2つのFLOP(1つの乗算と1つの加算)と等価とみなされる。研究論文やフレームワークによっては、計算コストをMACsで報告することがあるが、これはFLOPsの値のおよそ半分である。この違いは、Papers with Codeのようなリソースで見ることができる。
  • レイテンシとFLOPsの比較推論レイテンシとは、モデルが予測を行うのにかかる実際のウォールクロック時間のことです。FLOPsは理論的には良い推定値を提供しますが、現実世界のレイテンシは、メモリ帯域幅、ハードウェアの並列性、PyTorchのようなソフトウェアライブラリの効率など、FLOPsでは把握できない要因の影響を受けます。

制限事項

便利ではあるが、FLOPには限界がある:

  • ボトルネックとなりうるメモリ・アクセス・コストを考慮していないのだ。
  • オペレーションで可能な並列性の程度を把握していないのだ。
  • 実際の性能は、ハードウェア固有の最適化と、基盤となるソフトウェア・ライブラリ(cuDNNインテルMKL)の効率に大きく依存する。
  • ある種の演算(例えばReLUのような活性化関数)はFLOP数が少ないが、それでもレイテンシに影響を与える可能性がある。

したがって、FLOPsは、モデル効率の全体像を把握するために、他の性能指標、パラメータ、および実世界のベンチマークと一緒に考慮する必要があります。Ultralytics HUBのようなツールは、モデルを管理し、開発および展開中のさまざまなパフォーマンス側面を追跡するのに役立ちます。

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

AIの未来に参加しませんか。世界のイノベーターとつながり、協力し、成長する

今すぐ参加する
クリップボードにコピーされたリンク