Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

FLOPs

Erfahren Sie, wie FLOPs die Rechenkomplexität von KI-Modellen messen. Entdecken Sie, wie Sie FLOPs für Ultralytics berechnen und die Leistung für Edge-KI optimieren können.

FLOPs (Floating Point Operations) sind eine Standardmetrik zur Messung der Rechenkomplexität eines Modells für maschinelles Lernen. Dabei wird konkret die Anzahl der mathematischen Berechnungen gezählt – in erster Linie Additionen und Multiplikationen mit Dezimalzahlen –, die ein neuronales Netzwerk durchführen muss, um eine einzelne Eingabe wie ein Bild oder einen Satz zu verarbeiten. In der Welt des Deep Learning dienen FLOPs als theoretischer Maßstab, um abzuschätzen, wie „schwer” oder rechenintensiv ein Modell ist. Eine höhere FLOPs-Zahl deutet im Allgemeinen darauf hin , dass ein Modell komplexer ist und mehr Rechenleistung und Energie für die Ausführung benötigt, während eine niedrigere Zahl auf eine leichtgewichtige Architektur hinweist, die auf Effizienz ausgelegt ist.

Die Rolle von FLOPs bei der Modellauswahl

Bei der Entwicklung von Anwendungen für künstliche Intelligenz stehen Ingenieure oft vor einem Kompromiss zwischen Genauigkeit und Geschwindigkeit. FLOPs fungieren als hardwareunabhängiger Proxy für die Inferenzlatenz und ermöglichen es Entwicklern, verschiedene Architekturen zu vergleichen, ohne sie auf jedem möglichen Gerät benchmarken zu müssen. Diese Metrik ist für die Auswahl des richtigen Modells für bestimmte Einsatzszenarien von entscheidender Bedeutung. Beispielsweise könnte ein Forscher, der Experimente auf leistungsstarken Cloud-Computing-Servern durchführt, Genauigkeit vor Effizienz priorisieren und Modelle mit hohen FLOPs verwenden. Umgekehrt muss ein Ingenieur, der für Edge-KI-Geräte entwickelt, niedrige FLOPs priorisieren, um sicherzustellen, dass die Anwendung innerhalb strenger Leistungs- und Temperaturgrenzen reibungslos läuft.

Anwendungsfälle 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 die Batterien von Drohnen nur über eine begrenzte Kapazität verfügen, ist jeder Stromverbrauch von Bedeutung. Ingenieure wählen speziell Modelle mit niedrigen FLOPs aus, wie beispielsweise die Nano-Varianten von YOLO26, um die Belastung des integrierten Prozessors zu minimieren und damit die Flugzeit und den Einsatzbereich zu maximieren.
  • Mobile Augmented Reality: Smartphone-Anwendungen, die Gesichtserkennung für Sicherheitszwecke nutzen oder AR-Filter anwenden , sind in hohem Maße auf eine effiziente Verarbeitung angewiesen. Diese Apps müssen funktionieren, ohne dass das Gerät überhitzt oder verzögert. Entwickler verwenden FLOPs-Schätzungen, um leichtgewichtige Modelle auszuwählen, die problemlos in die Leistungsfähigkeit von mobilen Chipsätzen wie der Snapdragon-Serie oder den Chips der A-Serie von Apple passen .

FLOPs vs. FLOPS (Floating Point Operations Per Second)

Es ist wichtig, zwischen „FLOPs” (Plural von FLOP) und „FLOPS” (Großbuchstaben) zu unterscheiden. Obwohl sie fast identisch aussehen, messen sie unterschiedliche Dinge. FLOPs (kleines „s”) bezieht sich auf die Gesamtzahl der von einem Modell benötigten Operationen – es ist ein statisches Maß für die Komplexität. FLOPS (Großbuchstabe „S”) steht für „Floating Point Operations Per Second” (Gleitkommaoperationen pro Sekunde ) und misst die Geschwindigkeit oder Leistungsfähigkeit von Hardware, wie z. B. einer GPU. Man kann sich FLOPs als die Strecke vorstellen, die ein Auto zurücklegen muss (die zu erledigende Arbeit), während FLOPS die Höchstgeschwindigkeit des Autos ist (die Fähigkeit der Hardware , die Arbeit zu erledigen).

FLOPs mit Python messen

Mit Python können Sie ganz einfach die Rechenkosten eines Ultralytics berechnen. Dies ist besonders nützlich während der Modelloptimierungsphase, um sicherzustellen, dass Ihr neuronales Netzwerk in Ihr Hardware-Budget passt. Das folgende Beispiel zeigt, wie Sie ein YOLO26-Modell laden und dessen FLOPs bestimmen können.

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")

Reduzierung der FLOPs für mehr Effizienz

Um Modelle besser einsetzbar zu machen, verwenden Forscher verschiedene Techniken, um die FLOPs zu reduzieren, ohne dabei die Genauigkeit wesentlich zu beeinträchtigen . Beim Model Pruning werden weniger wichtige Verbindungen im neuronalen Netzwerk entfernt, wodurch dieses effektiv ausgedünnt wird . Eine weitere Technik ist die Quantisierung, die die Genauigkeit der in Berechnungen verwendeten Zahlen reduziert (z. B. von 32-Bit-Gleitkommazahlen auf 8-Bit-Ganzzahlen). Die auf der Ultralytics verfügbaren Tools helfen dabei, diese Optimierungsprozesse zu rationalisieren, wodurch es einfacher wird, effiziente Modelle für Ziele wie TensorRT oder OpenVINO. Durch das Verständnis und die Optimierung von FLOPs können Entwickler KI-Systeme erstellen, die sowohl leistungsstark als auch nachhaltig sind.

Werden Sie Mitglied der Ultralytics

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

Jetzt beitreten