Glosario

FLOPs

Conozca los FLOP en el aprendizaje automático. Descubra cómo mide la complejidad del modelo, influye en la eficiencia y ayuda a seleccionar el hardware.

Las FLOP (Floating-Point Operations, operaciones de coma flotante) son una métrica fundamental utilizada en el aprendizaje automático (Machine Learning, ML) para medir la complejidad computacional de un modelo. Una operación en coma flotante es cualquier cálculo matemático -como sumas, restas, multiplicaciones o divisiones- en el que intervienen números con decimales, que son habituales en las redes neuronales. Aunque técnicamente el término puede referirse a operaciones por segundo, en el contexto del aprendizaje profundo, las FLOP suelen cuantificar el número total de estas operaciones necesarias para una sola pasada de avance de un modelo. Esta métrica proporciona una forma independiente del hardware de estimar la intensidad computacional de un modelo durante la inferencia. Las cifras suelen ser tan grandes que se expresan en GigaFLOPs (GFLOPs), que son miles de millones de operaciones, o TeraFLOPs (TFLOPs), billones de operaciones.

¿Por qué son importantes los FLOP en el aprendizaje automático?

Los FLOP son un indicador crítico de la eficiencia de un modelo. Un recuento de FLOP más bajo suele indicar que un modelo será más rápido y requerirá menos potencia de cálculo para ejecutarse. Esto es especialmente importante para aplicaciones en las que los recursos son limitados, como en la IA periférica y en los dispositivos móviles. Al analizar los FLOP, los desarrolladores pueden:

  • Comparación de arquitecturas de modelos: Al elegir entre diferentes modelos, como los que se encuentran en nuestras páginas de comparación de modelos, los FLOP ofrecen una forma estandarizada de evaluar la eficiencia computacional junto con la precisión.
  • Optimización para el despliegue: Para la implementación de modelos en hardware como Raspberry Pi o NVIDIA Jetson, seleccionar un modelo con un recuento de FLOP adecuado es esencial para alcanzar los niveles de rendimiento deseados.
  • Diseño de modelos guía: Los investigadores que desarrollan nuevas arquitecturas, como las de la serie Ultralytics YOLO, suelen considerar la minimización de FLOPs como una restricción clave del diseño. Las técnicas exploradas en modelos como EfficientNet se centran en reducir el coste computacional sin sacrificar el rendimiento.

Aplicaciones reales

Los FLOP son una métrica práctica que se utiliza a diario en el desarrollo y la implantación de soluciones de IA.

  1. Aplicaciones de visión para móviles: Un desarrollador que crea una función de detección de objetos en tiempo real para una aplicación de smartphone debe elegir un modelo que pueda ejecutarse rápidamente sin agotar la batería. Comparando los FLOP de modelos ligeros como una pequeña variante de Ultralytics YOLO11 con otros, pueden seleccionar un modelo que ofrezca un buen equilibrio entre velocidad y precisión para la CPU o GPU del dispositivo.

  2. Vehículos autónomos: En la conducción autónoma, los modelos de percepción deben procesar las imágenes de las cámaras con una latencia extremadamente baja. Los ingenieros que diseñan estos sistemas analizan los FLOPs de varios modelos para asegurarse de que la arquitectura elegida puede funcionar en el hardware especializado del vehículo. Se puede elegir un modelo como YOLO11 en lugar de otro más complejo si sus FLOP más bajos le permiten cumplir los estrictos requisitos de temporización para un funcionamiento seguro.

FLOPs frente a métricas relacionadas

Es importante distinguir los FLOPs de otras métricas comunes:

  • Parámetros frente a FLOPs: El número de pesos del modelo (parámetros) indica el tamaño de un modelo en términos de almacenamiento en memoria. Los FLOPs, en cambio, miden el trabajo computacional. Un modelo puede tener un número reducido de parámetros pero un número elevado de FLOP si esos parámetros se reutilizan muchas veces en operaciones de cálculo intensivo.
  • MACs vs. FLOPs: Las MAC, u operaciones de multiplicación-acumulación, son una operación habitual en las redes neuronales. Una sola MAC suele considerarse equivalente a dos FLOP (una multiplicación y una suma). Algunos trabajos de investigación y marcos de trabajo pueden informar del coste computacional en MACs, que es aproximadamente la mitad del valor de los FLOPs. Puede ver esta distinción en recursos como Papers with Code.
  • Latencia frente a FLOPs: La latencia de inferencia es el tiempo real que tarda un modelo en realizar una predicción. Aunque los FLOPs proporcionan una buena estimación teórica, la latencia en el mundo real está influenciada por factores que los FLOPs no capturan, como el ancho de banda de la memoria, el paralelismo del hardware y la eficiencia de bibliotecas de software como PyTorch.

Limitaciones

Aunque útiles, los FLOP tienen limitaciones:

  • No tienen en cuenta los costes de acceso a la memoria, que pueden suponer un importante cuello de botella.
  • No captan el grado de paralelismo posible en las operaciones.
  • El rendimiento real depende en gran medida de las optimizaciones específicas del hardware y de la eficiencia de las bibliotecas de software subyacentes(cuDNN, Intel MKL).
  • Algunas operaciones (por ejemplo, funciones de activación como ReLU) tienen un bajo número de FLOP, pero aún así pueden afectar a la latencia.

Por lo tanto, los FLOP deben considerarse junto con otras métricas de rendimiento, parámetros y puntos de referencia del mundo real para obtener una imagen completa de la eficiencia del modelo. Herramientas como Ultralytics HUB pueden ayudar a gestionar los modelos y realizar un seguimiento de diversos aspectos del rendimiento durante el desarrollo y la implantación.

Únase a la comunidad Ultralytics

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

Únete ahora
Enlace copiado en el portapapeles