Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

FLOPs

¡Comprenda los FLOPs en el aprendizaje automático! Aprenda cómo miden la complejidad del modelo, impactan la eficiencia y ayudan en la selección del hardware.

Las operaciones en coma flotante (FLOP) son una medida fundamental para cuantificar la complejidad computacional de los modelos de aprendizaje automático. computacional de los modelos de aprendizaje el ámbito del aprendizaje profundo. Esta medida calcula el número total de operaciones matemáticas, como sumas, restas, multiplicaciones y divisiones, como la suma, la resta, la multiplicación y la división de números decimales- necesarias para completar una sola pasada de una red neuronal. red neuronal. Al determinar el recuento de FLOPs los ingenieros pueden estimar la potencia de procesamiento necesaria para ejecutar un modelo, lo que la convierte en una estadística vital para la selección y optimización del hardware. para la selección y optimización del hardware. Aunque son distintos del tamaño del archivo o del recuento de parámetros, los FLOP proporcionan una base teórica para determinar lo "pesado" que es un modelo. lo "pesado" que es un modelo, lo que está directamente relacionado con el consumo de energía y la velocidad de ejecución en procesadores como una CPU o GPU.

La importancia de los FLOP en el desarrollo de la IA

Comprender el coste computacional de un modelo es esencial para un desarrollo de la IA. Un recuento de FLOPs generalmente indica que un modelo requiere menos cálculos para producir una predicción, lo que es crítico para entornos con recursos limitados. entornos con recursos limitados.

  • Selección de hardware: Conocer los FLOPs permite a los desarrolladores ajustar los modelos a las capacidades de hardware específico, como la serie NVIDIA Jetson o los microcontroladores integrados estándar.
  • Eficiencia del modelo: Al comparar arquitecturas, como la comprobación de las métricas de rendimientoYOLO11 , los FLOP ofrecen una forma independiente del hardware de medir la eficiencia junto con la precisión.
  • Consumo de energía: En los dispositivos alimentados por batería, la reducción de FLOPs se traduce directamente en una mayor duración de la batería, ya que el procesador realiza menos trabajo por fotograma. duración de la batería, ya que el procesador realiza menos trabajo por fotograma.

Aplicaciones en el mundo real

El impacto práctico de los FLOP es más visible cuando los modelos pasan de la investigación a entornos de producción en los que la latencia latencia y la potencia.

  1. Detección de objetos en teléfonos inteligentes: Para que una aplicación móvil realice inferencia en tiempo real, el dispositivo debe procesar fotogramas de vídeo al instante sin sobrecalentarse ni agotar la batería. Los desarrolladores podrían elegir un modelo ligero como la versión Nano de YOLO11 porque su bajo número de FLOPs garantiza un rendimiento fluido en procesadores móviles como el Qualcomm Snapdragon o Apple Silicon.
  2. Navegación autónoma de drones: Los drones utilizados en agricultura de precisión se basan en a bordo para detect obstáculos y cartografiar el terreno. Dado que estos dispositivos tienen estrictos límites de peso que restringen el tamaño de la batería, los ingenieros batería, los ingenieros optimizan los FLOP bajos para maximizar el tiempo de vuelo y mantener la necesarias para la detección de objetos.

Cálculo de FLOPs con Python

Puede determinar la complejidad computacional de un modelo de Ultralytics utilizando las herramientas de creación de perfiles integradas. El siguiente fragmento de siguiente fragmento carga un modelo y calcula los FLOP necesarios para un tamaño de entrada específico.

from ultralytics import YOLO

# Load the YOLO11 nano model
model = YOLO("yolo11n.pt")

# Profile the model to see FLOPs, parameters, and speed
# The 'imgsz' argument defines the input resolution (e.g., 640x640)
model.profile(imgsz=640)

Este método genera una tabla resumen que incluye el número de parámetros, gradientes y GFLOPs (GigaFLOPs, o miles de millones de operaciones). miles de millones de operaciones), ayudándole a evaluar si el modelo se ajusta a sus restricciones de despliegue.

FLOPs vs. Métricas Relacionadas

Es importante distinguir los FLOPs de otras métricas que describen el tamaño y la velocidad del modelo, ya que miden diferentes aspectos del rendimiento. aspectos del rendimiento.

  • Parámetros frente a FLOPs: Los pesos del modelo, o parámetros, definen cuánta memoria (RAM) se necesita para almacenar el modelo. En cambio, los FLOPs miden el trabajo computacional necesario para ejecutarlo. A modelo puede ser pequeño en almacenamiento pero costoso desde el punto de vista computacional si reutiliza los parámetros con frecuencia, como ocurre en las redes neuronales recurrentes (RNN). redes neuronales recurrentes (RNN).
  • MACs vs. FLOPs: Las especificaciones de hardware suelen hacer referencia a Operaciones de multiplicación-acumulación (MAC). Una MAC suele implicar una multiplicación seguida de una suma, lo que equivale a dos operaciones en coma flotante. Por tanto, 1 GigaMAC equivale aproximadamente a 2 GFLOPs.
  • Latencia frente a FLOPs: Mientras que los FLOPs representan el esfuerzo teórico la latencia de inferencia es el tiempo real (en milisegundos) que se tarda en procesar una entrada. La latencia está influida por los FLOPs, pero también por el ancho de banda de la memoria, las bibliotecas de optimización del software, como las de los FLOPs. bibliotecas de optimización de software como TensorRTy la arquitectura hardware.

Limitaciones de la métrica

Aunque los FLOP proporcionan una referencia útil, no cuentan toda la historia del rendimiento del modelo. No tienen en cuenta los costes de acceso a la memoria (la energía y el tiempo necesarios para trasladar los datos al procesador), que suele ser el cuello de botella de los sistemas modernos de aprendizaje profundo. modernos de aprendizaje profundo. Además, las operaciones como las funciones de activación (por ejemplo, ReLU) o las capas de normalización tienen un recuento de FLOP bajo, pero aún así consumen tiempo. Por lo tanto, los FLOP deben utilizarse junto con en el mundo real en hardware de destino, como una Raspberry Pi, para obtener una imagen precisa del rendimiento.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora