FLOPs
Aprende cómo los FLOPs miden la complejidad computacional de los modelos de IA. Descubre cómo calcular los FLOPs de Ultralytics YOLO26 y optimizar el rendimiento para la IA perimetral.
FLOPs, u operaciones de coma flotante, es una métrica estándar utilizada para medir la complejidad computacional de un modelo de aprendizaje automático. Cuenta específicamente el número de cálculos matemáticos —principalmente sumas y multiplicaciones con números decimales— que una red neuronal debe realizar para procesar una única entrada, como una imagen o una frase. En el ámbito del aprendizaje profundo, FLOPs sirve como referencia teórica para estimar hasta qué punto un modelo es «pesado» o costoso desde el punto de vista computacional. Un recuento de FLOPs más alto suele indicar que un modelo es más complejo y que necesitará más potencia de procesamiento y energía para ejecutarse, mientras que un recuento más bajo indica una arquitectura ligera diseñada para ofrecer eficiencia.
El papel de FLOPs en la selección de modelos#
Al desarrollar aplicaciones de inteligencia artificial, los ingenieros suelen enfrentarse a un equilibrio entre precisión y velocidad. FLOPs actúa como indicador indirecto independiente del hardware de la latencia de inferencia, lo que permite a los desarrolladores comparar distintas arquitecturas sin tener que probarlas en todos los dispositivos posibles. Esta métrica es esencial para elegir el modelo adecuado para escenarios de implementación concretos. Por ejemplo, un investigador que realice experimentos en potentes servidores de computación en la nube podría priorizar la precisión frente a la eficiencia y utilizar modelos con un número elevado de FLOPs. En cambio, un ingeniero que desarrolle para dispositivos de IA en el edge debe priorizar un número bajo de FLOPs para garantizar que la aplicación funcione correctamente dentro de unos límites estrictos de consumo energético y temperatura.
Aplicaciones en el mundo real#
Las implicaciones prácticas de FLOPs son evidentes en diversos sectores en los que los recursos computacionales son un factor crítico.
- Drones autónomos: En campos como la robótica agrícola, los drones equipados con cámaras analizan el estado de los cultivos en tiempo real. Como las baterías de los drones tienen una capacidad limitada, cada pequeño consumo de energía cuenta. Los ingenieros seleccionan específicamente modelos con un número bajo de FLOPs, como las variantes Nano de YOLO26, para minimizar la carga del procesador integrado y maximizar así el tiempo de vuelo y el alcance operativo.
- Realidad aumentada móvil: Las aplicaciones para smartphones que utilizan el reconocimiento facial por motivos de seguridad o aplican filtros de RA dependen en gran medida de un procesamiento eficiente. Estas aplicaciones deben funcionar sin provocar que el dispositivo se sobrecaliente o funcione con retraso. Los desarrolladores utilizan estimaciones de FLOPs para seleccionar modelos ligeros que se ajusten cómodamente a las capacidades de los chipsets móviles, como los de la serie Snapdragon o los chips de la serie A de Apple.
FLOPs frente a FLOPS (operaciones de coma flotante por segundo)#
Es importante distinguir entre «FLOPs» (plural de FLOP) y «FLOPS» (en mayúsculas). Aunque su aspecto es prácticamente idéntico, miden cosas distintas. FLOPs (con la «s» en minúscula) hace referencia a la cantidad total de operaciones que requiere un modelo: es una medida estática de la complejidad. FLOPS (con la «S» en mayúscula) significa operaciones de coma flotante por segundo y mide la velocidad o capacidad de rendimiento del hardware, como una GPU. Puedes pensar en FLOPs como la distancia que debe recorrer un coche (el trabajo que hay que realizar), mientras que FLOPS sería la velocidad máxima del coche (la capacidad del hardware para realizar ese trabajo).
Medición de FLOPs con Python#
Puedes calcular fácilmente el coste computacional de un modelo de Ultralytics utilizando Python. Esto resulta especialmente útil durante la fase de optimización del modelo para asegurarte de que tu red neuronal se ajusta al presupuesto de hardware disponible. El siguiente ejemplo muestra cómo cargar un modelo YOLO26 y determinar sus FLOPs.
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")Reducción de FLOPs para mejorar la eficiencia#
Para facilitar la implementación de los modelos, los investigadores utilizan varias técnicas que reducen FLOPs sin sacrificar significativamente la precisión. La poda de modelos consiste en eliminar las conexiones menos importantes de la red neuronal, lo que la hace más ligera. Otra técnica es la cuantización, que reduce la precisión de los números utilizados en los cálculos (por ejemplo, de números de coma flotante de 32 bits a enteros de 8 bits). Las herramientas disponibles en Ultralytics Platform ayudan a agilizar estos procesos de optimización y facilitan la implementación de modelos eficientes en destinos como TensorRT u OpenVINO. Al comprender y optimizar FLOPs, los desarrolladores pueden crear sistemas de IA potentes y sostenibles.









