Glossar

FLOPs

Verstehen Sie FLOPs beim maschinellen Lernen! Erfahren Sie, wie sie die Modellkomplexität misst, sich auf die Effizienz auswirkt und bei der Hardwareauswahl hilft.

FLOPs oder Fließkommaoperationen sind eine grundlegende Metrik, die beim maschinellen Lernen (ML) verwendet wird, um die Berechnungskomplexität eines Modells zu messen. Eine Fließkomma-Operation ist eine mathematische Berechnung wie Addition, Subtraktion, Multiplikation oder Division, bei der Zahlen mit Dezimalpunkten verwendet werden, die in neuronalen Netzen Standard sind. Während sich der Begriff technisch gesehen auf Operationen pro Sekunde beziehen kann, quantifizieren FLOPs im Kontext des Deep Learning in der Regel die Gesamtzahl dieser Operationen, die für einen einzigen Vorwärtsdurchlauf eines Modells erforderlich sind. Diese Metrik bietet eine hardwareunabhängige Möglichkeit, abzuschätzen, wie rechenintensiv ein Modell während der Inferenz ist. Die Zahlen sind oft so groß, dass sie in GigaFLOPs (GFLOPs), also Milliarden von Operationen, oder TeraFLOPs (TFLOPs), also Billionen von Operationen, angegeben werden.

Warum sind FLOPs beim maschinellen Lernen wichtig?

FLOPs sind ein wichtiger Indikator für die Effizienz eines Modells. Eine niedrigere FLOP-Zahl deutet im Allgemeinen darauf hin, dass ein Modell schneller ist und weniger Rechenleistung für die Ausführung benötigt. Dies ist besonders wichtig für Anwendungen, bei denen die Ressourcen begrenzt sind, wie z. B. bei Edge AI und auf mobilen Geräten. Durch die Analyse von FLOPs können Entwickler:

  • Modellarchitekturen vergleichen: Bei der Auswahl zwischen verschiedenen Modellen, wie sie auf unseren Modellvergleichsseiten zu finden sind, bieten die FLOPs eine standardisierte Möglichkeit, neben der Genauigkeit auch die Berechnungseffizienz zu bewerten.
  • Optimieren Sie für den Einsatz: Für den Einsatz von Modellen auf Hardware wie einem Raspberry Pi oder NVIDIA Jetson ist die Auswahl eines Modells mit einer angemessenen FLOP-Zahl entscheidend für das Erreichen der gewünschten Leistung.
  • Leitfaden für das Modelldesign: Forscher, die neue Architekturen wie die der Ultralytics YOLO-Serie entwickeln, betrachten die Minimierung der FLOPs oft als eine der wichtigsten Entwurfsvoraussetzungen. Die in Modellen wie EfficientNet untersuchten Techniken konzentrieren sich auf die Reduzierung der Rechenkosten ohne Leistungseinbußen.

Anwendungen in der realen Welt

FLOPs sind eine praktische Kennzahl, die täglich bei der Entwicklung und dem Einsatz von KI-Lösungen verwendet wird.

  1. Mobile Vision-Anwendungen: Ein Entwickler, der eine Echtzeit-Objekterkennungsfunktion für eine Smartphone-App entwickelt, muss ein Modell wählen, das schnell läuft, ohne den Akku zu belasten. Durch den Vergleich der FLOPs von leichtgewichtigen Modellen wie einer kleinen Ultralytics YOLO11-Variante mit anderen können sie ein Modell auswählen, das ein gutes Gleichgewicht zwischen Geschwindigkeit und Genauigkeit für die CPU oder GPU des Geräts bietet.

  2. Autonome Fahrzeuge: Beim autonomen Fahren müssen Wahrnehmungsmodelle Kamerabilder mit extrem niedriger Latenzzeit verarbeiten. Ingenieure, die diese Systeme entwickeln, analysieren die FLOPs verschiedener Modelle, um sicherzustellen, dass die gewählte Architektur auf der speziellen Hardware des Fahrzeugs ausgeführt werden kann. Ein Modell wie YOLO11 könnte einem komplexeren Modell vorgezogen werden, wenn es aufgrund seiner geringeren FLOPs die strengen Zeitanforderungen für einen sicheren Betrieb erfüllen kann.

FLOPs vs. verwandte Metriken

Es ist wichtig, FLOPs von anderen gebräuchlichen Metriken zu unterscheiden:

  • Parameter vs. FLOPs: Die Anzahl der Modellgewichte (Parameter) gibt die Größe eines Modells in Bezug auf den Speicherplatz an. FLOPs hingegen messen die Rechenarbeit. Ein Modell kann eine geringe Anzahl von Parametern, aber eine hohe FLOP-Zahl haben, wenn diese Parameter bei rechenintensiven Operationen häufig wiederverwendet werden.
  • MACs vs. FLOPs: MACs, oder Multiplikations-Akkumulations-Operationen, sind eine häufige Operation in neuronalen Netzen. Ein einzelner MAC wird oft als Äquivalent zu zwei FLOPs (eine Multiplikation und eine Addition) betrachtet. In einigen Forschungsarbeiten und Frameworks werden die Rechenkosten in MACs angegeben, was etwa der Hälfte des FLOPs-Wertes entspricht. Sie können diese Unterscheidung in Ressourcen wie Papers with Code sehen.
  • Latenz vs. FLOPs: Die Inferenzlatenz ist die tatsächliche Wanduhrzeit, die ein Modell für eine Vorhersage benötigt. Während FLOPs eine gute theoretische Schätzung liefern, wird die reale Latenz von Faktoren beeinflusst, die FLOPs nicht erfassen, wie z. B. Speicherbandbreite, Hardware-Parallelität und die Effizienz von Software-Bibliotheken wie PyTorch.

Beschränkungen

FLOPs sind zwar nützlich, haben aber ihre Grenzen:

  • Sie berücksichtigen nicht die Kosten für den Speicherzugriff, der einen erheblichen Engpass darstellen kann.
  • Sie erfassen nicht den Grad der Parallelität, der bei Operationen möglich ist.
  • Die tatsächliche Leistung hängt stark von hardwarespezifischen Optimierungen und der Effizienz der zugrunde liegenden Softwarebibliotheken(cuDNN, Intel MKL) ab.
  • Bestimmte Operationen (z. B. Aktivierungsfunktionen wie ReLU) haben eine geringe FLOP-Zahl, können sich aber dennoch auf die Latenzzeit auswirken.

Daher sollten FLOPs zusammen mit anderen Leistungsmetriken, Parametern und realen Benchmarks betrachtet werden, um ein vollständiges Bild der Modelleffizienz zu erhalten. Tools wie Ultralytics HUB können dabei helfen, Modelle zu verwalten und verschiedene Leistungsaspekte während der Entwicklung und Bereitstellung zu verfolgen.

Werden Sie Mitglied der Ultralytics-Gemeinschaft

Beteiligen Sie sich an der Zukunft der KI. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert