FLOPs
Erfahre, wie FLOPs die Rechenkomplexität von KI-Modellen messen. Entdecke, wie du FLOPs für Ultralytics YOLO26 berechnest und die Leistung für Edge AI optimierst.
FLOPs oder Gleitkommaoperationen sind eine Standardkennzahl zur Messung der Rechenkomplexität eines maschinellen Lernmodells. Dabei wird speziell die Anzahl der mathematischen Berechnungen gezählt – hauptsächlich Additionen und Multiplikationen mit Dezimalzahlen –, die ein neuronales Netzwerk zur Verarbeitung einer einzelnen Eingabe wie eines Bildes oder eines Satzes durchführen muss. Im Bereich des Deep Learning dienen FLOPs als theoretischer Richtwert dafür, wie „schwer“ oder rechenintensiv ein Modell ist. Eine höhere FLOPs-Anzahl deutet im Allgemeinen darauf hin, dass ein Modell komplexer ist und für seine Ausführung mehr Rechenleistung und Energie benötigt, während eine niedrigere Anzahl auf eine leichtgewichtige, auf Effizienz ausgelegte Architektur hinweist.
Die Rolle von FLOPs bei der Modellauswahl#
Bei der Entwicklung von Anwendungen für künstliche Intelligenz stehen Ingenieurinnen und Ingenieure häufig vor einem Zielkonflikt zwischen Genauigkeit und Geschwindigkeit. FLOPs dienen als hardwareunabhängiger Näherungswert für die Inferenzlatenz und ermöglichen es Entwicklerinnen und Entwicklern, verschiedene Architekturen zu vergleichen, ohne sie auf jedem möglichen Gerät benchmarken zu müssen. Diese Kennzahl ist entscheidend für die Auswahl des richtigen Modells für bestimmte Einsatzszenarien. Eine Forscherin oder ein Forscher, die oder der Experimente auf leistungsstarken Cloud-Computing-Servern durchführt, legt beispielsweise möglicherweise mehr Wert auf Genauigkeit als auf Effizienz und verwendet Modelle mit hohen FLOPs. Eine Ingenieurin oder ein Ingenieur, die oder der für Edge-KI-Geräte entwickelt, muss dagegen niedrige FLOPs priorisieren, damit die Anwendung innerhalb der strengen Grenzen für Energieverbrauch und Wärmeentwicklung reibungslos läuft.
Anwendungen in der Praxis#
Die praktischen Auswirkungen von FLOPs zeigen sich in verschiedenen Branchen, in denen Rechenressourcen ein entscheidender Faktor sind.
- Autonome Drohnen: In Bereichen wie der Landwirtschaftsrobotik analysieren mit Kameras ausgestattete Drohnen den Zustand von Nutzpflanzen in Echtzeit. Da Drohnen nur über begrenzte Akkukapazitäten verfügen, zählt jeder noch so geringe Energieverbrauch. Ingenieurinnen und Ingenieure wählen gezielt Modelle mit niedrigen FLOPs aus, etwa die Nano-Varianten von YOLO26, um die Belastung des integrierten Prozessors zu minimieren und dadurch Flugzeit und Einsatzreichweite zu maximieren.
- Mobile erweiterte Realität: Smartphone-Anwendungen, die zur Sicherheit Gesichtserkennung einsetzen oder AR-Filter anwenden, sind in hohem Maße auf effiziente Verarbeitung angewiesen. Diese Apps müssen funktionieren, ohne dass das Gerät überhitzt oder verzögert reagiert. Entwicklerinnen und Entwickler verwenden FLOPs-Schätzungen, um leichtgewichtige Modelle auszuwählen, die problemlos innerhalb der Leistungsfähigkeit mobiler Chipsätze wie der Snapdragon-Serie oder der Chips der A-Serie von Apple liegen.
FLOPs im Vergleich zu FLOPS (Gleitkommaoperationen pro Sekunde)#
Es ist wichtig, zwischen „FLOPs“ (Plural von FLOP) und „FLOPS“ (Großschreibung) zu unterscheiden. Obwohl sie nahezu identisch aussehen, messen sie unterschiedliche Dinge. FLOPs (kleines „s“) bezeichnet die gesamte Anzahl der von einem Modell benötigten Operationen – es handelt sich um ein statisches Maß für die Komplexität. FLOPS (großes „S“) steht für Gleitkommaoperationen pro Sekunde und misst die Geschwindigkeit oder Leistungsfähigkeit einer Hardware wie einer GPU. Du kannst dir FLOPs als die Strecke vorstellen, die ein Auto zurücklegen muss (die zu erledigende Arbeit), während FLOPS der Höchstgeschwindigkeit des Autos entspricht (der Fähigkeit der Hardware, diese Arbeit zu erledigen).
FLOPs mit Python messen#
Du kannst die Rechenkosten eines Ultralytics-Modells problemlos mit Python berechnen. Das ist besonders während der Phase der Modelloptimierung nützlich, um sicherzustellen, dass dein neuronales Netzwerk in dein Hardwarebudget passt. Das folgende Beispiel zeigt, wie du ein YOLO26-Modell lädst und seine FLOPs bestimmst.
from ultralytics import YOLO
from ultralytics.utils.torch_utils import get_flops
# Load a lightweight YOLO26 model
model = YOLO("yolo26n.pt")
# Calculate and print the model's FLOPs (Billions of operations)
# This gives you a hardware-independent complexity metric
flops = get_flops(model)
print(f"Model FLOPs: {flops:.2f} Billion")FLOPs für mehr Effizienz reduzieren#
Damit Modelle besser bereitgestellt werden können, verwenden Forschende verschiedene Verfahren, um FLOPs zu reduzieren, ohne die Genauigkeit wesentlich zu beeinträchtigen. Beim Pruning von Modellen werden weniger wichtige Verbindungen im neuronalen Netzwerk entfernt, wodurch es effektiv ausgedünnt wird. Eine weitere Technik ist die Quantisierung, bei der die Genauigkeit der für Berechnungen verwendeten Zahlen verringert wird (z. B. von 32-Bit-Gleitkommazahlen auf 8-Bit-Ganzzahlen). Die auf der Ultralytics Platform verfügbaren Tools helfen dabei, diese Optimierungsprozesse zu optimieren, und erleichtern die Bereitstellung effizienter Modelle auf Zielplattformen wie TensorRT oder OpenVINO. Durch das Verständnis und die Optimierung von FLOPs können Entwicklerinnen und Entwickler leistungsstarke und zugleich nachhaltige KI-Systeme entwickeln.









