Schalten Sie ein zu YOLO Vision 2025!
25. September 2025
10:00 — 18:00 Uhr BST
Hybride Veranstaltung
Yolo Vision 2024
Glossar

FLOPs

FLOPs im Machine Learning verstehen! Erfahren Sie, wie sie die Modellkomplexität messen, die Effizienz beeinflussen und die Hardwareauswahl unterstützen.

FLOPs, oder Floating-Point Operations, sind eine grundlegende Metrik, die im maschinellen Lernen (ML) verwendet wird, um die Rechenkomplexität eines Modells zu messen. Eine Gleitkommaoperation ist jede mathematische Berechnung – wie Addition, Subtraktion, Multiplikation oder Division – mit Zahlen mit Dezimalstellen, die in neuronalen Netzen Standard sind. Während sich der Begriff technisch auf Operationen pro Sekunde beziehen kann, quantifizieren FLOPs im Kontext des Deep Learning typischerweise die Gesamtzahl dieser Operationen, die für einen einzelnen Forward Pass eines Modells erforderlich sind. Diese Metrik bietet eine hardwareunabhängige Möglichkeit, abzuschätzen, wie rechenintensiv ein Modell während der Inferenz sein wird. Die Zahlen sind oft so groß, dass sie in GigaFLOPs (GFLOPs), also Milliarden von Operationen, oder TeraFLOPs (TFLOPs), Billionen von Operationen, ausgedrückt werden.

Warum sind FLOPs im Machine Learning wichtig?

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

  • Vergleich von Modellarchitekturen: Bei der Wahl zwischen verschiedenen Modellen, wie sie auf unseren Modellvergleichsseiten zu finden sind, bieten FLOPs eine standardisierte Möglichkeit, die Berechnungseffizienz neben der Genauigkeit zu bewerten.
  • Für die Bereitstellung optimieren: Für die Modellbereitstellung auf Hardware wie einem Raspberry Pi oder NVIDIA Jetson ist die Auswahl eines Modells mit einer geeigneten FLOP-Anzahl entscheidend, um die gewünschten Leistungsniveaus zu erreichen.
  • Leitfaden für das Modelldesign: Forscher, die neue Architekturen entwickeln, wie z. B. die der Ultralytics YOLO-Serie, betrachten die Minimierung von FLOPs oft als eine wichtige Designbeschränkung. Techniken, die in Modellen wie EfficientNet untersucht werden, konzentrieren sich auf die Reduzierung der Rechenkosten, ohne die Leistung zu beeinträchtigen.

Anwendungsfälle in der Praxis

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

  1. Mobile Vision-Anwendungen: Ein Entwickler, der eine Objekterkennungsfunktion in Echtzeit für eine Smartphone-App erstellt, muss ein Modell auswählen, das schnell ausgeführt werden kann, ohne den Akku zu entladen. Durch den Vergleich der FLOPs von Lightweight-Modellen wie einer kleinen Ultralytics YOLO11-Variante mit anderen kann er 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 Kamera-Feeds mit extrem niedriger Latenz verarbeiten. Ingenieure, die diese Systeme entwerfen, 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 vorgezogen werden, wenn seine niedrigeren FLOPs es ihm ermöglichen, die strengen Timing-Anforderungen für einen sicheren Betrieb zu erfüllen.

FLOPs vs. verwandte Metriken

Es ist wichtig, FLOPs von anderen gängigen Metriken zu unterscheiden:

  • Parameter vs. FLOPs: Die Anzahl der Modellgewichte (Parameter) gibt die Größe eines Modells in Bezug auf die Speicherkapazität an. FLOPs hingegen messen die Rechenarbeit. Ein Modell kann eine kleine Anzahl von Parametern, aber eine hohe FLOP-Anzahl haben, wenn diese Parameter viele Male in rechenintensiven Operationen wiederverwendet werden.
  • MACs vs. FLOPs: MACs oder Multiply-Accumulate-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. Einige Forschungsarbeiten und Frameworks geben die Rechenkosten in MACs an, was ungefähr der Hälfte des FLOPs-Wertes entspricht. Sie können diesen Unterschied in Ressourcen wie Papers with Code sehen.
  • Latenz vs. FLOPs: Inferenzlatenz ist die tatsächliche Zeit, die ein Modell benötigt, um eine Vorhersage zu treffen. 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 Softwarebibliotheken wie PyTorch.

Einschränkungen

Obwohl FLOPs nützlich sind, haben sie Einschränkungen:

  • Sie berücksichtigen nicht die Kosten für den Speicherzugriff, die einen erheblichen Engpass darstellen können.
  • 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 niedrige FLOP-Zahlen, können aber dennoch die Latenz beeinflussen.

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 helfen, Modelle zu verwalten und verschiedene Leistungsaspekte während der Entwicklung und des Deployments zu verfolgen.

Treten Sie der Ultralytics-Community bei

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten
Link in die Zwischenablage kopiert